برنامج Nmap Security Scanner | لتأمين وحماية الشبكات
Nmap Security Scanner هو أداة قوية ومجانية ومفتوحة المصدر تستخدم لاكتشاف الشبكات والتدقيق الأمني. يُعرف أيضًا باسم “Network Mapper”. يقوم Nmap بإرسال حزم بيانات إلى الأجهزة المستهدفة على الشبكة وتحليل الردود لتحديد مجموعة واسعة من المعلومات حولها.
مميزات برنامج Nmap Security Scanner
قوة ومرونة لا مثيل لهما:
- فحص شامل للمنافذ: يوفر مجموعة واسعة من تقنيات فحص المنافذ (TCP SYN, TCP Connect, UDP, SCTP, وغيرها) لتحديد حالة المنافذ (مفتوحة، مغلقة، مُرشحة) بدقة عالية.
- اكتشاف متقدم للأجهزة المضيفة: يستخدم طرقًا متعددة لتحديد الأجهزة النشطة على الشبكة، حتى في البيئات المعقدة أو المحمية بجدران الحماية.
- الكشف الدقيق عن الخدمات والإصدارات: لا يكتفي Nmap بتحديد المنفذ المفتوح، بل يحاول أيضًا تحديد الخدمة التي تعمل على هذا المنفذ وإصدارها، مما يساعد في تقييم الثغرات الأمنية المحتملة المرتبطة بإصدار معين.
- تحديد نظام التشغيل: يمكن لـ Nmap محاولة تخمين نظام التشغيل الذي يعمل على الجهاز المستهدف من خلال تحليل استجاباته لحزم البيانات.
- محرك البرمجة النصية القوي (NSE): يتيح للمستخدمين كتابة وتنفيذ نصوص برمجية لأتمتة مهام متنوعة مثل:
- الكشف عن الثغرات الأمنية المعروفة.
- تنفيذ اختبارات محددة للخدمات.
- اكتشاف معلومات إضافية حول الأجهزة والخدمات.
- أتمتة عمليات التدقيق الأمني.
- تخصيص عمليات الفحص بشكل دقيق: يوفر Nmap عددًا كبيرًا من الخيارات والمعلمات التي تسمح للمستخدمين بتخصيص عمليات الفحص لتلبية احتياجاتهم الدقيقة، مما يزيد من الكفاءة والدقة.
سهولة الاستخدام وإمكانية الوصول:
- مجاني ومفتوح المصدر: أداة قوية متاحة للجميع دون أي تكلفة، مع مجتمع نشط يساهم في تطويرها ودعمها.
- دعم واسع لأنظمة التشغيل: يعمل على معظم أنظمة التشغيل الشائعة، بما في ذلك Linux، Windows، و macOS.
- واجهة سطر أوامر قوية ومرنة: توفر تحكمًا كاملاً للمستخدمين المتقدمين.
- واجهة رسومية سهلة الاستخدام (Zenmap): توفر واجهة مرئية بديلة لسطر الأوامر، مما يجعل Nmap في متناول المستخدمين المبتدئين.
- توثيق شامل ومجتمع نشط: يتوفر توثيق مفصل للبرنامج، بالإضافة إلى مجتمع كبير من المستخدمين والخبراء يقدمون الدعم والمساعدة.
قيمة وأهمية في مجال أمن المعلومات:
- أداة أساسية للتدقيق الأمني واختبار الاختراق: لا غنى عنها لتقييم أمان الشبكات والأنظمة وتحديد نقاط الضعف المحتملة قبل استغلالها من قبل المهاجمين.
- مساعدة في إدارة الشبكات: يمكن لمسؤولي الأنظمة استخدامها لجرد الأجهزة والخدمات، ومراقبة التوفر، وتشخيص المشكلات.
- الكشف عن الأصول غير المصرح بها: يساعد في تحديد الأجهزة أو الخدمات غير المعروفة التي قد تكون موجودة على الشبكة.
- فهم معمق للشبكات والخدمات: يوفر رؤية تفصيلية حول كيفية عمل الشبكات والخدمات، مما يساعد في اتخاذ قرارات أمنية مستنيرة.
- معيار صناعي: يعتبر Nmap أداة قياسية في مجال أمن المعلومات، وغالبًا ما تكون المعرفة به مهارة مطلوبة للمحترفين.
طريقة تشغيل واستخدام برنامج Nmap Security Scanner
1. التثبيت:
- Linux: في معظم توزيعات Linux، يمكنك تثبيت Nmap باستخدام مدير الحزم الخاص بالتوزيعة. على سبيل المثال:
- Debian/Ubuntu:
sudo apt update && sudo apt install nmap
- Fedora/CentOS/RHEL:
sudo dnf install nmap
أوsudo yum install nmap
- Arch Linux:
sudo pacman -S nmap
- Debian/Ubuntu:
- Windows: يمكنك تنزيل مثبت Nmap الرسمي من الموقع الإلكتروني (https://nmap.org/download.html) وتشغيله لتثبيت البرنامج. يتضمن المثبت عادةً واجهة رسومية (Zenmap).
- macOS: يمكنك تنزيل مثبت Nmap DMG من الموقع الرسمي أو استخدام مدير الحزم مثل Homebrew:
brew install nmap
.
2. التشغيل الأساسي (باستخدام سطر الأوامر):
افتح نافذة الطرفية (Terminal في Linux/macOS أو Command Prompt/PowerShell في Windows) وابدأ في استخدام أمر nmap
متبوعًا بالخيارات والهدف.
أمثلة أساسية:
-
فحص جهاز واحد: لفحص المنافذ المفتوحة على جهاز معين (استبدل
target_ip
بعنوان IP الخاص بالجهاز):Bash
nmap target_ip
سيقوم هذا الأمر بإجراء فحص SYN افتراضي لأكثر 1000 منفذ شائع على الجهاز الهدف.
-
فحص نطاق من عناوين IP: لفحص نطاق كامل من عناوين IP (استبدل
network_address
بعنوان الشبكة وcidr
بقناع الشبكة CIDR):Bash
nmap 192.168.1.0/24
سيقوم هذا الأمر بفحص الأجهزة النشطة والمنافذ المفتوحة ضمن هذا النطاق.
-
فحص اسم نطاق (Domain Name): يمكنك أيضًا استهداف اسم نطاق وسيحل Nmap عنوان IP المرتبط به:
Bash
nmap example.com
3. الخيارات الشائعة:
يوفر Nmap العديد من الخيارات لتخصيص عمليات الفحص. إليك بعض الخيارات الأكثر استخدامًا:
-sS
(TCP SYN Scan): فحص SYN هو النوع الأكثر شيوعًا والأكثر سرية. يرسل حزم SYN ويبحث عن استجابات SYN/ACK (منفذ مفتوح) أو RST (منفذ مغلق). لا يكمل المصافحة الثلاثية الكاملة لـ TCP.-sT
(TCP Connect Scan): يقوم هذا النوع بإكمال المصافحة الثلاثية الكاملة لـ TCP لإنشاء اتصال ثم إغلاقه. يتطلب امتيازات أقل من فحص SYN وقد يتم تسجيله بسهولة أكبر.-sU
(UDP Scan): لفحص منافذ UDP. نظرًا لطبيعة UDP غير المتصلة، قد يستغرق هذا الفحص وقتًا أطول وقد تكون نتائجه أقل موثوقية.-p <قائمة المنافذ>
: لتحديد المنافذ التي تريد فحصها. يمكنك تحديد منفذ واحد (-p 80
)، نطاق من المنافذ (-p 1-1000
)، أو قائمة محددة (-p 21,22,80,443
). يمكنك أيضًا استخدام-p-
لفحص جميع المنافذ (65535 منفذًا).-v
(Verbose): لزيادة مستوى الإسهاب في الإخراج، مما يوفر المزيد من التفاصيل حول عملية الفحص. استخدم-vv
أو-vvv
لمزيد من الإسهاب.-O
(OS Detection): لمحاولة تحديد نظام التشغيل للجهاز الهدف. يتطلب هذا الخيار عادةً امتيازات الروت/المسؤول.-sV
(Version Detection): لتحديد اسم وإصدار الخدمة التي تعمل على منفذ مفتوح.-A
(Aggressive Scan): يقوم بتشغيل مجموعة من عمليات الفحص الشائعة، بما في ذلك اكتشاف نظام التشغيل، واكتشاف الإصدار، وفحص النصوص البرمجية الأساسية، وتتبع المسار.-T<0-5>
(Timing Templates): للتحكم في سرعة الفحص. القيم تتراوح منT0
(بطيء جدًا ومراوغ) إلىT5
(سريع جدًا وقد يكون أقل دقة).T3
هو الوضع الافتراضي.--script <اسم النص البرمجي أو الفئة>
: لتشغيل نصوص Nmap Scripting Engine (NSE). يمكنك تحديد نص برمجي واحد (--script http-headers
)، فئة من النصوص (--script vuln
), أو استخدامall
لتشغيل جميع النصوص (بحذر!).
أمثلة متقدمة:
-
فحص TCP SYN لـ 100 منفذ الأكثر شيوعًا مع إخراج مفصل:
Bash
nmap -sS -p 1-100 -v target_ip
-
فحص UDP للمنفذ 161 (SNMP) مع الكشف عن الخدمة:
Bash
nmap -sU -p 161 -sV target_ip
-
فحص شامل (Aggressive) لجهاز مع معين:
Bash
sudo nmap -A target_ip
(قد يتطلب
sudo
لتشغيل بعض الخيارات مثل-O
) -
تشغيل نص برمجي محدد للكشف عن ثغرات Shellshock:
Bash
nmap --script http-shellshock target_ip
-
حفظ الإخراج إلى ملف: يمكنك حفظ نتائج الفحص إلى ملف بتنسيقات مختلفة:
- تنسيق عادي:
nmap -oN output.txt target_ip
- تنسيق XML:
nmap -oX output.xml target_ip
- تنسيق grepable:
nmap -oG output.gnmap target_ip
- تنسيق عادي:
4. استخدام Zenmap (الواجهة الرسومية):
إذا قمت بتثبيت Nmap على Windows أو اخترت استخدام Zenmap على أنظمة أخرى، يمكنك الاستفادة من واجهة رسومية سهلة الاستخدام:
- تشغيل Zenmap: ابحث عن “Zenmap” في قائمة التطبيقات الخاصة بك وقم بتشغيله.
- إدخال الهدف: في حقل “Target”، أدخل عنوان IP أو اسم النطاق الذي تريد فحصه.
- اختيار نوع الفحص: من القائمة المنسدلة “Profile”، يمكنك اختيار أنواع الفحص الشائعة (مثل “Intense scan”، “Ping scan”، “Quick scan”). يمكنك أيضًا تخصيص خيارات الفحص بالنقر على زر “Profile” ثم “Edit selected profile” أو إنشاء ملف تعريف جديد.
- بدء الفحص: انقر على زر “Scan”.
- عرض النتائج: ستظهر نتائج الفحص في علامات تبويب مختلفة، بما في ذلك “Nmap Output” (إخراج سطر الأوامر الخام)، “Ports/Hosts” (قائمة بالمنافذ المفتوحة والأجهزة)، “Topology” (تصور للشبكة)، و “Host Details” (تفاصيل حول جهاز محدد).
ملاحظات هامة:
- الأخلاقيات والقانون: استخدم Nmap فقط على الشبكات والأجهزة التي لديك إذن بفحصها. فحص شبكات أو أجهزة ليس لديك إذن بفحصها يعتبر غير قانوني وغير أخلاقي.
- الحذر: بعض عمليات فحص Nmap يمكن أن تكون تدخلية وقد تؤثر على أداء الأجهزة أو الخدمات المستهدفة، خاصة إذا تم استخدام خيارات مكثفة أو نصوص برمجية غير معروفة. ابدأ بفحوصات أساسية وأقل تدخلية لفهم سلوك الهدف.
- قراءة التوثيق: يعتبر دليل Nmap الرسمي (https://nmap.org/book/) مصدرًا ممتازًا لتعلم المزيد عن جميع خيارات وميزات البرنامج.
متطلبات تشغيل برنامج Nmap Security Scanner
بشكل عام:
- مساحة القرص: على الأقل 50 إلى 100 ميجابايت من المساحة الحرة لتثبيت البرنامج وملفاته.
- الذاكرة العشوائية (RAM): الحد الأدنى 512 ميجابايت، ويوصى بـ 1 جيجابايت أو أكثر للحصول على أداء أفضل، خاصة عند فحص شبكات كبيرة أو استخدام العديد من النصوص البرمجية.
- اتصال الشبكة: بطاقة شبكة (Ethernet أو لاسلكية) للقيام بعمليات الفحص.
متطلبات خاصة بنظام التشغيل:
Linux:
- توزيعة Linux حديثة مثل Ubuntu، Debian، CentOS، Fedora، أو Arch Linux.
- في معظم الحالات، تأتي معظم التبعيات الضرورية مثبتة مسبقًا. إذا كنت تقوم بالتجميع من المصدر، فقد تحتاج إلى تثبيت:
build-essential
libssl-dev
- بالنسبة للأنظمة المستندة إلى RHEL (CentOS، Fedora):
gcc
،make
،openssl-devel
.
- صلاحيات المستخدم: ستحتاج غالبًا إلى صلاحيات
root
(باستخدامsudo
) لتنفيذ بعض أنواع الفحص المتقدمة التي تتطلب إرسال حزم خام.
Windows:
- Windows 7 أو أحدث (بما في ذلك إصدارات Server).
- صلاحيات المسؤول: مطلوبة لتثبيت البرنامج.
- Npcap: مكتبة التقاط الحزم المجانية مطلوبة لوظائف التقاط الحزم الخام. يتم تضمين مثبت Npcap عادةً مع مثبت Nmap لنظام Windows. بدون Npcap، قد تكون بعض أنواع الفحص محدودة (مثل فحص SYN) وقد تحتاج إلى استخدام فحص TCP Connect (
-sT -Pn
) بدلاً من ذلك. - Microsoft Visual C++ Redistributable Package: قد يكون مطلوبًا لتشغيل Nmap. يتم تضمينه غالبًا في مثبت Nmap.
macOS:
- macOS 10.14 (Mojave) أو أحدث.
- Homebrew (موصى به): لتسهيل عملية التثبيت وإدارة التبعيات. يمكنك تثبيت Nmap باستخدام الأمر
brew install nmap
. - إذا كنت تقوم بالتثبيت يدويًا من ملف DMG، فاتبع التعليمات المقدمة في المثبت.
- قد تحتاج إلى صلاحيات
sudo
لتنفيذ بعض أنواع الفحص.
ملاحظات إضافية:
- الأداء: يعتمد الأداء بشكل كبير على حجم الشبكة المستهدفة، ونوع الفحص الذي تقوم به، وسرعة اتصال الشبكة لديك.
- واجهة المستخدم الرسومية (Zenmap): إذا كنت تخطط لاستخدام واجهة Zenmap الرسومية، فتأكد من أن لديك بيئة رسومية عاملة على نظامك. يتم تضمين Zenmap عادةً في حزم التثبيت الخاصة بـ Windows و macOS ويمكن تثبيتها بشكل منفصل على Linux.
- التبعية على المكتبات: في بعض الحالات المتقدمة أو عند تجميع Nmap من المصدر، قد تحتاج إلى تثبيت مكتبات إضافية مثل
libpcap
،libssl
،libpcre
، وغيرها، اعتمادًا على الميزات التي ترغب في استخدامها.
تابعنا دائماً لتحميل أحدث البرامج من موقع شرح PC