جستجوی اطلاعات IP

جستجوی اطلاعات دقیق مانند موقعیت جغرافیایی، ISP و ASN آدرس IP

تنظیمات جستجو

نتیجه جستجو

لطفاً آدرس IP را وارد کنید یا روی «تشخیص IP من» کلیک کنید تا جستجو شروع شود

حریم خصوصی و امنیت

هنگام استفاده از این ابزار برای جستجوی اطلاعات IP، لطفاً نکات زیر را در نظر بگیرید:

  • ℹ️ درخواست‌های جستجو به APIهای شخص ثالث ارسال می‌شوند؛ ما تاریخچه جستجوی شما را ذخیره نمی‌کنیم
  • ℹ️ اطلاعات جغرافیایی IP معمولاً تا سطح شهر دقیق است و نمی‌تواند به آدرس دقیق شما برسد
  • ℹ️ اکثر اینترنت خانگی از آدرس IP پویا استفاده می‌کنند و آدرس IP شما به طور منظم تغییر می‌کند
  • ℹ️ اگر از VPN یا پراکسی استفاده می‌کنید، نتایج جستجو اطلاعات سرور پراکسی را نمایش خواهد داد

سناریوهای استفاده

بررسی امنیتی

بررسی منابع آدرس‌های IP مشکوک در لاگ‌های دسترسی برای شناسایی تهدیدهای امنیتی بالقوه.

رفع اشکال شبکه

تشخیص مشکلات اتصال شبکه و تأیید موقعیت جغرافیایی سرور یا گره CDN.

موقعیت‌یابی جغرافیایی

ارائه محتوای محلی، زبان یا خدمات بر اساس آدرس IP کاربر (مانند توزیع CDN).

سوالات متداول

موقعیت‌یابی آدرس IP دقیق است؟

موقعیت جغرافیایی IP معمولاً تا سطح شهر دقیق است و خطا ممکن است بین ده‌ها تا صدها کیلومتر باشد. نمی‌توان با آدرس IP به خیابان یا شماره درب دقیق پی برد.

چرا آدرس IP من تغییر می‌کند؟

اکثر اتصالات خانگی از تخصیص پویای IP (DHCP) استفاده می‌کنند و اپراتورها به طور دوره‌ای آدرس IP شما را تغییر می‌دهند. شرکت‌ها یا سرورها معمولاً از IP ثابت (استاتیک) استفاده می‌کنند.

چگونه می‌توانم آدرس IP واقعی خود را مخفی کنم؟

می‌توانید از VPN، سرور پراکسی یا شبکه Tor برای مخفی کردن آدرس IP واقعی خود استفاده کنید. اما توجه داشته باشید که این خدمات ممکن است سرعت اینترنت و دسترسی به برخی وب‌سایت‌ها را تحت تأثیر قرار دهند.

چرا دو آدرس IP دارم؟

احتمالاً هم آدرس IPv4 و هم IPv6 دارید. شبکه‌های مدرن در حال انتقال از IPv4 به IPv6 هستند و بسیاری از دستگاه‌ها هر دو پروتکل را پشتیبانی می‌کنند.

آدرس IP چیست؟

آدرس IP (Internet Protocol) یک شناسه منحصربه‌فرد برای دستگاه‌های متصل به اینترنت است، مانند شماره خانه در دنیای واقعی. هر دستگاهی که به اینترنت متصل است، دارای یک آدرس IP است که برای موقعیت‌یابی و ارتباط در شبکه استفاده می‌شود.

IPv4 در برابر IPv6: چرا به IPv6 نیاز داریم؟

IPv4 (1981)

فرمت: چهار عدد اعشاری (مانند 192.168.1.1)

تعداد کل: حدود 4.3 میلیارد آدرس (2³² = 4,294,967,296)

مشکل: آدرس‌ها تقریباً تمام شده‌اند و در سال 2011 به طور کامل اختصاص داده شدند

طول: 32 بیت

IPv6 (1998)

فرمت: 8 گروه عدد هگزادسیمال (مانند 2001:0db8::1)

