masscan
أسرع ماسح للمنافذ على مستوى العالم، قادر على مسح كامل فضاء الإنترنت في وقت قياسي باستخدام تقنيات الإرسال غير المتزامن.
masscan — الدليل الكامل
تُعد masscan أداة فحص منافذ (TCP/UDP) غير متزامنة (Asynchronous)، قادرة على مسح شبكة الإنترنت بالكامل (بروتوكول IPv4) في أقل من 10 دقائق من جهاز واحد بمواصفات جيدة. لا تقوم الأداة بإتمام مصافحة TCP (TCP Handshake) بالكامل، بل ترسل حزم SYN بسرعة الخط القصوى (Line Rate) وتقرأ استجابات RST/SYN-ACK عبر مسار برمي منفصل.
التثبيت (Install)
يجب التشغيل بصلاحيات root للوصول إلى المقابس الخام (Raw Sockets).
المعاملات الأساسية (Core parameters)
| العلم (Flag) | الغرض |
|---|---|
-p <ports> | المنافذ المستهدفة (80,443, 1-65535, U:53) |
--rate <pps> | عدد الحزم في الثانية (المتحكم في السرعة) |
-iL <file> | قائمة بنطاقات CIDR أو عناوين IP |
--exclude <cidr> | استثناء نطاقات معينة (استخدمها بحذر!) |
-oX/-oJ/-oG/-oL | المخرجات بصيغ XML / JSON / Grepable / List |
--banners | محاولة جلب لافتات الخدمة (Banners) بعد SYN-ACK |
--source-ip <ip> | انتحال أو تحديد IP المصدر |
--source-port <port> | تحديد منفذ المصدر |
-e <iface> | اختيار واجهة الشبكة |
--seed <int> | بذر التوزيع العشوائي لضمان قابلية تكرار النتائج |
--shards 1/3 | تقسيم الفحص على 3 أجهزة — هذا هو الجهاز رقم 1 |
--top-ports <n> | فحص أشهر N منفذ خدمة |
--echo | طباعة الإعدادات النهائية والخروج |
صيغ المخرجات (Output formats)
سير العمل (Workflows)
المسح الأولي السريع (ثم التفصيل عبر nmap)
البحث عن خدمة معينة عبر الإنترنت بالكامل
المسح الموزع على جهازين (Two-host shard)
تقييم السرعة (The --rate reality check)
| النطاق الترددي (Bandwidth) | السرعة المستدامة (Rate) |
|---|---|
| 100 Mbps | ~150,000 pps |
| 1 Gbps | ~1,500,000 pps |
| 10 Gbps | ~10,000,000 pps (تتطلب PF_RING / DPDK) |
السرعات التي تتجاوز 1 مليون حزمة في الثانية تتطلب:
- استخدام برامج تجاوز برامج التشغيل (Driver-bypass) مثل PF_RING أو DPDK.
- بطاقة شبكة متعددة الطوابير (Multi-queue NIC).
- تدوير عناوين IP المصدر (عناوين IP الفردية قد تشبع جداول الحالة في الشبكة).
المخرجات الناجحة
{ "ip": "1.2.3.4", "timestamp": "1709251234", "ports": [{"port":443,"proto":"tcp","status":"open","ttl":117}] }
عملية الفحص الناجحة هي التي تحافظ على معدل --rate ثابتاً مع نسبة إعادة محاولة (Retry) منخفضة. راقب سطر الحالة المباشر.
مشاكل وحلول تقنية
| العرض | السبب المحتمل | الحل |
|---|---|---|
| سطر الحالة يظهر "0.00-kpps" | جدار حماية يمنع الصادر، أو واجهة شبكة خاطئة | تأكد من واجهة الشبكة عبر -e وفحص القيود الخارجية |
| عدد هائل من المنافذ المغلقة (closed) | السرعة --rate عالية جداً مما أغرق الهدف | خفض السرعة؛ هذا يُعتبر هجوماً ذاتياً (Self-inflicted DoS) |
خطأ: FAIL: could not determine default interface | لا يوجد مسار افتراضي (Default route) | حدد الواجهة و MAC الخاص بالبوابة (Router MAC) يدوياً |
| نتائج متكررة كثيرة | معامل --retries مرتفع جداً | اجعله 1 |
| فقدان جزء كبير من النتائج | عدم استخدام ملف الاستثناءات مما أدى لحظر الفحص | استخدم دائماً ملفات استثناء RFC1918 والنطاقات المحظورة عالمياً |
[!warning] تنبيه: ستتلقى شكاوى إساءة (Abuse Complaints) يؤدي المسح الشامل للإنترنت إلى توليد تقارير إساءة في غضون دقائق. استخدم قوائم الاستثناء (مثل Rapid7
exclude-net) وقم بتعريف الماسح الخاص بك عبر reverse-DNS واستخدم--bannersلتوضيح بيانات الاتصال عند الإساءة.
منظور المدافع (Defender's perspective)
يرى المدافعون: مصدر IP واحد يرسل حزم SYN إلى العديد من المنافذ دون إتمام المصافحة. طرق الكشف:
- الكشف عديم الحالة (Stateless) عند الحافة: أكثر من 50 حزمة SYN لمنافذ مختلفة في الثانية من مصدر واحد ← حظر تلقائي.
- مصائد الاختراق (Honeypots): أي اتصال بمنفذ غير مستخدم تاريخياً.
- خدمات التصفية لدى مزودي الخدمة (ISPs) تقوم بالفعل بحظر نطاقات masscan المعروفة.
الأمن العملياتي (OPSEC)
- عنوان IP المصدر مرئي بالكامل — خيار
--source-ipيعمل فقط إذا كان مسار العودة متاحاً للتوجيه (نادر الحدوث). - الأداة "صاخبة" جداً بطبيعتها. استخدمها فقط للبنية التحتية الخاصة بك أو في نطاق عمل مرخص.
- نسق مع مزود الاستضافة الخاص بك؛ البعض يغلق الحسابات عند أول شكوى إساءة.
أدوات ذات صلة
| الأداة | الفرق الجوهري |
|---|---|
nmap | أبطأ بكثير، لكنها أفضل في تحديد الخدمات وأنظمة التشغيل |
zmap | أسرع في فحص منفذ واحد، لكنها تفتقر للمرونة في قوائم المنافذ |
naabu | أداة بلغة Go، سرعة متوسطة وسهلة الربط مع أدوات أخرى |
rustscan | تستخدم masscan أو محركها الخاص وتمرر النتائج لـ nmap |