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

استعلام اطلاعات دقیق درباره آدرس IP، شامل موقعیت جغرافیایی، ISP، ASN و موارد دیگر.

تنظیمات استعلام

نتیجه استعلام

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

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

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

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

موارد کاربرد

نظارت امنیتی

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

عیب‌یابی شبکه

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

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

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

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

جغرافیایی IP چقدر دقیق است؟

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

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

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

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

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

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

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

آدرس IP چیست؟

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

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

IPv4 (۱۹۸۱)

فرمت: چهار عدد اعشاری جدا شده با نقطه (مثلاً 192.168.1.1)

کل: تقریباً ۴.۳ میلیارد آدرس (۲³² = ۴٬۲۹۴٬۹۶۷٬۲۹۶)

مشکل: آدرس‌ها تقریباً تمام شده‌اند؛ تا سال ۲۰۱۱ کاملاً تخصیص داده شدند

طول: ۳۲ بیتی

IPv6 (۱۹۹۸)

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

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

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

طول: ۱۲۸ بیتی

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

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

محدوده‌های آدرس IP ویژه

آدرس Loopback

127.0.0.0/8 (127.0.0.1 – 127.255.255.255)

برای تست محلی استفاده می‌شود؛ داده‌ها هرگز از ماشین خارج نمی‌شوند. معمولاً 127.0.0.1 نمایانگر localhost است

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

آدرس‌های خصوصی

  • 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 در دسترس نیست، تخصیص داده می‌شود

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

آدرس چندپخشی

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

سریع‌ترین و قابل‌اعتمادترین در سطح جهانی، از 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 منطقه آسیا

  • Alibaba Cloud DNS (چین): 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 پویا تغییر می‌کنند (توسط ISPها بازتخصیص داده می‌شوند)
  • • سرورهای VPN/پروکسی (مکان سرور پروکسی را نمایش می‌دهند)
  • • گره‌های CDN (مکان نزدیک‌ترین سرور CDN را نمایش می‌دهند)
  • • شبکه‌های موبایل (مکان برج‌های سلولی ممکن است دقیق نباشد)

📊 نرخ پذیرش IPv6

تا سال 2024، پذیرش جهانی IPv6 حدود 40% است و هند، ایالات متحده و آلمان در رأس آن قرار دارند. چین حدود 30% را به خود اختصاص داده است. بلژیک بالاترین نرخ پذیرش IPv6 در سراسر جهان را دارد و از 60% فراتر رفته است.

🎂 اولین آدرس IP

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

🗑️ تخصیص ناکارآمد IP

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

🚫 لیست سیاه IP

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

🤯 موارد عجیب ژئولوکیشن IP

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

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

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

🤦 محاسبه اشتباه طراحان IPv4

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

🏠 راز 127.0.0.1

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

⏰ خط زمانی تمام شدن آدرس‌های IPv4

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

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

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

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

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

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

مزایا

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

معایب

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

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

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

IP-API.com

استفاده شده توسط این ابزار ⭐

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

IPapi.co

استفاده شده توسط این ابزار ⭐

API پشتیبان برای این ابزار. جزئیات اضافی مانند ارز، زبان و نوع اتصال را ارائه می‌دهد. سطح رایگان به ۳۰,۰۰۰ درخواست در ماه اجازه می‌دهد.

IPInfo.io

داده‌های دقیق، API سازگار با توسعه‌دهندگان

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

IPGeolocation.io

دارای قابلیت‌های متعدد

موقعیت جغرافیایی IP، منطقه زمانی، ارز، آب و هوا و موارد دیگر را ارائه می‌دهد. سطح رایگان به ۳۰,۰۰۰ درخواست در ماه اجازه می‌دهد.

MaxMind GeoIP2

دقیق‌ترین، سطح سازمانی

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

IPStack

تشخیص امنیتی

از IPv4 و IPv6 پشتیبانی می‌کند، با ماژول‌های امنیتی برای تشخیص پروکسی‌ها، VPNها و Tor. سطح رایگان به ۱۰۰ درخواست در ماه اجازه می‌دهد.

IPData.co

هوش تهدید

ارائه هوش تهدید، اطلاعات ASN و داده‌های شرکت. سطح رایگان اجازه ۱۵۰۰ درخواست در روز را می‌دهد.

Abstract API

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

یک API ساده و آسان برای استفاده از جغرافیایی IP. سطح رایگان اجازه ۱۰۰۰ درخواست در ماه با محدودیت ۱ درخواست در ثانیه را می‌دهد.

IPRegistry

دریافت ۱۰۰۰۰۰ درخواست رایگان هنگام ثبت نام

ارائه جغرافیایی IP، اطلاعات شرکت، تشخیص تهدید و حل پروکسی. برای دریافت ۱۰۰۰۰۰ درخواست رایگان ثبت نام کنید.

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 باشد (با ویرگول جدا شده); اولین آن IP واقعی کلاینت است.
  • • جاوا اسکریپت سمت مرورگر نمی‌تواند مستقیماً یک آدرس IP را به دست آورد - نیاز به فراخوانی یک API شخص ثالث دارد.