ما هو 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 معين
تقنيات الفحص
| السويتش | الوصف |
|---|---|
-sS | TCP SYN scan — الأسرع والأهدأ (يحتاج root) |
-sT | TCP Connect — بدون صلاحيات root |
-sU | UDP scan — أبطأ لكن ضروري |
-sA | TCP 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 — سرعة الفحص
| السويتش | الاسم | متى تستخدمه؟ |
|---|---|---|
-T0 | Paranoid | تهرب أقصى من IDS |
-T1 | Sneaky | بطيء جداً، صعب الكشف |
-T2 | Polite | لا تثقل الشبكة |
-T3 | Normal | الافتراضي |
-T4 | Aggressive | شبكات سريعة، CTF |
-T5 | Insane | أسرع ما يمكن، كثير أخطاء |
التهرب من الـ 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=1000 | GitHub |
| Rustscan | واجهة سريعة فوق Nmap — يجمع السرعة مع NSE | rustscan -a <IP> -- -sV -sC | GitHub |
| Unicornscan | فحص UDP متقدم وأسرع من Nmap في UDP | unicornscan -mU <IP> | GitHub |
| Zmap | فحص شبكي واسع النطاق للباحثين | zmap -p 80 192.168.1.0/24 | GitHub |
| Netcat | فحص بسيط للمنافذ بدون أدوات إضافية | nc -zv <IP> 1-1000 | مدمجة في Linux |