قائمة كاملة بحقول بيانات IP التي تحتاج إلى معرفتها
كل حقل بيانات IP في استجابة GeoIPHub الحية: 103 حقول في 10 مجموعات، لكل منها نوعه ومثال بقيمة حقيقية، مع تحديد واضح للحقول الـ 11 الاحتياطية.

اسأل "ما البيانات التي يمكن الحصول عليها من عنوان IP؟" فتتوقف معظم الإجابات عند "موقع تقريبي". وهذا أصغر جزء من صورة استخبارات IP. فالعنوان نفسه يخبرك أيضًا أي شبكة تملكه، وهل هو خط منزلي أم خادم مؤجَّر، وهل هو VPN أو مخرج Tor أو مرحِّل خصوصية، وهل أدرجته قائمة حجب، وهل هو زاحف موثَّق. ولمعرفة كيف تُبنى حقول الاكتشاف، راجع كيف يعمل اكتشاف VPN والبروكسي.
تغيّر هذا المرجع كثيرًا منذ نسخة يوليو. فقد اكتسبت الواجهة ثلاثة حقول، وفاتنا حقلان في جداولنا، وانتقلت درجة عقدة خروج Tor من 79 إلى 100، وتعيد عدة حقول قيمًا وصفتها جداول يوليو وصفًا خاطئًا. وكل مثال أدناه من GET api.geoiphub.com/v1/lookup/{ip} في 22 أكتوبر 2026، ويمكنك إعادة إنتاج أي منها بأداة استعلام IP المجانية.