تعداد کل: حدود ۳۴۰ تریلیون تریلیون تریلیون آدرس (۲¹²⁸)

مزیت: تعداد آدرس‌ها تقریباً نامحدود است و به اندازه کافی برای تخصیص به هر دانه شن روی زمین کافی است

طول: ۱۲۸ بیت

چرا IPv4 کافی نیست؟

  • • جمعیت جهانی ۸ میلیارد نفر است و هر فرد حداقل ۲ تا ۳ دستگاه دارد (تلفن همراه، کامپیوتر، تبلت)
  • • رشد انفجاری دستگاه‌های اینترنت اشیا (خانه هوشمند، خودرو، دستگاه‌های پوشیدنی)
  • • شرکت‌ها و مراکز داده به تعداد زیادی آدرس IP نیاز دارند
  • • توزیع نامناسب در گذشته (مثلاً MIT ۱۶ میلیون آدرس IP دارد)

دامنه‌های آدرس‌های ویژه

آدرس حلقه بازگشتی (Loopback)

127.0.0.0/8 (127.0.0.1 - 127.255.255.255)

برای آزمون محلی استفاده می‌شود، داده‌ها به شبکه ارسال نمی‌شوند؛ معمولاً 127.0.0.1 برای نمایش localhost استفاده می‌شود

کاربرد: آزمون سرویس‌های محلی، توسعه و رفع اشکال

آدرس‌های خصوصی (Private)

  • 10.0.0.0/8 (10.0.0.0 - 10.255.255.255) - کلاس A
  • 172.16.0.0/12 (172.16.0.0 - 172.31.255.255) - کلاس B
  • 192.168.0.0/16 (192.168.0.0 - 192.168.255.255) - کلاس C

برای استفاده در شبکه‌های محلی استفاده می‌شوند و نمی‌توانند مستقیماً به اینترنت دسترسی داشته باشند؛ نیاز به تبدیل NAT دارند

کاربرد: شبکه‌های خانگی و شبکه‌های سازمانی

آدرس‌های APIPA

169.254.0.0/16

آدرس موقتی که سیستم به صورت خودکار تخصیص می‌دهد زمانی که سرور DHCP در دسترس نیست

کاربرد: پیکربندی خودکار (نشان‌دهنده شکست پیکربندی شبکه)

آدرس‌های گروهی (Multicast)

224.0.0.0/4 (224.0.0.0 - 239.255.255.255)

برای ارتباط یک به چند استفاده می‌شود، مانند پخش زنده ویدیو و IPTV

آدرس‌های رزرو شده

  • 0.0.0.0/8 - نمایانگر "شبکه فعلی"
  • 255.255.255.255 - آدرس پخش
  • 192.0.2.0/24 - صرفاً برای مثال‌های مستندات
  • 198.18.0.0/15 - صرفاً برای تست‌های مرجع

سرورهای DNS عمومی برتر

Google DNS

8.8.8.8 / 8.8.4.4

2001:4860:4860::8888 / 2001:4860:4860::8844

سریع‌ترین و پایدارترین DNS جهانی، پشتیبانی از DNSSEC

Cloudflare DNS

1.1.1.1 / 1.0.0.1

2606:4700:4700::1111 / 2606:4700:4700::1001

تمرکز بر حریم خصوصی، بسیار سریع و بدون ثبت لاگ

Quad9 DNS

9.9.9.9 / 149.112.112.112

حفاظت از امنیت، مسدود کردن وب‌سایت‌های خطرناک

OpenDNS

208.67.222.222 / 208.67.220.220

کنترل والدین، فیلترینگ محتوا

DNS منطقه آسیا

  • DNS Aliyun (چین): 223.5.5.5 / 223.6.6.6
  • DNSPod (چین): 119.29.29.29
  • 114 DNS (چین): 114.114.114.114

اطلاعات جالب درباره IP

💰 بازه‌های IP گران‌ترین

بازه 1.0.0.0/8 توسط APNIC با چندین میلیون دلار خریداری شد تا برای تحقیقات استفاده شود. برخی آدرس‌های IP «زیبا» (مانند 8.8.8.8 و 1.1.1.1) ارزش بسیار بالایی دارند؛ Cloudflare هزینه‌های سنگینی را برای خرید 1.1.1.1 از شرکت‌های ارائه‌دهنده ارتباطات پرداخت کرد.

