Nmap من الداخل: دليل متقدم لفحص المنافذ وتحليل الشبكات
Nmap من الداخل: كيف يفكر ماسح الشبكات؟ دليل متقدم لفهم فحص المنافذ وتحليل النتائج
إذا كنت تستخدم Nmap فقط بهذه الطريقة:
nmap 192.168.1.10
ثم تنظر إلى كلمة "open" وتنتقل إلى الأمر التالي، فأنت تستخدم جزءًا صغيرًا جدًا من قوة الأداة.
Nmap ليس مجرد برنامج يبحث عن المنافذ المفتوحة.
إنه نظام كامل لجمع الأدلة من الشبكة، يبدأ بسؤال بسيط:
«هل يوجد جهاز أصلًا؟»
ثم ينتقل إلى:
«ما المنافذ التي يمكن الوصول إليها؟»
ثم:
«ما الخدمة التي تعمل خلف هذا المنفذ؟»
ثم:
«ما إصدارها؟»
ثم:
«ما نظام التشغيل المحتمل؟»
وأخيرًا يمكن أن يستخدم NSE لأتمتة مجموعة كبيرة من عمليات الاستطلاع والفحص.
وهنا تبدأ المتعة الحقيقية.
---
1. Nmap لا يرى "المنفذ" مباشرة
هذه نقطة مهمة جدًا.
عندما يقول Nmap:
80/tcp open
فهو لا ينظر داخل جهاز الهدف ويرى أن المنفذ 80 مفتوح.
Nmap يستنتج حالة المنفذ من الردود الشبكية التي يحصل عليها.
المنفذ في عالم Nmap ليس مجرد رقم؛ بل هو نتيجة لتفاعل بين:
- جهاز المصدر
- جهاز الهدف
- البروتوكول
- الخدمة
- الجدار الناري
- الشبكة بين الطرفين
- نوع الـProbe المستخدم
- وطريقة استجابة الهدف
ولهذا يمكن أن تحصل على نتيجة مختلفة للمنفذ نفسه إذا تغير مكان الفحص.
الوثائق الرسمية تذكر أن حالات المنافذ في Nmap تصف كيف يراها Nmap من موقع الفحص، وليست خصائص مطلقة للمنفذ نفسه.
وهذه واحدة من أهم الأفكار التي يجب أن يفهمها أي شخص يريد الانتقال من مستوى المبتدئ إلى المستوى المتقدم.
---
2. الحالات الست للمنافذ
Nmap يستطيع تصنيف المنفذ إلى عدة حالات رئيسية:
open
closed
filtered
unfiltered
open|filtered
closed|filtered
لكن الأكثر أهمية في الاستخدام اليومي هي:
open
هناك تطبيق يستقبل الاتصالات أو الحزم على المنفذ.
مثلًا:
80/tcp open http
هذا يعني أن هناك خدمة HTTP يمكن الوصول إليها على ذلك المنفذ.
closed
الجهاز قابل للوصول، لكن لا توجد خدمة تستمع على المنفذ.
مثل:
23/tcp closed telnet
وهذا ليس بالضرورة شيئًا سيئًا؛ بالعكس، المنفذ المغلق يخبرك أن الشبكة وصلت إلى الجهاز وأن الجهاز رد، لكن لا توجد خدمة تستمع هناك.
filtered
هنا تبدأ القصة الممتعة.
Nmap لا يستطيع تحديد هل المنفذ مفتوح أم مغلق لأن شيئًا ما يمنع الوصول أو يمنع ظهور الرد المتوقع.
قد يكون السبب:
- Firewall
- ACL
- فلترة على الشبكة
- جهاز أمني
- أو سياسة إسقاط للحزم
ولهذا:
80/tcp filtered http
لا تعني:
«المنفذ مغلق.»
بل تعني:
«لا أملك أدلة كافية لأثبت أنه مفتوح أو مغلق بسبب الفلترة.»
وهذا فرق ضخم.
---
3. لماذا لا يكفي أن ترى رقم المنفذ؟
من الأخطاء الشائعة جدًا:
22 = SSH
80 = HTTP
443 = HTTPS
ثم افتراض أن الخدمة الموجودة خلف المنفذ هي بالضرورة تلك الخدمة.
لكن رقم المنفذ لا يضمن نوع التطبيق.
يمكن تشغيل خدمة مختلفة على منفذ مشهور.
لهذا يوفر Nmap اكتشاف الخدمات والإصدارات.
مثلًا:
nmap -sV 192.168.1.10
بدل أن يقول:
8080/tcp open http-proxy
اعتمادًا على رقم المنفذ فقط، يحاول Nmap التحدث مع الخدمة وتحليل ردها لمعرفة ما الذي يعمل فعلًا.
وهذه نقطة أساسية: Nmap لا يعتمد دائمًا على رقم المنفذ وحده.
الوثائق الرسمية تشرح أن اكتشاف الخدمة والإصدار يعتمد على إرسال استعلامات إلى المنافذ لمعرفة التطبيق الفعلي بدل مجرد التخمين من رقم المنفذ.
---
4. ماذا يحدث في TCP SYN Scan؟
من أشهر تقنيات Nmap:
nmap -sS 192.168.1.10
الفكرة هنا مرتبطة مباشرة بمصافحة TCP.
عند إنشاء اتصال TCP طبيعي، نرى تقريبًا:
Client Server
SYN -------------------->
<---------------- SYN/ACK
ACK -------------------->
أما SYN Scan فيستفيد من مرحلة مبكرة من العملية.
بشكل مبسط:
Nmap Target
SYN -------------------->
<------------- SYN/ACK
إذا حصل Nmap على "SYN/ACK" فهذا مؤشر قوي على أن المنفذ مفتوح.
أما إذا حصل على "RST"، فهذا يشير عادةً إلى أن المنفذ مغلق.
وإذا لم يحصل على رد بسبب فلترة الشبكة، فقد تظهر الحالة:
filtered
الفكرة المهمة هنا ليست حفظ:
-sS
بل فهم لماذا يعطي Nmap هذه النتيجة.
---
5. لماذا توجد أنواع كثيرة من Port Scans؟
لأن الشبكات ليست متطابقة.
قد يكون عندك:
Target
|
Firewall
|
Internet
|
Nmap
وقد تكون في نفس الشبكة المحلية:
Nmap -------- Switch -------- Target
وقد يكون هناك:
Nmap
|
Firewall
|
IDS/IPS
|
Load Balancer
|
Server
كل طبقة يمكن أن تؤثر في نتيجة الفحص.
لهذا يحتوي Nmap على مجموعة من تقنيات الفحص المختلفة.
من بينها:
-sS
-sT
-sU
-sF
-sN
-sX
لكن لا تحفظها كأنها تعويذة سحرية.
اسأل نفسك دائمًا:
«ما المشكلة التي أحاول حلها؟»
هذا هو الفرق بين شخص يحفظ أوامر Nmap وشخص يفهم Nmap.
---
6. TCP Connect Scan
يمكن استخدام:
nmap -sT 192.168.1.10
في هذا النوع يعتمد Nmap على اتصال TCP الكامل بدل تقنية SYN التقليدية.
فكر فيها كالتالي:
SYN
↓
SYN/ACK
↓
ACK
↓
Connection established
هذا النوع مفيد خصوصًا عندما لا تستطيع Nmap استخدام الحزم الخام بالطريقة المطلوبة، مثل بعض البيئات التي لا تتوفر فيها الصلاحيات اللازمة.
---
7. UDP: المنطقة التي تجعل الفحص أبطأ
TCP واضح نسبيًا لأن هناك إشارات مثل:
SYN
SYN/ACK
RST
أما UDP فلا توجد فيه مصافحة TCP.
لذلك:
nmap -sU 192.168.1.10
قد يكون أبطأ بكثير.
وهنا تظهر مشكلة مهمة:
إذا أرسلت UDP إلى منفذ ولم تحصل على رد، فهل يعني ذلك:
closed
أم:
open
أم:
filtered
عدم وجود الرد لا يعطيك دائمًا الإجابة.
ولهذا تظهر في فحوص UDP حالات مثل:
open|filtered
أي أن Nmap لم يستطع الجزم.
الوثائق الرسمية توضح أن UDP وبعض أنواع الفحص الأخرى يمكن أن تصل إلى "open|filtered" لأن غياب الرد قد يكون بسبب أن المنفذ مفتوح لكنه لا يرسل ردًا، أو لأن الحزمة تم إسقاطها بواسطة فلتر.
---
8. لماذا يمكن أن يكون Nmap بطيئًا؟
الكثيرون يفكرون:
«Nmap بطيء.»
لكن السؤال الصحيح:
«لماذا الشبكة تجبر Nmap على الانتظار؟»
تخيل أنك ترسل:
Probe → Target
ولا يأتي رد.
هل تعيد الإرسال؟
كم تنتظر؟
ماذا لو كان هناك Firewall يسقط معظم الحزم؟
Nmap يحتاج إلى اتخاذ قرارات بناءً على:
- زمن الاستجابة
- فقدان الحزم
- عدد الردود
- حالة المنافذ
- حالة الشبكة
- والوقت المطلوب للحصول على معلومات موثوقة
وتوضح وثائق Nmap أن الخوارزميات تعتمد على مراقبة الشبكة لتقدير فقدان الحزم والـlatency، وأن الشبكات التي تحتوي على فلترة شديدة يمكن أن تجعل عملية الفحص أكثر صعوبة وبطئًا.
---
9. Timing Templates
يمكن التحكم في سرعة الفحص باستخدام:
-T0
-T1
-T2
-T3
-T4
-T5
مثلًا:
nmap -T4 192.168.1.10
لكن لا تفكر فيها فقط كالتالي:
T5 = سريع
T1 = بطيء
بل فكر في المفاضلة:
Speed
↕
Accuracy / Reliability
↕
Network Load
كلما أصبحت أكثر عدوانية في السرعة، زادت احتمالية أن تؤثر ظروف الشبكة على جودة النتائج أو الحمل الناتج عن الفحص.
في بيئة اختبار تملكها، يمكنك تجربة الإعدادات ومقارنة النتائج والزمن.
---
10. اكتشاف الخدمات أهم من مجرد اكتشاف المنافذ
بعد معرفة المنافذ المفتوحة، تأتي مرحلة أهم:
nmap -sV 192.168.1.10
مثال:
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 9.x
80/tcp open http nginx
443/tcp open https nginx
لاحظ الفرق.
المرحلة الأولى:
Port Discovery
والمرحلة الثانية:
Service Detection
والثانية تعطيك سياقًا أمنيًا أكبر بكثير.
لأن:
80 open
معلومة.
لكن:
80 open
nginx
version X
معلومة أكثر فائدة للتحليل.
---
11. OS Detection
يمكن تجربة اكتشاف نظام التشغيل:
nmap -O 192.168.1.10
Nmap يحاول تحليل خصائص الاستجابات الشبكية والاستدلال منها على نظام التشغيل.
لكن كلمة مهمة جدًا:
«Detection ≠ Certainty»
إذا قال Nmap:
OS details: Linux ...
لا تتعامل معها كحقيقة مطلقة.
هي نتيجة استدلالية.
وقد تتأثر النتائج بـ:
- Firewalls
- NAT
- أجهزة وسيطة
- تغييرات في TCP/IP stack
- قلة المنافذ المناسبة للتحليل
وهذا يقودنا إلى مهارة مهمة في الأمن السيبراني:
لا تصدق الأداة بشكل أعمى.
افهم الدليل الذي بنت عليه النتيجة.
---
12. NSE: عندما يتحول Nmap إلى منصة
من أقوى أجزاء Nmap:
Nmap Scripting Engine
وتستطيع استخدامه مثلًا:
nmap --script <script> 192.168.1.10
أو فئات من السكربتات وفق احتياجك.
NSE ليس مجرد "أمر إضافي".
إنه نظام يسمح بأتمتة العديد من مهام اكتشاف الخدمات والتحليل الأمني والشبكي. وتضعه وثائق Nmap ضمن المكونات الأساسية للأداة إلى جانب اكتشاف الخدمات ونظام التشغيل والأداء.
---
13. الفكرة الأهم: لا تبدأ بـ -A
قد ترى الأمر الشهير:
nmap -A 192.168.1.10
وهذا يجمع عدة قدرات متقدمة.
لكن للمبتدئ الذي يريد فهم Nmap فعلًا، المشكلة أن استخدام:
-A
من البداية قد يخفي ما يحدث خلف الكواليس.
الأفضل أن تفكك العملية:
Host Discovery
↓
Port Scanning
↓
Service Detection
↓
OS Detection
↓
NSE
↓
Analysis
ثم تفهم كل طبقة منفردة.
بعدها يصبح:
-A
اختصارًا مفهومًا بدل أن يكون زرًا سحريًا.
---
14. كيف تقرأ نتيجة Nmap مثل محلل أمني؟
افترض أنك حصلت على:
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
3306/tcp filtered mysql
المبتدئ يقول:
«عندي 3 منافذ مفتوحة.»
المحلل يقول:
22/SSH
أسأل:
- ما إصدار SSH؟
- هل الوصول مقيد؟
- هل يسمح بالمصادقة بكلمة مرور؟
- هل الخدمة ضرورية؟
80/HTTP
أسأل:
- ما الخادم؟
- هل يوجد Redirect إلى HTTPS؟
- ما التطبيق خلف الخادم؟
- هل توجد خدمة ويب غير محمية؟
443/HTTPS
أسأل:
- ما الخادم؟
- ما التطبيق؟
- هل توجد خدمات افتراضية؟
- هل الشهادة صحيحة؟
- ما التقنيات المستخدمة؟
3306/filtered
لا أقول:
«MySQL مغلق.»
بل أقول:
«هناك فلترة تمنعني من تحديد الحالة بدقة.»
هذه هي عقلية الـRecon.
---
15. من Port Scan إلى Attack Surface
هنا تبدأ Nmap تصبح أداة أمنية فعلية.
تخيل النتيجة:
22 SSH
80 HTTP
443 HTTPS
8080 HTTP
8443 HTTPS
أنت الآن لا تملك مجرد قائمة منافذ.
أنت تملك:
Attack Surface
أي مجموعة الخدمات التي يمكن الوصول إليها والتي تحتاج إلى تحليل.
كل خدمة تفتح أسئلة جديدة.
Port
↓
Service
↓
Version
↓
Configuration
↓
Exposure
↓
Risk
لاحظ أننا لم نقفز مباشرة إلى الاستغلال.
الاستطلاع الجيد يبدأ بفهم النظام.
---
16. خطأ خطير: اعتبار كل Open Port ثغرة
هذه فكرة خاطئة.
وجود:
22/tcp open
لا يعني:
SSH Vulnerable
ووجود:
80/tcp open
لا يعني:
Web Server Vulnerable
المنفذ المفتوح يعني أن هناك خدمة يمكن الوصول إليها.
بعد ذلك تحتاج إلى تحليل:
Service
Version
Configuration
Authentication
Exposure
Known vulnerabilities
Application behavior
وهنا يتحول الفحص من مجرد Enumeration إلى Security Assessment.
---
17. Nmap ليس أداة استغلال
وهذه نقطة تستحق التوضيح.
Nmap أساسًا أداة:
Network Discovery
+
Port Scanning
+
Service Detection
+
OS Detection
+
Security Auditing
وليس الهدف الأساسي منها استغلال الأنظمة.
يمكن أن تكون نتائج Nmap نقطة بداية لمراحل أخرى من اختبار الاختراق، لكن يجب أن تكون العملية داخل نطاق مصرح لك بفحصه.
---
18. مختبر عملي آمن
إذا كنت تريد تطبيق المقالة، استخدم بيئة تملكها أو مختبرًا مصممًا للتدريب.
مثال آمن للتعلم:
nmap scanme.nmap.org
أو استخدم:
TryHackMe
Hack The Box
Metasploitable
جهاز افتراضي تملكه
شبكة منزلية تملك صلاحية اختبارها
لا تبدأ بفحص مواقع عشوائية على الإنترنت.
الفحص نفسه قد يكون نشاطًا غير مرغوب فيه أو مخالفًا لسياسة صاحب النظام.
---
19. تمرين احترافي
أنشئ جهازًا افتراضيًا داخل مختبرك.
ابدأ:
nmap <TARGET>
ثم:
nmap -sS <TARGET>
ثم:
nmap -sV <TARGET>
ثم:
nmap -O <TARGET>
وبعدها قارن النتائج.
اكتب جدولًا مثل:
السؤال| النتيجة
هل الجهاز متاح؟| نعم/لا
المنافذ المفتوحة| ...
الخدمات| ...
الإصدارات| ...
نظام التشغيل المحتمل| ...
المنافذ المفلترة| ...
الخدمات التي تحتاج تحقيقًا إضافيًا| ...
ثم حاول الإجابة عن السؤال الأهم:
«ما الذي تستطيع استنتاجه من النتائج، وما الذي لا تستطيع إثباته؟»
هذه الجملة وحدها تفرق بين مستخدم أداة ومحلل أمني.
---
20. الخلاصة
Nmap ليس:
nmap IP
وينتهي الموضوع.
Nmap هو عملية تفكير:
Discover
↓
Scan
↓
Enumerate
↓
Identify
↓
Validate
↓
Analyze
وكل نتيجة يجب أن تقود إلى سؤال جديد.
إذا رأيت:
open
اسأل:
«ماذا يعمل؟»
إذا عرفت الخدمة:
«ما إصدارها؟»
إذا عرفت الإصدار:
«هل الإعداد آمن؟»
إذا رأيت:
filtered
اسأل:
«ما الذي يمنعني من معرفة الحقيقة؟»
وإذا أعطاك Nmap نظام تشغيل:
«ما الدليل الذي اعتمد عليه؟»
هذه هي النقلة الحقيقية من:
"أنا أعرف أوامر Nmap"
إلى:
"أنا أفهم ما الذي يحدث على الشبكة."
---
مصادر للتعمق
لمن يريد الدخول فعلًا في مستوى Nmap المتقدم، أفضل مرجع هو الدليل الرسمي Nmap Network Scanning، وهو يغطي فحص المنافذ، الخوارزميات، اكتشاف الخدمات، نظام التشغيل، NSE، الأداء، والجدران النارية وIDS.
كما أن Nmap Reference Guide الرسمي يُحدَّث مع إصدارات Nmap ويحتوي على تفاصيل الخيارات وتقنيات الفحص واكتشاف الخدمات ونظام التشغيل وNSE والأداء وغيرها.
«تنبيه: استخدم Nmap فقط على الأنظمة والشبكات التي تملكها أو لديك تصريح صريح لاختبارها
أفضل مدونه لى تعليم الامن السبراني لا تنسونا من المتابعه ❤️

تعليقات