عدَدنا 103 حقول في سبع استجابات حية في 22 أكتوبر 2026
سحبنا سبع استجابات في 22 أكتوبر 2026 بين 04:56 و04:57 بالتوقيت العالمي وعدَدنا 103 حقول في 10 مجموعات. خمسة حقول جديدة في هذه القائمة منذ يوليو، و11 احتياطية. وكانت العناوين السبعة بنية تحتية عامة، اخترناها لتضيء مجموعات مختلفة:
| IP | ما هو | الحكم في 22 أكتوبر 2026 |
|---|---|---|
| 185.220.101.1 | مخرج Tor، TORSERVERS-NET، هامبورغ | 100, block |
| 185.213.155.73 | خادم Mullvad VPN، فرانكفورت | 100, block |
| 66.249.66.1 | Googlebot | 0, allow |
| 104.28.46.99 | مخرج iCloud Private Relay على Cloudflare | 9, allow |
| 45.33.32.156 | scanme.nmap.org، خادم Linode | 10, allow |
| 8.8.8.8 | Google Public DNS (anycast) | 10, allow |
| 1.1.1.1 | Cloudflare DNS (anycast) | 10, allow |
مرّ سكربت Node صغير على كل استجابة وسرد كل حقل ورقي، مع عدّ geo.country_names حقلًا واحدًا لأنه خريطة ترجمات. وكانت الاستجابات السبع كلها تحمل المفاتيح الـ 103 نفسها بالضبط. وهكذا تتوزع:
| المجموعة | الحقول | الاحتياطية حاليًّا |
|---|---|---|
| ip | 1 | 0 |
| asn | 12 | 0 |
| geo | 15 | 0 |
| whois | 8 | 0 |
| network | 7 | 3 (open_ports, service, cloud_region) |
| detection | 23 | 0 |
| threat | 25 | 7 (blocklist_sources, crawler.spoofed, botnet.last_seen، وحقول honeypot الثلاثة، وspammer_last_seen) |
| dns | 3 | 0 |
| scoring | 4 | 0 |
| meta | 5 | 1 (sources) |
| الإجمالي | 103 | 11 |
خمسة حقول جديدة في هذه القائمة. أُضيفت ثلاثة إلى الواجهة في أكتوبر: detection.residential_proxy_status وresidential_proxy_evidence وresidential_proxy_last_seen. وهي الآن في مرجع حقول الواجهة، موسومة بأنها محجوزة. أما الحقلان الآخران، threat.crawler.unverified وthreat.spammer_last_seen، فكانا في الاستجابة منذ يوليو، وفاتا جداولنا القديمة ببساطة. ولم يُزَل أي حقل من قائمة يوليو.
أحد عشر حقلًا احتياطية. فحصنا مُنشئ الاستجابة في الواجهة: عشرة منها تُكتب بقيمة فارغة ثابتة ([] أو "none" أو 0) في كل استعلام، ولا مصدر بيانات خلف crawler.spoofed بعد. وثمانية حقول أخرى تحمل بيانات لكنها محجوزة، ولا نعرض قيمها: blocklist_count وptr_pattern في المجموعتين وحقول البروكسي السكني الخمسة. وتميّز الجداول أدناه النوعين.
كيف تتكامل المجموعات العشر في استعلام واحد لمخرج Tor
أسهل طريقة لفهم المجموعات أن تتبعها عبر عنوان واحد. وهذه الاستجابة الحقيقية لـ 185.220.101.1، مخرج Tor، مقتطعة إلى الحقول التي تروي قصته:
{
"ip": "185.220.101.1",
"asn": {
"asn": 60729,
"org": "TORSERVERS-NET - Stiftung Erneuerbare Freiheit",
"asn_type": "hosting",
"connection_type": "datacenter",
"rpki": "valid"
},
"geo": {
"country_code": "DE",
"city": "Hamburg (Hamburg-Nord)",
"timezone": "Europe/Berlin",
"geo_confidence": 0.8
},
"whois": {
"org": "none",
"netname": "ARTIKEL10",
"status": "ASSIGNED PA",
"registered": "2017-09-12T00:00:00.000Z"
},
"network": {
"ptr_record": "none",
"fcrdns_valid": "none",
"abuse_contact": "abuse@artikel10.org"
},
"detection": {
"is_vpn": false,
"is_tor": true,
"is_hosting": true,
"is_anonymous": true,
"anonymity_level": "high"
},
"threat": {
"is_spammer": true,
"threat_types": ["spammer", "tor"],
"dnsbl_sources": ["zen.spamhaus.org"]
},
"scoring": {
"fraud_score": 100,
"confidence": 0.7402500000000001,
"recommended_action": "block",
"detection_methods": ["tor_exit", "datacenter_blocklisted", "no_ptr_datacenter", "known_spammer"]
},
"meta": {
"last_classified_at": "2026-10-22T04:56:41.816Z",
"last_scanned": "2026-10-20T18:45:48.000Z",
"latency_ms": 2
}
}
تعزّز المجموعات بعضها بعضًا. يقول ASN استضافة، ويأتي detection.is_tor من قائمة المخارج لدى مشروع Tor، ويُظهر threat.dnsbl_sources إدراجًا في Spamhaus ZEN، وتجمع مجموعة التسجيل ذلك كله في block مع الطرق الأربع التي أُطلقت.
وتُظهر الاستجابة أيضًا فجوة واحدة. فقيمة ptr_record هي "none"، لذا أُطلق no_ptr_datacenter، ومع ذلك أعاد dig -x 185.220.101.1 حيًّا في الصباح نفسه اسم مضيف tor-exit. فيتأخر DNS العكسي المخزَّن في الواجهة عن السجل الحي لبعض العناوين. وهذه الفجوة أيضًا سبب عدم إطلاق rdns_tor، المعروض في نسخة يوليو من هذا المقال، بعد الآن. وهذا التحقق المتبادل بين المجموعات هو سبب حمل هذا العدد من الحقول. والآن كل مجموعة بدورها.
1. عنوان IP نفسه (ip)
يعيد الحقل ip العنوان الدقيق الذي حلّته الواجهة، سلسلةً نصية. استخدمه لتتأكد أنك استعلمت عما تقصده، خاصةً بعد تحليل ترويسة X-Forwarded-For، حيث يُعد اختيار القفزة الخاطئة خطأً كلاسيكيًّا. وهو أيضًا المفتاح الطبيعي لذاكرتك المؤقتة.
يُقبل IPv4 وIPv6 كلاهما. وإن لم تكن متأكدًا من عنوانك العام، فتُظهره أداة ما هو عنوان IP الخاص بي مع كل ما يستطيع موقع استنتاجه منه.
2. بيانات الشبكة وASN (asn)
تخبرك مجموعة asn أي شبكة تعلن العنوان، وهي من أوثق بيانات IP التي يمكنك الحصول عليها. فكل عنوان IP قابل للتوجيه ينتمي إلى نظام مستقل، وذلك يأتي من جدول التوجيه العالمي لا من تقدير.
| الحقل | النوع | ما يخبرك به | مثال (8.8.8.8) |
|---|---|---|---|
| asn | number | رقم النظام المستقل الذي يعلن عنوان IP | 15169 |
| org | string | المؤسسة التي تشغّل النظام المستقل | GOOGLE - Google LLC |
| asn_type | string | فئة الشبكة: isp, hosting, cdn, mobile, satellite, unknown | hosting |
| user_type | string | فئة الاستخدام، مثل hosting, residential, cellular, content_delivery_network | hosting |
| isp | string | اسم مزود الإنترنت (حاليًّا القيمة نفسها لـ org) | GOOGLE - Google LLC |
| domain | string | النطاق المرتبط بالشبكة | none |
| connection_type | string | datacenter, residential, mobile, satellite, unknown | datacenter |
| access_type | string | وسيط الوصول المقروء من علامات rDNS: fiber, cable, dsl, cellular, datacenter | datacenter |
| carrier | string | اسم مشغِّل الجوال، لعناوين IP الخلوية | none |
| mcc | string | رمز الدولة للجوال (Mobile Country Code)، لعناوين IP الخلوية | none |
| mnc | string | رمز شبكة الجوال (Mobile Network Code)، لعناوين IP الخلوية | none |
| rpki | string | التحقق من أصل المسار عبر RPKI: valid, invalid, unknown | valid |
تتحرك القيم مع العنوان. فقد عاد 1.1.1.1 بـ asn_type: "cdn" وuser_type: "content_delivery_network"، وعاد Googlebot بـ user_type: "search_engine_spider". وأعاد مخرج Private Relay القيم asn_type: "unknown" وconnection_type: "unknown" وuser_type: "consumer_privacy_network". وتغيّر شيء واحد منذ يوليو: يعيد 8.8.8.8 الآن rpki: "valid"، بينما ما زال نموذج وثائقنا يُظهر "invalid".
الحقل الذي ينبغي مراقبته هو connection_type. فعنوان مركز بيانات على تسجيل دخول استهلاكي يستحق نظرة ثانية. لكن الاستضافة وحدها ليست احتيالًا: 45.33.32.156 استضافة عادية ونال 10، أي allow. ويمكنك فحص أي عنوان بأداة فحص عنوان IP لمركز البيانات المجانية، وتغطي صفحة واجهة تحديد الموقع الجغرافي لعنوان IP نموذج ASN.
3. بيانات الموقع الجغرافي (geo)
تضع مجموعة geo العنوان على خريطة، وهي المجموعة الأكثر إفراطًا في الثقة بها. وتحمل الحقول الخمسة عشر كلها بيانات في كل استعلام أجريناه.
| الحقل | النوع | ما يخبرك به | مثال (1.1.1.1) |
|---|---|---|---|
| country_code | string | رمز الدولة بصيغة ISO 3166-1 alpha-2 | AU |
| country_name | string | اسم الدولة | Australia |
| country_names | object | أسماء الدولة المحلية مفهرسة برمز اللغة | { en, de, es, fr, ja, ... } |
| country_geoname_id | number | معرّف GeoNames للدولة | 2077456 |
| continent_code | string | رمز القارة من حرفين | OC |
| continent_name | string | اسم القارة | Oceania |
| continent_geoname_id | number | معرّف GeoNames للقارة | 6255151 |
| is_in_european_union | boolean | الدولة عضو في الاتحاد الأوروبي | false |
| flag_emoji | string | علم الدولة بصيغة Unicode | 🇦🇺 |
| region | string | الولاية أو المقاطعة أو الإقليم | New South Wales |
| city | string | أفضل تقدير للمدينة | Sydney |
| timezone | string | منطقة IANA الزمنية، أو "none" | Australia/Sydney |
| latitude | number | خط العرض التقريبي | -33.8688 |
| longitude | number | خط الطول التقريبي | 151.209 |
| geo_confidence | number | الثقة في جواب المدينة، من 0 إلى 1 | 0.8 |
البلد متين، والمدينة تقريبية. قاست دراسة محكَّمة لتحديد الموقع الجغرافي عبر DNS العكسي، بيانات 2018، أخطاء وسيطة بلغت 11.1 كم و16.7 كم لقاعدتي بيانات تجاريتين. ونعرض مزيدًا من الأدلة في ما مدى دقة تحديد الموقع الجغرافي لعنوان IP. تعامل مع المدينة على أنها نصف قطر لا دبوس، ولا تستخدم عنوان IP لتحديد مكان شخص أبدًا.
اقرأ geo_confidence بجانب detection.is_anycast. أعاد 1.1.1.1 القيمة 0.8 لسيدني لكنه أيضًا is_anycast: true، لأن العنوان نفسه يُعلن من أماكن كثيرة في الوقت ذاته. وفي عنوان anycast تكون المدينة موقعًا واحدًا محتملًا بين عدة مواقع.
وظهرت فجوتان إضافيتان. فعاد timezone بالقيمة "none" للعناوين الأمريكية الثلاثة التي استعلمنا عنها (8.8.8.8 و66.249.66.1 الخاص بـ Googlebot و45.33.32.156) بينما كانت المدينة مملوءة، فاشتق المنطقة الزمنية بنفسك حين تحتاجها. ووضع مخرج Private Relay 104.28.46.99 في لواندا بأنغولا، بينما تضع قائمة مخارج Apple نفسها ذلك النطاق في لوساكا بزامبيا. وبالنسبة إلى المرحِّلات، خذ الموقع من صف Apple، كما نشرح في مطابقة عناوين IP للمرحِّلات مع قائمة مخارج Apple.
4. بيانات WHOIS والتسجيل (whois)
تقول مجموعة whois من سجّل الكتلة ومتى، وتُسحب عبر RDAP من سجلات الإنترنت الإقليمية الخمسة. وتضيف طبقة ملكية يفوّتها تحديد الموقع الجغرافي.
| الحقل | النوع | ما يخبرك به | مثال (1.1.1.1) |
|---|---|---|---|
| org | string | المؤسسة المسجِّلة | APNIC and Cloudflare DNS Resolver project |
| country | string | بلد التسجيل (قد يختلف عن geo) | AU |
| netname | string | اسم كتلة الشبكة | APNIC-LABS |
| status | string | حالة تخصيص الكتلة | ASSIGNED PORTABLE |
| registered | string (ISO 8601) | تاريخ التسجيل، حين يُنشر | 2011-08-11T00:00:00.000Z |
| last_changed | string (ISO 8601) | آخر مرة تغيّر فيها سجل السجل | 2023-04-26T22:57:58.000Z |
| has_vpn_keywords | boolean | طابق نص السجل إحدى كلمات VPN الـ 46 المفتاحية | false |
| has_hosting_keywords | boolean | طابق نص السجل إحدى كلمات الاستضافة الـ 27 المفتاحية | false |
تتفاوت التغطية بحسب السجل. فقد أعاد 8.8.8.8 و45.33.32.156 القيمة "none" لـ org وnetname وstatus وlast_changed، مع تعبئة country وregistered فقط. وكان سجل خادم Mullvad غنيًّا: netname: "NET-31173-185-213-155-0-24"، مسجَّل في 2017-07-19، وآخر تغيير في 2025-11-11.
أعلام الكلمات المفتاحية دليل داعم، وليست سببًا وحيدًا للوسم أبدًا. وكلاهما كان false للعناوين السبعة كلها، بما فيها خادم Mullvad، الذي يقرأ org في سجله "31173 Services AB infrastructure in Frankfurt, DE." دون أي ذكر لـ VPN. ولهذا تهم قوائم المزودين في الأقسام التالية أكثر.
5. أدلة الشبكة (network)
تحمل مجموعة network DNS العكسي وجهة الاتصال للإبلاغ عن الإساءة لدى السجل. ثلاثة من حقولها السبعة احتياطية حاليًّا.
| الحقل | النوع | ما يخبرك به | مثال (8.8.8.8) |
|---|---|---|---|
| ptr_record | string | اسم مضيف DNS العكسي (PTR) المخزَّن | dns.google |
| ptr_pattern | string | تصنيف مضيف PTR. محجوز: لا نعرض قيمه | (غير معروض) |
| fcrdns_valid | boolean, or "none" | يُحَلّ مضيف PTR عائدًا إلى هذا العنوان؛ و"none" حين لا يُخزَّن PTR | true |
| abuse_contact | string | عنوان الإبلاغ عن الإساءة من سجل السجل | network-abuse@google.com |
| open_ports | number[] | احتياطي: دائمًا [] حاليًّا | [] |
| service | string | احتياطي: دائمًا "none" حاليًّا | none |
| cloud_region | string | احتياطي: دائمًا "none" حاليًّا | none |
abuse_contact هو الحقل الذي تلجأ إليه حين تحتاج إلى الإبلاغ عن نشاط، وقد امتلأ في خمسة من عناويننا السبعة. وfcrdns_valid ليس قيمة منطقية عادية: فقد أعاد السلسلة "none" لمخرج Tor وخادم Mullvad والمرحِّل، وهي عناوين لا PTR مخزَّنًا لها. والكود الذي يختبر === false سيفوّت تلك الحالة.
لا تثق بـ PTR مخزَّن دون فحصه. بالنسبة إلى Googlebot 66.249.66.1، يعود ptr_record المخزَّن إلى عنوان مجاور، بينما يعيد dig -x حيًّا crawl-66-249-66-1.googlebot.com. وقد أكدنا قيمة 8.8.8.8 (dns.google) وقيمة 1.1.1.1 (one.one.one.one) بـ dig -x في الصباح نفسه.
open_ports فارغ حتى حين يجيب فحص. يُكتب [] في كل استعلام. لاحظ أن wireguard_open لخادم Mullvad ليس نتيجة فحص: بل يعني أن قائمة خوادم Mullvad تصنّف ذلك الخادم على أنه WireGuard. اقرأ نتائج الفحص مثل openvpn_open من scoring.detection_methods إلى أن يُربط الحقل.
6. اكتشاف VPN والبروكسي وTor والمرحِّلات (detection)
تجيب مجموعة detection عن سؤال: هل يخفي العنوان هوية مستخدمه، وكيف. وهي أكبر المجموعات بـ 23 حقلًا، وثلاثة منها جديدة منذ يوليو.
| الحقل | النوع | ما يخبرك به | مثال (185.213.155.73, Mullvad) |
|---|---|---|---|
| is_proxy | boolean | أجاب كبروكسي مفتوح أثناء الفحص النشط | false |
| is_vpn | boolean | بنية VPN تحتية بحسب المصافحة أو قائمة المزودين أو ASN أو WHOIS | true |
| is_tor | boolean | على قائمة المخارج لدى مشروع Tor، تُحدَّث يوميًّا | false |
| is_hosting | boolean | بنية استضافة أو سحابة تحتية | true |
| is_relay | boolean | مرحِّل خصوصية، يُبلَّغ عنه بمعزل عن VPN | false |
| is_mobile | boolean | شبكة مشغِّل جوال | false |
| is_satellite | boolean | مزود إنترنت عبر الأقمار الصناعية | false |
| is_anycast | boolean | يُعلن من مواقع كثيرة | false |
| is_residential_proxy | boolean | محجوز: ليس قدرة فعّالة، فلا تعتمد عليه | (غير معروض) |
| is_public_proxy | boolean | بروكسي مفتوح مدرج علنًا | false |
| is_anonymous | boolean | يكون true حين ينطبق VPN أو بروكسي أو Tor | true |
| proxy_type | string | بروتوكول البروكسي المكتشف | none |
| anonymity_level | string | none أو low أو medium أو high | medium |
| vpn_provider | string | اسم مشغِّل VPN، حين يكون على قائمة | Mullvad |
| vpn_provider_tier | string | تسمية مشتقة من اسم المزود؛ لا تبنِ عليها | (غير معروض) |
| relay_provider | string | اسم مشغِّل المرحِّل | none |
| proxy_score | number | احتمال البروكسي من 0 إلى 100 | 0 |
| vpn_confidence | number | من 0 إلى 100؛ ويُظهر أيضًا أي مسار تسمية أُطلق | 95 |
| residential_proxy_status | string | جديد في أكتوبر 2026، وغير موجود في /docs. محجوز | (غير معروض) |
| residential_proxy_evidence | string | جديد في أكتوبر 2026، وغير موجود في /docs. محجوز | (غير معروض) |
| residential_proxy_last_seen | string | جديد في أكتوبر 2026، وغير موجود في /docs. محجوز | (غير معروض) |
| residential_proxy_score | number | محجوز بجانب is_residential_proxy | (غير معروض) |
| last_seen | string (ISO 8601) | آخر مرة تغيّر فيها اكتشاف | 2026-10-20T20:17:50.000Z |
vpn_provider هو الحقل الذي ينبغي أن تضع عليه دائرة. تستطيع معظم الواجهات القول إن عنوان IP هو "VPN"؛ أما تسمية المشغِّل فتتطلب قائمة مزودين. نحن نسمّي VPN من قوائم الخوادم الخاصة بتسعة مزودين، أو قائمة عامة من جهة خارجية، أو جدول قصير لشبكات VPN المعروفة، ويُظهر vpn_confidence أي مسار أُطلق: 95 هنا تعني قائمة Mullvad نفسها. وحين يكون العنوان على أي قائمة، يعيد vpn_provider القيمة "none" حتى لو أثبتت مصافحة أنه VPN. ونتتبّع المسارات في كيف يُسمّى VPN من قائمة خوادمه، ويمكنك اختبار أي عنوان بـ اختبار اكتشاف VPN.
يعمل is_relay وrelay_provider كزوج. أعاد 104.28.46.99 القيم is_relay: true وrelay_provider: "iCloud Private Relay" ودرجة 9 وallow. وتعيد الواجهة أيضًا "Cloudflare WARP" لنطاقات اتصال WARP المنشورة لدى Cloudflare، وهي العناوين التي يتصل بها تطبيق WARP، و"Cloudflare" غير الموثَّقة لمخارج الخصوصية الأخرى لدى Cloudflare التي لا تغطيها قائمة Apple.
لا يغطي is_anonymous المرحِّلات. تصفه /docs بأنه true لأي أداة إخفاء هوية بما فيها المرحِّلات، لكن مخرج المرحِّل أعاد is_anonymous: false مع anonymity_level: "medium". فالعلم يتتبع VPN والبروكسي وTor فقط، لذا اقرأ is_relay على حدة.
حقول البروكسي السكني الثلاثة الجديدة محجوزة. وصلت في تغيير للواجهة الخلفية في أكتوبر ولم تُوثَّق بعد. واكتشاف البروكسي السكني ليس قدرة نقدّمها حاليًّا، فاعتبر حقول البروكسي السكني الخمسة كلها محجوزة ولا تبنِ عليها قواعد. وإن كانت تلك الحركة تقلقك، ففي هذا المقال نشرح ما يستطيع استعلام IP رؤيته وما لا يستطيع.
7. استخبارات التهديدات والبوتات (threat)
تسأل مجموعة threat هل العنوان معروف بالإساءة أو معروف ببوت ودود. وفيها 25 حقلًا، وسبعة منها احتياطية.
| الحقل | النوع | ما يخبرك به | مثال (66.249.66.1, Googlebot) |
|---|---|---|---|
| is_abusive | boolean | على مصادر تهديد تركّز على الإساءة | false |
| is_bogon | boolean | فضاء غير مخصص أو محجوز | false |
| is_crawler | boolean | زاحف أو بوت ذكاء اصطناعي معروف | true |
| is_spammer | boolean | مصدر معروف للبريد المزعج | false |
| is_scanner | boolean | نطاق ماسح شامل للإنترنت | false |
| is_botnet | boolean | عنوان القيادة والتحكم لـ botnet (بيانات Feodo Tracker) | false |
| is_cgnat | boolean | Carrier-grade NAT؛ تُقيَّد الدرجات بسقف | false |
| threat_types | string[] | كل فئة تهديد تنطبق | [] |
| blocklist_count | number | محجوز: لا تعتمد عليه | (غير معروض) |
| blocklist_sources | string[] | احتياطي: غير مملوء حاليًّا | (غير معروض) |
| dnsbl_sources | string[] | أي من مناطق قوائم حجب DNS الثلاث تدرجه | [] |
| crawler.verified | boolean | طابق نطاقات IP الرسمية للجهة المشغِّلة | true |
| crawler.unverified | boolean | يشبه الزاحف لكنه ليس ضمن النطاقات الرسمية | false |
| crawler.spoofed | boolean | احتياطي: لا مصدر بيانات بعد | (غير معروض) |
| crawler.name | string | اسم البوت، يُكتب دون شرطات | Googlebot |
| crawler.operator | string | من يشغّل البوت | |
| crawler.category | string | فئة البوت | search_engine |
| crawler.verification_method | string | كيف أُكدت الهوية | ip_range_list |
| botnet.role | string | الدور في botnet، حين يُعرف | none |
| botnet.family | string | عائلة البرمجيات الخبيثة، حين تُعرف | none |
| botnet.last_seen | string | احتياطي: دائمًا "none" حاليًّا | none |
| honeypot.hits_30d | number | احتياطي | (غير معروض) |
| honeypot.type | string | احتياطي | (غير معروض) |
| honeypot.last_hit | string | احتياطي | (غير معروض) |
| spammer_last_seen | string | احتياطي: دائمًا "none" حاليًّا | none |
يملأ مخرج Tor النصف الآخر من هذا الجدول: is_spammer: true وthreat_types: ["spammer", "tor"] وdnsbl_sources: ["zen.spamhaus.org"]. وأعاد خادم Mullvad القيمة threat_types: ["vpn"]، فالمصفوفة تردد أيضًا أعلام أدوات إخفاء الهوية.
كائن crawler هو حيث تقع قرارات البوتات. بالنسبة إلى 66.249.66.1 أعادت الواجهة verified: true وname: "Googlebot" وoperator: "Google" وverification_method: "ip_range_list"، بعد المطابقة مع 19 مصدرًا رسميًّا لنطاقات الزواحف من 10 جهات مشغِّلة. والفئات التي رأيناها في استعلامات أكتوبر هي search_engine وai وfetcher. وتحذف الأسماء الشرطات، فيعود جالب Google الذي يطلقه المستخدم بالاسم GoogleUserTriggeredFetcher.
يحدث اكتشاف الانتحال في كودك. لا ترى الواجهة إلا عنوان IP ولا ترى User-Agent أبدًا. فالطلب الذي يدّعي أنه Googlebot لكنه يعيد crawler.verified: false غير موثَّق، وتلك المقارنة من شأنك. ونعرضها في اكتشاف البوتات عبر IP والتحقق من زواحف الذكاء الاصطناعي عبر IP وrDNS وCIDR.
ينبغي أن يخفف is_cgnat القرار لا أن يشدده. عنوان CGNAT يتشاركه مشتركون كثيرون، فتُقيَّد الدرجة بسقف هناك، ولا ينبغي أن يحجب مسيء واحد مشغِّلًا كاملًا. راجع نظرة استخبارات التهديدات العامة على المصادر خلف هذه المجموعة.
8. DNS العكسي (dns)
تكرّر مجموعة dns ثلاثة حقول DNS عكسي من network، بحيث يستطيع الكود الذي يحتاج rDNS فقط قراءة كائن صغير واحد. والقيم مطابقة لنسخ network في كل استجابة سحبناها.
| الحقل | النوع | ما يخبرك به | مثال (1.1.1.1) |
|---|---|---|---|
| ptr_record | string | اسم مضيف PTR المخزَّن | one.one.one.one |
| ptr_pattern | string | محجوز: لا نعرض قيمه | (غير معروض) |
| fcrdns_valid | boolean, or "none" | يُحَلّ PTR عائدًا إلى هذا العنوان | true |
fcrdns_valid هو الذي ينبغي الوثوق به. فـ PTR الذي يُحَلّ أماميًّا عائدًا إلى عنوان IP نفسه دليل أقوى بكثير من سلسلة PTR وحدها، التي يستطيع ضبطها كل من يتحكم في المنطقة العكسية. وينطبق الحذر نفسه كما في القسم 5: قارن PTR مخزَّنًا بـ dig -x حي قبل أن تقتبسه.
9. تسجيل المخاطر (scoring)
تحوّل مجموعة scoring الأدلة إلى قرار. وهي أربعة حقول، وdetection_methods هو الذي يجعل الدرجة قابلة للتدقيق.
| الحقل | النوع | ما يخبرك به | مثال (185.220.101.1, Tor) |
|---|---|---|---|
| fraud_score | number | درجة مخاطر من 0 إلى 100، الأعلى أخطر | 100 |
| confidence | number | الأدلة خلف الحكم، من 0 إلى 1 | 0.7402500000000001 |
| recommended_action | string | allow أو review أو step_up أو block | block |
| detection_methods | string[] | الإشارات الدقيقة التي أُطلقت | tor_exit, datacenter_blocklisted, no_ptr_datacenter, known_spammer |
يجمع fraud_score 36 سببًا موزونًا، وبعض الأسباب تطرح. ويُظهر Googlebot ذلك: أُطلق datacenter_ip وverified_crawler كلاهما، وهبطت الدرجة إلى 0. ولا يمكن لمرحِّل أن يبلغ block أبدًا، لأن درجات المرحِّلات مقيّدة بسقف 60. ويربط recommended_action الدرجة بنطاقات:
| الدرجة | recommended_action | ماذا تعني |
|---|---|---|
| 0 إلى 25 | allow | لا دليل خطر ذو شأن |
| 26 إلى 50 | review | أُطلقت بعض الإشارات؛ سجّلها وراقب |
| 51 إلى 75 | step_up | دليل جوهري؛ أضف تحديًا |
| 76 إلى 100 | block | دليل قوي من عدة إشارات |
اعرض confidence رقمًا لا سلسلة: فهو يصل مع ضجيج الفاصلة العائمة كاملًا. ونشرح النموذج في دليل درجة احتيال IP وكيف يحدد كل سبب الدرجة وثقتها، وأين تضع العتبات في اختيار عتبة درجة احتيال IP لتسجيل الدخول والتسجيل والدفع. ويمكنك تسجيل أي عنوان بـ فاحص درجة احتيال IP.
10. البيانات الوصفية (meta)
تؤرّخ مجموعة meta الجواب وتعرّف الطلب. وحقلان من حقولها الخمسة يعنيان شيئًا مختلفًا عما توحي به أسماؤهما.
| الحقل | النوع | ما يخبرك به | مثال (104.28.46.99) |
|---|---|---|---|
| last_classified_at | string (ISO 8601) | متى بُنيت هذه الاستجابة | 2026-10-22T04:56:51.010Z |
| last_scanned | string (ISO 8601) | آخر مرة تغيّر فيها اكتشاف لهذا العنوان | 2026-10-20T18:52:36.000Z |
| request_id | string | معرّف فريد لهذا الاستعلام؛ اقتبسه عند الدعم | aa25852e-0dc1-4fd6-8780-3b9283d13aba |
| latency_ms | number | زمن المعالجة في الخادم | 3 |
| sources | string[] | احتياطي: دائمًا [] حاليًّا | [] |
last_classified_at هو وقت الاستجابة لا وقت التصنيف. ففي الاستعلامات السبعة كلها وقع خلال نحو ثانية من إرسالنا الطلب. استخدم last_scanned للحكم على الحداثة بدلًا من ذلك. فقد حمل القيمة نفسها لـ detection.last_seen في كل استجابة، وكانت السبعة مؤرخة في 20 أكتوبر.
بيانات IP القديمة بيانات خاطئة، لأن النطاقات تنتقل بين الأيدي. وrequest_id هو ما تقتبسه إن ظننت أن تصنيفًا خاطئ. وتراوح زمن الاستجابة بين 0 و3 ميلي ثانية في الخادم عبر الاستعلامات السبعة.
كيف تسمّي مزودات أخرى الحقول نفسها
تغطي مزودات بيانات IP الأخرى أرضية متداخلة بأسماء حقول مختلفة، وبعضها يضع الحقول الأغنى في خطط أعلى. قرأنا وثائق ثلاثة مزودين العامة في 22 أكتوبر 2026 واحتفظنا فقط بما تنص عليه تلك الصفحات.
| المزود | حقلهم الموثَّق | ما تقوله وثائقهم | أقرب حقل في GeoIPHub |
|---|---|---|---|
| MaxMind | location.accuracy_radius | "نصف قطر الدقة التقريبي، بالكيلومترات" حول الإحداثيات | geo.geo_confidence (من 0 إلى 1، دون نصف قطر) |
| MaxMind | traits.user_type | 15 قيمة، منها consumer_privacy_network وcontent_delivery_network وsearch_engine_spider | asn.user_type، الذي أعاد السلاسل الثلاث نفسها في استعلاماتنا |
| MaxMind | anonymizer object | نُقلت أعلام أدوات إخفاء الهوية من traits إلى كائن واحد، يتضمن provider_name | detection.vpn_provider |
| IPinfo | vpn, proxy, tor, relay, hosting, service | service هو "اسم خدمة VPN أو البروكسي أو إخفاء الهوية" | أعلام detection.is_* وvpn_provider وrelay_provider |
| IPinfo | تغطية الخطط | تتضمن Core علمي is_anonymous وis_hosting فقط؛ وتستخدم Plus وMax نقطة نهاية /anonymous | كل حقل في كل خطة |
| IPinfo | asn.type | الأمثلة المعطاة: isp, business, hosting, education | asn.asn_type |
| IPQualityScore | fraud_score | يُبنى من IP وuser agent واللغة ومدخلات اختيارية أخرى؛ 75 فأكثر مشبوه، ويقترحون الوسم أو الحجب عند 90 فأكثر | scoring.fraud_score، من IP وحده؛ block فوق 75 |
| IPQualityScore | is_crawler | زاحف محرك بحث مؤكَّد، موثَّق بحسب اسم المضيف أو IP | threat.crawler.verified، عبر نطاقات IP الرسمية |
| IPQualityScore | connection_type | Residential أو Corporate أو Education أو Mobile أو Data Center | asn.connection_type |
المصادر: استجابات خدمات الويب GeoIP لدى MaxMind، وبيانات اكتشاف الخصوصية لدى IPinfo، وبيانات ASN لدى IPinfo، ومعاملات استجابة اكتشاف البروكسي لدى IPQualityScore.
ويتبع ذلك نقطتان عمليتان. فمقياس الدرجة لا يعني شيئًا إلا بجانب عتباته الموثَّقة: 75 لدى IPQualityScore تعني "مشبوه"، بينما 76 لدينا هي بالفعل block. وقد يعني حقل بالاسم نفسه أشياء مختلفة، لذا اربط الحقول بمعناها الموثَّق لا باسمها. ويحوّل دليل المشتري لاختيار مزود بيانات IP ذلك إلى اختبار قصير تستطيع تشغيله على أي واجهة.
أي حقول بيانات IP مهمة لكل قرار
نادرًا ما تحتاج إلى الحقول الـ 103 كلها دفعة واحدة. اربط الحقول بالقرار، وتجاوز الحقول الاحتياطية:
| حالة الاستخدام | أهم الحقول | احذر من |
|---|---|---|
| فحوص الاحتيال عند تسجيل الدخول أو الدفع | scoring.fraud_score وrecommended_action وdetection_methods وdetection.is_vpn وis_tor وis_proxy | لا تحجب حجبًا صارمًا بناءً على geo وحدها؛ فلـ is_cgnat سبب في تقييد الدرجة بسقف |
| الامتثال الجغرافي والترخيص | geo.country_code وgeo.region وdetection.is_relay | المدينة تقريبية؛ وقد يخالف الموقع الجغرافي للمرحِّل قائمة Apple |
| إدارة البوتات والزواحف | threat.crawler.verified وcrawler.name وcrawler.category | قارن بنفسك مع User-Agent المدّعى؛ و crawler.spoofed حقل احتياطي |
| بلاغات الإساءة والتحقيقات | network.abuse_contact وwhois.netname وthreat.dnsbl_sources | افحص PTR المخزَّنة بـ dig قبل اقتباسها |
| التوطين | geo.country_code وgeo.timezone | قد يكون timezone بالقيمة "none"؛ و geo_confidence تلميح على عناوين anycast |
وفي التحقيق، يهم ترتيب قراءتك للمجموعات بقدر ما تهم الحقول. ويستعرض دليلنا خطوة بخطوة للتحقيق في عنوان IP ثلاثة عناوين IP حقيقية عبر اثني عشر فحصًا سلبيًّا تستخدم هذه المجموعات بالتتابع.
تحقق من الحقول بنفسك قبل أن تبني
تتغير قائمة الحقول، فأأمن عادة أن تعدّها بنفسك. شغّل استعلامًا واحدًا واسرد المفاتيح الورقية:
curl -s https://api.geoiphub.com/v1/lookup/8.8.8.8 \
-H "x-api-key: YOUR_API_KEY" \
| jq 'del(.geo.country_names)
| [paths(type != "object") | select(all(.[]; type == "string"))]
| length + 1'
يعدّ المرشِّح كل مصفوفة حقلًا واحدًا، ويتجاوز عناصر المصفوفات، ويضيف country_names حقلًا واحدًا. وقد طبع 103 لكل استجاباتنا السبع المحفوظة. وإن اختلف رقمك، فقارن المفاتيح مع مرجع الواجهة وهذا المقال. وإن اختبرت دون مفتاح، فنظّم نداءاتك: الطلب الثلاثون دون مفتاح خلال دقيقة واحدة يعيد بالفعل 429 ويحظر عنوانك لمدة ساعتين.
الأسئلة الشائعة
ما البيانات التي يمكن الحصول عليها من عنوان IP؟
أكثر بكثير من الموقع. أعاد استعلام GeoIPHub حي في 22 أكتوبر 2026 عدد 103 حقول في 10 مجموعات: عنوان IP نفسه، والشبكة (ASN ومزود الإنترنت ونوع الاتصال وRPKI)، والموقع الجغرافي التقريبي، وبيانات سجل WHOIS، وأدلة الشبكة وDNS العكسي، واكتشاف VPN والبروكسي وTor والمرحِّلات مع تسمية المزود عندما يكون على قائمة، وإشارات التهديد والزواحف الموثَّقة، ودرجة مخاطر قابلة للتفسير من 0 إلى 100، وبيانات الطلب الوصفية. وأحد عشر حقلًا منها احتياطية تعيد قيمة فارغة ثابتة حاليًّا.
هل يمكن لعنوان IP أن يكشف عنوان منزلي بدقة؟
لا. يقدّر تحديد الموقع الجغرافي لعنوان IP منطقة تقريبية (مدينة أو إقليمًا في أفضل الأحوال)، ولا يقدّر أبدًا عنوان شارع أو شخصًا بعينه. نتائج مستوى المدينة غير دقيقة، وتجعلها اتصالات الجوال وCGNAT وVPN أضعف. وكل من يدّعي دقة بمستوى العنوان من IP وحده يبالغ.
ما هو ASN في بيانات IP؟
يحدد رقم النظام المستقل الشبكة التي تعلن عنوان IP للإنترنت. فمثلًا يعيد 8.8.8.8 القيمة AS15169, GOOGLE - Google LLC. ويأتي ASN ومؤسسته من جدول التوجيه العالمي، فهما من أوثق حقول بيانات IP، على خلاف التخمين بشأن الموقع المادي.
ما درجة احتيال IP وكيف تُحسب؟
درجة احتيال IP رقم واحد من 0 إلى 100 يلخص مدى خطورة العنوان. يجمع GeoIPHub 36 سببًا موزونًا، ويطرح الأسباب المبرّئة مثل الزاحف الموثَّق، ويعيد الطرق الدقيقة التي أُطلقت مع إجراء موصى به: allow حتى 25، وreview حتى 50، وstep_up حتى 75، وblock فوق 75. وقد نالت عقدة خروج Tor استعلمنا عنها في 22 أكتوبر 2026 الدرجة 100 مع أربع طرق مدرجة.
ما الفرق بين عنوان IP سكني وعنوان IP لمركز بيانات؟
عنوان IP السكني يخصصه مزود إنترنت استهلاكي لاتصال منزلي؛ أما عنوان IP لمركز البيانات (الاستضافة) فيعود إلى مزود سحابة أو خوادم. ويقع التمييز في الحقلين asn.connection_type وasn.asn_type. وفي استعلاماتنا السبعة في أكتوبر عاد خادم Mullvad VPN وعقدة خروج Tor وGooglebot جميعها بالقيمة connection_type datacenter.
هل تعيد كل مزودات واجهات IP الحقول نفسها في كل خطة؟
لا. تقول وثائق IPinfo إن خطة Core تتضمن علمي الخصوصية is_anonymous وis_hosting فقط، مع حقول خصوصية أكمل في Plus وMax والواجهات المخصصة. أما GeoIPHub فيعيد كل حقل في كل خطة، بما في ذلك الخطة المجانية بـ 1,500 استعلام يوميًّا.
ماذا يعني نصف قطر الدقة في تحديد الموقع الجغرافي لعنوان IP؟
نصف قطر الدقة هو المسافة بالكيلومترات حول الإحداثيات المُعادة التي يُرجَّح أن يقع ضمنها الموقع الحقيقي. توثّقه MaxMind على أنه location.accuracy_radius. أما GeoIPHub فلا يعيد نصف قطر؛ بل يعيد geo.geo_confidence، وهي قيمة من 0 إلى 1 تساوي 0 حين لا تكفي الأدلة لتحديد مدينة.
الفريق الذي يقف وراء واجهة GeoIPHub API
بقلم فريق GeoIPHub، وهم من يبنون واجهة GeoIPHub API لاستخبارات IP وماسحها. تُعَدّ المسودات بمساعدة الذكاء الاصطناعي ويحررها الفريق، وأمثلة API استعلامات حقيقية على واجهة API الحية ما لم تُوصف بأنها توضيحية.