📍 چرا یک IP یکسان مکان‌های مختلفی را نشان می‌دهد؟

  • • پایگاه‌های داده موقعیت‌یابی IP متفاوت هستند (منابع داده هر API متفاوت است)
  • • آدرس‌های IP پویا تغییر می‌کنند (ارائه‌دهنده خدمات بازتخصیص می‌کند)
  • • VPN/پراکسی‌ها (موقعیت سرور پراکسی را نشان می‌دهند)
  • • گره‌های CDN (موقعیت نزدیک‌ترین سرور CDN را نشان می‌دهند)
  • • شبکه‌های بی‌سیم (موقعیت ایستگاه پایه ممکن است نادرست باشد)

📊 میزان پذیرش IPv6

تا سال 2024، میزان پذیرش جهانی IPv6 حدود 40٪ است؛ هند، ایالات متحده و آلمان پیشرو هستند و چین حدود 30٪ است. بلژیک پیشرو جهانی در میزان پذیرش IPv6 است و بیش از 60٪ را دارد.

🎂 اولین آدرس IP

در 1 ژانویه 1983، اینترنت رسمًا از پروتکل TCP/IP استفاده کرد و اولین آدرس IP به وجود آمد. لئونارد کلاینراک از BBN Technologies به عنوان اولین کسی که از آدرس IP استفاده کرد، شناخته می‌شود.

🗑️ تخصیص نامناسب آدرس‌های IP

در ابتدای اینترنت، تخصیص آدرس IP بسیار سخاوتمندانه بود: MIT (یک دانشگاه) 16 میلیون آدرس IP (کل بازه 18.0.0.0/8) داشت و شرکت اپل نیز 16 میلیون آدرس IP (17.0.0.0/8) را در اختیار داشت. در مقابل، کل چین تنها حدود 330 میلیون آدرس IP دریافت کرد که باید برای نزدیک به یک میلیارد کاربر اینترنتی کافی باشد — با فرض 2 دستگاه در هر کاربر، حداقل به 2 میلیارد آدرس IP نیاز دارد. این نابرابری در تخصیص باعث شد چین به شدت از فناوری NAT برای به اشتراک گذاشتن آدرس‌های IP استفاده کند.

🚫 فهرست سیاه IP

در سراسر جهان، پایگاه‌های متعددی از لیست‌های سیاه IP وجود دارند (مانند Spamhaus) که برای علامت‌گذاری IPهای منبع ایمیل‌های اسپم، نرم‌افزارهای مخرب و حملات DDoS استفاده می‌شوند. هنگامی که یک IP در لیست سیاه قرار می‌گیرد، ممکن است ایمیل‌ها رد شوند یا وب‌سایت‌ها بلاک شوند.

🤯 مورد عجیب موقعیت‌یابی IP

خانواده‌ای معمولی در ایالت کانزاس، ایالات متحده، به دلیل اینکه پایگاه داده‌های IP شرکت MaxMind آنها را به عنوان موقعیت پیش‌فرض (مختصات 38°N 97°W، مرکز جغرافیایی ایالات متحده) تنظیم کرده بود، باعث شد میلیون‌ها IP غیرقابل تعیین دقیق به این مکان اشاره کنند. این خانواده به طور ناخواسته به "مرکز هکری تمام ایالات متحده" تبدیل شدند و میلیون‌ها تماس تلفنی و بازدیدهای ناگهانی از سوی FBI، پلیس، طلبکاران و قربانیان کلاهبرداری دریافت کردند، حتی کسی در نیمه‌شب وارد خانه آنها شد. در سال 2016، این خانواده MaxMind را به دادگاه کشاندند و در نهایت جبران خسارت دریافت کردند.

💸 IPهای IPv4 قابل خرید و فروش هستند

