Nmap من الداخل: دليل متقدم لفحص المنافذ وتحليل الشبكات

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 فقط على الأنظمة والشبكات التي تملكها أو لديك تصريح صريح لاختبارها 

أفضل مدونه لى تعليم الامن السبراني لا تنسونا من المتابعه ❤️

تعليقات

‏قال غير معرف…
جيد

الأكثر قراءة هذا الأسبوع

أمن تطبيقات الويب للمبتدئين: الأساسيات التي لا تتخطاها

تخزين التوكن في LocalStorage: الخطأ اللي يخلي أي XSS يسرق حسابك بالكامل

ويندوز يخفي عنك الكثير… اكتشف 7 أدوات ستغير طريقة استخدامك لجهازك 🤯