اعرف اللي قصادك. احمي أرضك.

masscan

أسرع ماسح للمنافذ على مستوى العالم، قادر على مسح كامل فضاء الإنترنت في وقت قياسي باستخدام تقنيات الإرسال غير المتزامن.

هجوممفتوحة المصدرLinux
github.com/robertdavidgraham/masscan

masscan — الدليل الكامل

تُعد masscan أداة فحص منافذ (TCP/UDP) غير متزامنة (Asynchronous)، قادرة على مسح شبكة الإنترنت بالكامل (بروتوكول IPv4) في أقل من 10 دقائق من جهاز واحد بمواصفات جيدة. لا تقوم الأداة بإتمام مصافحة TCP (TCP Handshake) بالكامل، بل ترسل حزم SYN بسرعة الخط القصوى (Line Rate) وتقرأ استجابات RST/SYN-ACK عبر مسار برمي منفصل.

التثبيت (Install)

$ apt install masscan
$ brew install masscan
$ git clone https://github.com/robertdavidgraham/masscan && cd masscan && make

يجب التشغيل بصلاحيات 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)

# XML (يتوافق مع مخطط nmap -oX)
$ masscan 10.0.0.0/8 -p1-65535 --rate 100000 -oX scan.xml
$
# Grepable (سهل البحث)
$ masscan -p443 0.0.0.0/0 --rate 1000000 --excludefile rfc1918.txt -oG full.gnmap

سير العمل (Workflows)

المسح الأولي السريع (ثم التفصيل عبر nmap)

$ sudo masscan 10.0.0.0/16 -p1-65535 --rate 50000 -oG quick.gnmap
$ awk '/^Host:/{print $2}' quick.gnmap | sort -u > live-ips.txt
# الآن يتم تمرير النتائج لـ nmap لتحديد الخدمات بدقة
$ sudo nmap -sV -sC -iL live-ips.txt -oA detail

البحث عن خدمة معينة عبر الإنترنت بالكامل

$ sudo masscan 0.0.0.0/0 -p3389 --rate 200000 \
$ --excludefile /etc/masscan/exclude.conf \
$ --banners -oJ rdp.json

المسح الموزع على جهازين (Two-host shard)

# الجهاز الأول
$ sudo masscan 0.0.0.0/0 -p443 --rate 500000 --shards 1/2 -oJ b1.json
# الجهاز الثاني
$ sudo masscan 0.0.0.0/0 -p443 --rate 500000 --shards 2/2 -oJ b2.json

تقييم السرعة (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 مليون حزمة في الثانية تتطلب:

  1. استخدام برامج تجاوز برامج التشغيل (Driver-bypass) مثل PF_RING أو DPDK.
  2. بطاقة شبكة متعددة الطوابير (Multi-queue NIC).
  3. تدوير عناوين IP المصدر (عناوين IP الفردية قد تشبع جداول الحالة في الشبكة).

المخرجات الناجحة

json
{ "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