به دلیل نفوسیدن آدرس‌های IPv4، آدرس‌های IP به کالای قابل معامله تبدیل شده‌اند. قیمت بازار سیاه می‌تواند تا 40 دلار در هر آدرس برسد. در سال 2011، مایکروسافت 666,000 آدرس IP را از شرکت ورشکسته Nortel به قیمت 7.5 میلیون دلار خرید، که به میانگین حدود 11.25 دلار در هر آدرس می‌رسد. در سال 2014، شرکت‌های فناوری بزرگی مانند آمازون و مایکروسافت به شدت در حال خرید آدرس‌های IPv4 بودند و قیمت‌ها به شدت افزایش یافت.

🤦 "اشتباه" طراحان IPv4

در سال 1981، طراحان IPv4 فکر می‌کردند که «4.2 میلیارد آدرس، برای تمام عمر انسان کافی است». آنها کاملاً نمی‌دانستند که اینترنت به این اندازه رشد خواهد کرد: 8 میلیارد نفر در جهان، هر کدام حداقل 2-3 دستگاه، همراه با رشد انفجاری دستگاه‌های اینترنت اشیا. اگر در آن زمان طراحی 64 بیتی یا 128 بیتی انجام می‌شد، این مشکل نفوسیدن آدرس امروز وجود نداشت.

🏠 راز 127.0.0.1

127.0.0.1 (localhost) فقط یک آدرس نیست، بلکه کل محدوده 127.0.0.0/8 (حدود 16 میلیون آدرس) آدرس‌های حلقه‌ای هستند. شما می‌توانید به هر آدرسی مانند 127.0.0.2 یا 127.1.2.3 پینگ بزنید و همه به خود دستگاه شما اشاره خواهند کرد.

⏰ زمان‌بندی نفوسیدن آدرس‌های IPv4

در 3 فوریه 2011، IANA آخرین بلوک‌های آدرس IPv4 را توزیع کرد. در 15 آوریل 2011، منطقه آسیا و اقیانوسیه (APNIC) نفوسید. در سپتامبر 2012، اروپا (RIPE NCC) نفوسید. در سپتامبر 2015، آمریکای شمالی (ARIN) نفوسید.

📏 طولانی‌ترین آدرس IP

آدرس IPv6 می‌تواند تا ۳۹ کاراکتر طول بکشد (۸ گروه، هر کدام ۴ رقم شانزده‌تایی و ۷ دو نقطه). اما با استفاده از قوانین کوتاه‌سازی، می‌توان آن را به شدت کاهش داد؛ مثلاً ::1 نشان‌دهنده آدرس حلقه بازگشتی IPv6 است.

🚀 آدرس IP به سرعت اینترنت مرتبط نیست

بسیاری فکر می‌کنند که تغییر آدرس IP می‌تواند سرعت اینترنت شما را افزایش دهد، اما در واقعیت آدرس IP فقط یک «شماره خانه» در شبکه است. سرعت اینترنت به پهنای باند، مسیریابی، سرورها و عوامل دیگر بستگی دارد و به خود آدرس IP مرتبط نیست.

ویژگی‌ها و مزایا و معایب IPv6

مزایا

  • فضای آدرس بسیار بزرگ: ۲¹²⁸ آدرس، تقریباً بی‌نهایت
  • مسیریابی ساده‌تر: ساختار آدرس سلسله‌مراتبی، جداول مسیریابی کوچک‌تر
  • پیکربندی خودکار: پشتیبانی از SLAAC، نیازی به DHCP نیست
  • امنیت بهتر: پشتیبانی داخلی از IPsec
  • کیفیت سرویس بهتر: فیلد برچسب جریان، بهینه‌سازی برای کاربردهای بلادرنگ
  • نیازی به NAT نیست: هر دستگاه دارای آدرس عمومی خود است
  • پشتیبانی از تحرک: بهبود پشتیبانی از دستگاه‌های موبایل

معایب

  • مشکلات سازگاری: نیاز به پشتیبانی از دستگاه‌ها و شبکه‌ها
  • هزینه یادگیری: فرمت آدرس پیچیده و دشوار برای به خاطر سپردن
  • هزینه انتقال: نیاز به به‌روزرسانی دستگاه‌ها و نرم‌افزارها
  • اجرای دوپشته: در دوره انتقال، نیاز به پشتیبانی همزمان از IPv4 و IPv6 است

