مبین کبیر · مهندس شبکه بازگشت به بلاگ ←
آموزش Nmap

آموزش Nmap؛ اسکن پورت، شناسایی سرویس و سیست‌عامل

۱۲ شهریور ۱۴۰۵ · 7 دقیقه مطالعه

شناسایی (Reconnaissance) اولین مرحله‌ی هر تست نفوذ است. Nmap به شما می‌گوید کدام میزبان‌ها زنده‌اند، کدام پورت باز است و کدام سرویس پشت آن اجرا می‌شود؛ اطلاعاتی که پایه‌ی همه‌ی مراحل بعدی است.

اسکن میزبان‌های زنده؛ شبکه را بشناس

ساده‌ترین شروع، بررسی کل شبکه:

nmap -sn 192.168.1.0/24

این دستور بدون اسکن پورت، فقط میزبان‌های آنلاین را لیست می‌کند. اگر پورت‌های مشخصی می‌خواهی:

nmap -p 1-1024 192.168.1.20

اسکن پورت؛ TCP کامل یا SYN سریع

  • اسکن اتصال کامل: nmap -sT target
  • اسکن SYN نیمه‌باز (سریع‌تر و کم‌صدا): nmap -sS target
  • پورت‌های خاص: nmap -p 22,443,3389 یا nmap -p- برای همه‌ی پورت‌ها

اسکن SYN نیاز به دسترسی root دارد و در تمرین‌های واقعی رایج‌ترین انتخاب است.

شناسایی سرویس و نسخه با nmap -sV

وقتی پورت باز پیدا شد، بدانی چه نرم‌افزاری با چه نسخه‌ای اجرا می‌شود حیاتی است:

nmap -sV target

نسخه‌ی سرویس کمک می‌کند ضعف‌های مستندشده را پیدا کنی؛ قدمی که بعد از شناسایی، در مسیر آموزش Metasploit دنبال می‌شود.

تشخیص سیست‌عامل و اسکن جامع

  • سیستم‌عامل: nmap -O target
  • ترکیب همه‌چیز برای یک ماشین: nmap -A target (سرویس + نگارش + OS + مسیر)

برای یک هدف واحد، -A بهترین نتیجه را می‌دهد؛ روی کل شبکه می‌تواند پرصدا و زمان‌بر باشد.

خروجی‌ها و گزارش‌دهی

برای مستندسازی در تست نفوذ:

  • خروجی متنی: nmap -oN out.txt target
  • خروجی XML: nmap -oX out.xml target
  • خروجی Grepable: nmap -oG out.grep target

خروجی XML برای ابزارها و گزارش نهایی و خروجی Grepable برای اسکریپت‌نویسی مفید است.

قانونی بودن اسکن را همیشه رعایت کن

اسکن روی شبکه‌ای که مالکش نیستی، بدون مجوز، هم اخلاقاً خطا و هم قانوناً تخلف است. حتی اسکن‌های مجاز هم معمولاً در رنج آی‌پی مشخص و پنجره‌ی زمانی اعلام‌شده انجام می‌شود.

تمرین پیشنهادی

چند ماشین آزمایشی با سرویس‌های مختلف (وب، SSH، FTP) راه بینداز و فقط از روی خروجی Nmap حدس بزن چه سرویسی با چه نسخه‌ای بالا است؛ این مهارت، زیربنای پیدا کردن آسیب‌پذیری‌های واقعی است. محیط تمرین را در نصب کالی لینوکس آماده کن.

سوالات متداول

کدام اسکن Nmap بهترین است؟

با دسترسی root، اسکن SYN (sS) سریع‌تر و کم‌صداتر است؛ اسکن کامل TCP (sT) سازگارتر اما کندتر است.

منظور از وضعیت پورت (باز/بسته/فیلتر) چیست؟

پورت «باز» یعنی سرویسی روی آن در حال گوش‌دادن است؛ «بسته» یعنی قابل دسترسی ولی بدون سرویس؛ «فیلتر» معمولاً یعنی فایروال پاسخی ارسال نمی‌کند.

چرا اسکن گاهی کند یا دقتش کم است؟

فایروال‌ها، محدودیت نرخ و عدم رسیدن بسته‌ها نتیجه را تغییر می‌دهند. تنظیم timing (مثل T4) یا اسکن تکه‌به‌تکه گاهی کمک می‌کند.

آیا اسکن پورت جرم است؟

اسکن بدون مجوز روی سیستم‌های دیگران در بسیاری از کشورها جرم است؛ همیشه قبل از هر اسکن از صاحب شبکه مجوز کتبی بگیر.