مقدمة عن Nmap
Nmap (Network Mapper) هي أداة مفتوحة المصدر لاستكشاف الشبكات واختبار الأمان. تُستخدم لاكتشاف الأجهزة والخدمات على شبكة كمبيوتر، مما يوفر معلومات قيمة عن المضيفين المتاحين، الخدمات التي يقدمونها، أنظمة التشغيل التي يعملون بها، وأنواع جدران الحماية المستخدمة.
نصيحة: تأكد من أنك تمتلك الإذن المناسب لمسح الشبكات التي تستهدفها. استخدام Nmap على شبكات دون إذن قد يكون غير قانوني في بعض البلدان.
التثبيت والإعداد
كيفية تثبيت Nmap على أنظمة التشغيل المختلفة:
Terminal
# على أنظمة Ubuntu/Debian
sudo apt update
sudo apt install nmap
# على أنظمة CentOS/RHEL/Fedora
sudo yum install nmap
# أو
sudo dnf install nmap
# على macOS باستخدام Homebrew
brew install nmap
# على Windows
# قم بتنزيله من الموقع الرسمي: https://nmap.org/download.html
ملاحظة: تأكد من تحديث Nmap إلى أحدث版本 للحصول على أحدث الميزات وإصلاحات الأمان.
المسح الأساسي
المسح المتقدم
المسخ المتخفي
خيارات الإخراج
مسح الأهداف الأساسي
أوامر المسح الأساسية لتحديد الأهداف والشبكات:
| الأمر | الوصف |
|---|---|
nmap <hostip> | مسح عنوان IP مفرد |
nmap <hostip1> <hostip2> | مسح عناوين IP محددة |
nmap 192.168.1.1-254 | مسح نطاق من العناوين |
nmap scanme.nmap.org | مسح نطاق (domain) |
nmap 192.168.1.0/24 | مسح باستخدام ترميز CIDR |
nmap -iL targets.txt | مسح أهداف من ملف |
nmap -iR 100 | مسح 100 جهاز عشوائي |
nmap --exclude 192.168.1.1 | استبعاد أجهزة محددة |
nmap -sn 192.168.1.0/24 | اكتشاف الأجهزة النشطة فقط (لا مسح منافذ) |
مسح متقدم
أوامر المسح المتقدمة مع خيارات إضافية:
| الأمر | الوصف |
|---|---|
nmap -sP 192.168.1.0/24 | مسح ping لعناوين متعددة مرة واحدة |
nmap -p <port(s)> <host> | مسح منافذ محددة |
nmap -p- <host> | مسح جميع المنافذ (1-65535) |
nmap -sT <host> | مسح TCP كامل (three-way handshake) |
nmap -O <host> | كشف نظام التشغيل |
nmap -A <host> | كشف متقدم (نظام التشغيل + الإصدار + السكريبتات + traceroute) |
nmap -sV <host> | كشف إصدار الخدمة |
nmap --script ssl-enum-ciphers -p 443 <host> | فحص SSL/TLS |
nmap --script vuln <host> | فحص الثغرات الأمنية |
مسح متخفي
أوامر المسح المتخفي لتجنب الاكتشاف:
| الأمر | الوصف |
|---|---|
nmap -sS -p <port(s)> <host> | مسح SYN متخفي (لا يكمل three-way handshake) |
nmap -sN <host> | مسح NULL (لا flags) |
nmap -sF <host> | مسح FIN (فقط FIN flag) |
nmap -sX <host> | مسح Xmas (FIN, PSH, URG flags) |
nmap -D <decoy1,decoy2> <host> | إضافة عناوين خداع لإخفاء المسح الحقيقي |
nmap -T0 <host> | أبطأ مسح (تخفي شديد) |
nmap -T5 <host> | أسرع مسح (ضجيج عالي) |
nmap -f <host> | تجزئة الحزم (لتجنب كشف جدار الحماية) |
nmap --data-length 100 <host> | إضافة بيانات عشوائية للحزم |
تحذير: العديد من أنظمة كشف التسلل (IDS) الحديثة يمكنها اكتشاف مسح Nmap حتى مع استخدام التقنيات المتخفية. استخدم هذه التقنيات بحذر وفقط على الشبكات التي你有 الإذن لفحصها.
خيارات الإخراج
خيارات حفظ وتصدير نتائج المسح:
| الأمر | الوصف |
|---|---|
nmap -oN results.txt <host> | حفظ النتائج بتنسيق عادي |
nmap -oX results.xml <host> | حفظ النتائج بتنسيق XML |
nmap -oG results.grep <host> | حفظ النتائج بتنسيق grepable |
nmap -oS results.script <host> | حفظ النتائج بتنسيق script kiddie |
nmap -oA results <host> | حفظ النتائج بجميع التنسيقات |
nmap -v <host> | وضع verbose (مفصل) |
nmap -vv <host> | وضع very verbose (مفصل جداً) |
nmap --reason <host> | عرض سبب كون المنفذ مفتوحاً أو مغلقاً |
nmap --stats-every 10s <host> | عرض الإحصائيات كل 10 ثوان |
أمثلة عملية شائعة
مثال: مسح أساسي مع الخيارات الشائعة
Terminal
nmap -sV -sC -oA nmap_scan 192.168.1.1
-sV→ كشف إصدار الخدمة-sC→ تشغيل السكريبتات الافتراضية-oA→ حفظ النتائج بجميع التنسيقات
مثال: مسح شامل لجميع المنافذ
Terminal
nmap -p- -sV -sC -T4 -oA full_scan 192.168.1.100
-p-→ مسح جميع المنافذ (1-65535)-T4→ سرعه متوسطة (أسرع من الافتراضي)
مثال: مسح شبكة كاملة
Terminal
nmap -sn 192.168.1.0/24
هذا المسح يكتشف الأجهزة النشطة فقط دون مسح المنافذ، مفيد لرسم خريطة الشبكة.
مثال: مسح متخفي مع خداع
Terminal
nmap -sS -D 192.168.1.99,192.168.1.100 -p 22,80,443 -T2 192.168.1.1
-sS→ مسح SYN متخفي-D→ إضافة عناوين خداع-T2→ سرعه بطيئة (أكثر تخفياً)
نصائح وتقنيات متقدمة
تحسين الأداء: استخدم الخيار
-T للتحكم في سرعة المسح. -T0 (أبطأ) إلى -T5 (أسرع). المسح الأسرع يولد ضجيجاً أكثر ويمكن اكتشافه بسهولة.
الأمان القانوني: تأكد دائماً من أنك تمتلك الإذن الكتابي لمسح الشبكات والأجهزة. المسح غير المصرح به قد يعتبر جريمة في العديد من البلدان.
السكريبتات المخصصة: Nmap يأتي مع المئات من السكريبتات المتخصصة. استخدم
nmap --script-help <script-name> لمعرفة المزيد عن سكريبت معين.