سرویس‌های مرتبط جستجوی اطلاعات IP

این ابزار از APIهای زیر برای ارائه خدمات استفاده می‌کند و سرویس‌های عالی دیگر جستجوی IP را توصیه می‌کند:

IP-API.com

این ابزار از ⭐ استفاده می‌کند

این ابزار از این API استفاده می‌کند. کاملاً رایگان (برای استفاده غیرتجاری)، پشتیبانی از جستجوی انبوه و ارائه فرمت‌های JSON/XML/CSV. محدودیت: 45 درخواست در دقیقه.

IPapi.co

این ابزار از ⭐ استفاده می‌کند

این API جایگزین این ابزار است. اطلاعات اضافی مانند ارز، زبان و نوع اتصال را ارائه می‌دهد. نسخه رایگان: 30,000 درخواست در ماه.

IPInfo.io

داده‌های دقیق و API کاربرپسند

اطلاعات دقیق IP، داده‌های ASN، موقعیت جغرافیایی، اطلاعات شرکت و غیره را ارائه می‌دهد. برنامه رایگان (Free Plan) موجود است.

IPGeolocation.io

امکانات غنی

اطلاعات موقعیت جغرافیایی IP، منطقه زمانی، ارز و آب و هوا را ارائه می‌دهد. نسخه رایگان: 30,000 درخواست در ماه.

MaxMind GeoIP2

دقیق‌ترین، مناسب کسب‌وکارها

پایگاه داده استاندارد صنعتی برای موقعیت‌یابی IP با دقت بالا. پایگاه داده آفلاین و API آنلاین را ارائه می‌دهد.

IPStack

تشخیص امنیتی

پشتیبانی از IPv4 و IPv6، و ماژول امنیتی (تشخیص پراکسی، VPN، Tor). نسخه رایگان: 100 درخواست در ماه.

IPData.co

اطلاعات تهدید

اطلاعات امنیتی تهدید، داده‌های ASN و اطلاعات شرکت را ارائه می‌دهد. نسخه رایگان: 1,500 درخواست در روز.

Abstract API

ساده و کاربرپسند

API ساده و کاربرپسند برای موقعیت‌یابی IP. نسخه رایگان: 1,000 درخواست در ماه، محدودیت 1 درخواست در ثانیه.

IPRegistry

ثبت‌نام و دریافت 100,000 درخواست رایگان

موقعیت جغرافیایی IP، اطلاعات شرکت، تشخیص تهدید و تحلیل پراکسی کاربر را ارائه می‌دهد. پس از ثبت‌نام، 100,000 درخواست رایگان به شما تعلق می‌گیرد.

DB-IP

پایگاه داده متن باز

ارائه دانلود رایگان پایگاه داده موقعیت جغرافیایی IP، همچنین سرویس جستجوی آنلاین.

IPify

دریافت آدرس IP عمومی

تمرکز بر دریافت آدرس IP عمومی، ساده و سریع، کاملاً رایگان.

چگونه می‌توانم آدرس IP را از طریق برنامه‌نویسی دریافت کنم؟

در زیر نمونه‌های کد برای دریافت آدرس IP کاربر در زبان‌های برنامه‌نویسی مختلف آورده شده است:

Java (Spring Boot)

import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;

@RestController
public class IpController {
    
    @GetMapping('/ip')
    public String getClientIp(HttpServletRequest request) {
        String ip = request.getHeader("CF-Connecting-IP");
        
        if (ip == null || ip.isEmpty()) {
            ip = request.getHeader("X-Forwarded-For");
            if (ip != null) {
                ip = ip.split(",")[0];
            }
        }
        
        if (ip == null || ip.isEmpty()) {
            ip = request.getHeader("X-Real-IP");
        }
        
        if (ip == null || ip.isEmpty()) {
            ip = request.getRemoteAddr();
        }
        
        return ip;
    }
}

PHP

