ما هو Nmap؟

Nmap (Network Mapper) هو أداة مفتوحة المصدر لفحص الشبكات واكتشاف المضيفين والخدمات والمنافذ المفتوحة. هي أول أداة تُشغّلها في أي عملية اختبار اختراق — قبل أي شيء آخر.

المعلومةالقيمة
الأداةNmap — Network Mapper
الاستخدام الأساسيفحص المنافذ واكتشاف الخدمات
الترخيصمفتوح المصدر (GPLv2)
الموقعnmap.org

تحديد الهدف

nmap 192.168.1.1           # IP واحد
nmap 192.168.1.1-254       # نطاق
nmap 192.168.1.0/24        # CIDR
nmap -iL targets.txt       # قائمة أهداف من ملف
nmap --exclude 192.168.1.1 # استثناء IP معين

تقنيات الفحص

السويتشالوصف
-sSTCP SYN scan — الأسرع والأهدأ (يحتاج root)
-sTTCP Connect — بدون صلاحيات root
-sUUDP scan — أبطأ لكن ضروري
-sATCP ACK — لكشف قواعد الـ Firewall
# الفحص الأكثر استخداماً في البداية
sudo nmap  -p- 192.168.1.1 --open 

اكتشاف المضيفين

nmap -sn 192.168.1.0/24    # Ping sweep — من هو حي؟
nmap -Pn 192.168.1.1       # تجاهل الـ ping، افحص المنافذ مباشرة
nmap -sL 192.168.1.1-10    # قائمة الأهداف فقط بدون فحص

-Pn مهم لما يكون الهدف يحجب الـ ICMP — كثير من الـ Windows machines تفعل هذا.


تحديد المنافذ

nmap -p 21              # منفذ واحد
nmap -p 21-443          # نطاق منافذ
nmap -p-                # كل المنافذ (1-65535)
nmap -F                 # أسرع 100 منفذ فقط
nmap --top-ports 1000   # أكثر 1000 منفذ شيوعاً
nmap -p U:53,T:80,443   # UDP وTCP معاً

اكتشاف الخدمات والإصدارات

nmap -sV 192.168.1.1                    # إصدار الخدمة
nmap -sV --version-intensity 9 <IP>     # أعلى دقة (أبطأ)
nmap -A 192.168.1.1                     # كل شيء: OS + Version + Scripts + Traceroute

سكريبتات NSE

NSE (Nmap Scripting Engine) هي القوة الحقيقية لـ Nmap — آلاف السكريبتات الجاهزة لكل بروتوكول وثغرة.

nmap -sC <IP>                         # سكريبتات افتراضية (آمنة)
nmap --script=banner <IP>             # سكريبت واحد
nmap --script=ftp-* -p 21 <IP>        # كل سكريبتات FTP
nmap --script=http,banner <IP>        # أكثر من سكريبت
nmap --script "not intrusive" <IP>    # كل شيء ماعدا الـ intrusive

أمثلة مفيدة:

# فحص SMB كامل
nmap --script smb-vuln* -p 445 <IP>

# فحص SQL Injection
nmap -p 80 --script http-sql-injection <IP>

# Brute force DNS subdomains
nmap --script dns-brute domain.com

الـ Timing — سرعة الفحص

السويتشالاسممتى تستخدمه؟
-T0Paranoidتهرب أقصى من IDS
-T1Sneakyبطيء جداً، صعب الكشف
-T2Politeلا تثقل الشبكة
-T3Normalالافتراضي
-T4Aggressiveشبكات سريعة، CTF
-T5Insaneأسرع ما يمكن، كثير أخطاء

التهرب من الـ Firewall والـ IDS

# تجزئة الحزم
nmap -f <IP>

# IPs وهمية (Decoys)
nmap -D 192.168.1.10,192.168.1.20,ME <IP>

# تغيير حجم الحزمة
nmap --mtu 32 <IP>

# منفذ مصدر محدد
nmap -g 53 <IP>

# بيانات عشوائية إضافية
nmap --data-length 200 <IP>

# مثال IDS Evasion كامل
nmap -f -T0 -n -Pn --data-length 200 -D 192.168.1.10,192.168.1.20,ME <IP>

حفظ النتائج

nmap <IP> -oN results.txt   # نص عادي
nmap <IP> -oX results.xml   # XML
nmap <IP> -oG results.grep  # Grepable
nmap <IP> -oA results       # الثلاثة معاً

مرجع سريع — أوامر Nmap الأكثر استخداماً

الأمرمتى تستخدمه
nmap -sn 192.168.1.0/24اكتشاف من هو حي على الشبكة
nmap -sV -sC -p- <IP>فحص شامل للخدمات
nmap -A <IP>كل شيء دفعة واحدة
nmap -sU --top-ports 100 <IP>فحص أهم منافذ UDP
nmap -Pn -p 80,443 <IP>فحص سريع بدون ping
nmap --script vuln <IP>فحص ثغرات شائعة
nmap -T4 -F <IP>فحص سريع جداً (CTF)

⚠️ OPSEC — على ماذا تنتبه؟

Nmap يُحدث ضجيجاً — خصوصاً مع الإعدادات الافتراضية. أي IDS أو SOC محترم سيلاحظه فوراً.

الإجراءما يتركه
-sS SYN scanحزم SYN بدون إكمال الاتصال — علامة واضحة لأي IDS
-A أو -sCسكريبتات كثيرة تفتح اتصالات متعددة — ضجيج عالٍ جداً
-p- كل المنافذعشرات الآلاف من الطلبات في ثوانٍ — تنبيه فوري
-T4 أو -T5سرعة مرتفعة = سهل الكشف
فحص UDPبطيء لكن يولّد كميات كبيرة من حزم ICMP

ما يجب مراعاته عملياً:

  • ابدأ بـ -T2 أو -T3 في البيئات الحساسة — لا تبدأ بـ -T4 إطلاقاً
  • استخدم --top-ports بدل -p- في المرحلة الأولى لتقليل الضجيج
  • الـ Decoys (-D) تشوّش على الـ IDS لكن لا تُخفيك تماماً — الـ timing pattern لا يزال ظاهراً
  • -sS يتطلب root — إذا شغّلته بدون صلاحيات، Nmap سيستخدم -sT تلقائياً وهو أكثر ضجيجاً
  • في بيئات CTF اشتغل بـ -T4 براحة — في pentest حقيقي وثّق كل أمر قبل تشغيله

🛠️ أدوات مشابهة لـ Nmap

الأداةالوصفالأمر المباشرالرابط
Masscanأسرع port scanner موجود — يفحص الإنترنت كله في دقائقmasscan -p1-65535 <IP> --rate=1000GitHub
Rustscanواجهة سريعة فوق Nmap — يجمع السرعة مع NSErustscan -a <IP> -- -sV -sCGitHub
Unicornscanفحص UDP متقدم وأسرع من Nmap في UDPunicornscan -mU <IP>GitHub
Zmapفحص شبكي واسع النطاق للباحثينzmap -p 80 192.168.1.0/24GitHub
Netcatفحص بسيط للمنافذ بدون أدوات إضافيةnc -zv <IP> 1-1000مدمجة في Linux