function getClientIp() {
    $ipKeys = [
        'HTTP_CF_CONNECTING_IP',
        'HTTP_X_FORWARDED_FOR',
        'HTTP_X_REAL_IP',
        'REMOTE_ADDR'
    ];
    
    foreach ($ipKeys as $key) {
        if (!empty($_SERVER[$key])) {
            $ips = explode(',', $_SERVER[$key]);
            return trim($ips[0]);
        }
    }
    
    return $_SERVER['REMOTE_ADDR'] ?? 'Unknown';
}

$ip = getClientIp();
echo "Your IP: " . $ip;

JavaScript (Node.js)

const express = require('express');
const app = express();

app.get('/ip', (req, res) => {
    const ip = req.headers['cf-connecting-ip'] ||
                req.headers['x-forwarded-for']?.split(',')[0] || 
                req.headers['x-real-ip'] || 
                req.socket.remoteAddress;
    
    res.json({ ip: ip });
});

app.listen(3000);

Python (Flask)

from flask import Flask, request

app = Flask(__name__)

@app.route('/ip')
def get_ip():
    ip = request.headers.get('CF-Connecting-IP') or \
         request.headers.get('X-Forwarded-For', '').split(',')[0] or \
         request.headers.get('X-Real-IP') or \
         request.remote_addr
    
    return {'ip': ip}

if __name__ == '__main__':
    app.run()

Rust

use actix_web::{web, App, HttpRequest, HttpServer, Responder};

fn get_client_ip(req: &HttpRequest) -> String {
    if let Some(ip) = req.headers().get("CF-Connecting-IP") {
        return ip.to_str().unwrap_or("").to_string();
    }
    
    if let Some(forwarded) = req.headers().get("X-Forwarded-For") {
        if let Ok(forwarded_str) = forwarded.to_str() {
            if let Some(first_ip) = forwarded_str.split(',').next() {
                return first_ip.trim().to_string();
            }
        }
    }
    
    if let Some(ip) = req.headers().get("X-Real-IP") {
        return ip.to_str().unwrap_or("").to_string();
    }
    
    req.peer_addr()
        .map(|addr| addr.ip().to_string())
        .unwrap_or_else(|| "Unknown".to_string())
}

async fn ip_handler(req: HttpRequest) -> impl Responder {
    let ip = get_client_ip(&req);
    format!("Your IP: {}", ip)
}

#[actix_web::main]
async fn main() -> std::io::Result<()> {
    HttpServer::new(|| {
        App::new().route("/ip", web::get().to(ip_handler))
    })
    .bind("127.0.0.1:8080")?
    .run()
    .await
}

Go

package main

import (
    "net/http"
    "strings"
)

func getClientIP(r *http.Request) string {
    if ip := r.Header.Get("CF-Connecting-IP"); ip != "" {
        return ip
    }
    
    if forwarded := r.Header.Get("X-Forwarded-For"); forwarded != "" {
        ips := strings.Split(forwarded, ",")
        return strings.TrimSpace(ips[0])
    }
    
    if ip := r.Header.Get("X-Real-IP"); ip != "" {
        return ip
    }
    
    return r.RemoteAddr
}

func handler(w http.ResponseWriter, r *http.Request) {
    ip := getClientIP(r)
    w.Write([]byte("Your IP: " + ip))
}

func main() {
    http.HandleFunc("/ip", handler)
    http.ListenAndServe(":8080", nil)
}

注意事项:

  • • توجه: اگر وب‌سایت از CDN (مانند Cloudflare) یا پراکسی معکوس (مانند Nginx) استفاده می‌کند، باید آدرس IP واقعی را از سرآیند HTTP خاصی دریافت کنید.
  • • اولویت: CF-Connecting-IP > X-Forwarded-For > X-Real-IP > RemoteAddr
  • • X-Forwarded-For ممکن است شامل چندین آدرس IP باشد (با کاما جدا شده)، اولین آدرس، آدرس واقعی کاربر است.
  • • JavaScript در مرورگر نمی‌تواند مستقیماً آدرس IP را دریافت کند؛ برای این کار باید از APIهای شخص ثالث استفاده کنید.