TOOL · ابزارها اسکنر شبکه

Nmap — اِن‌مپ

Network Mapper

Nmap ابزار کشف میزبان و پویش پورت شبکه است؛ در یک engagement وب نقش آن محدود و مشخص است — یافتن پورت‌های HTTP غیرمتعارف، انگشت‌نگاری سرویس و ساختن فهرست هدف — و یک اسکنر برنامه‌ی وب نیست.

تیم فنی پی‌هانتر

Nmap چیست؟

Nmap (Network Mapper) ابزار متن‌باز کشف شبکه و پویش پورت است که استاندارد عملی این حوزه به شمار می‌رود. کار اصلی آن پاسخ به این پرسش‌هاست: کدام میزبان‌ها زنده‌اند، کدام پورت‌ها باز است، و پشت هر پورت باز چه سرویسی با چه نسخه‌ای اجرا می‌شود.

در زمان نگارش این مطلب نسخه‌ی جاری 7.991 (منتشرشده در ۶ اوت ۲۰۲۶) است. نکته‌ای که هنگام بازتوزیع اهمیت دارد: Nmap از سال ۲۰۲۰ از GPLv2 خارج شده و اکنون تحت مجوز NPSL (یک مجوز اختصاصی Nmap، نه GPL استاندارد OSI) منتشر می‌شود؛ این تفاوت گاهی هنگام بسته‌بندی مجدد مشکل‌ساز می‌شود.

باور غلط رایج

«Nmap یک ابزار اسکن آسیب‌پذیری برنامه‌ی وب است.» — نادرست. Nmap ابزار شبکه و میزبان است. درباره‌ی منطق برنامه هیچ چیزی به شما نمی‌گوید. اسکریپت‌های http-* آن جایگزین ضعیفی برای یک اسکنر واقعی وب مثل Burp یا Nuclei هستند. جای Nmap در engagement وب، مرحله‌ی نگاشت زیرساخت است، نه آزمون خود برنامه.

جایگاه Nmap در یک engagement وب

برای یک شرکت تست نفوذ برنامه‌ی وب، صداقت درباره‌ی نقش Nmap مهم است: نقش آن واقعی اما محدود و مرزبندی‌شده است. Nmap در این کارها ارزش می‌آورد:

  • یافتن سرویس‌های وب روی پورت‌های غیرمتعارف. برنامه‌ی اصلی روی ۴۴۳ است، اما پنل مدیریت روی ۸۰۸۰، داشبورد مانیتورینگ روی ۹۰۰۰ و یک API قدیمی روی ۸۴۴۳ ممکن است پنهان مانده باشد. اینجا دقیقاً همان نقطه‌ای است که Nmap به کشف سطح حمله کمک می‌کند و مکمل subfinder است.
  • انگشت‌نگاری سرویس و نسخه با -sV، که ورودی مرحله‌ی بعدی (تشخیص CVEهای شناخته‌شده) است.
  • بازرسی TLS از طریق اسکریپت‌های NSE مثل ssl-enum-ciphers و ssl-cert برای ارزیابی پیکربندی TLS.
  • راستی‌آزمایی سطح حمله: مقایسه‌ی آنچه واقعاً در معرض است با آنچه مشتری فکر می‌کند در معرض است — این شکاف اغلب بزرگ است.

خروجی Nmap، فهرست هدف را می‌سازد که سپس به ابزارهای وب تحویل می‌شود. Nmap شروع را مرزبندی می‌کند؛ کار عمقی روی برنامه با ابزارهای دیگر انجام می‌شود.

کشف میزبان و انواع پویش

کشف میزبان (Host Discovery) نخستین گام است: تعیین اینکه کدام آدرس‌ها زنده‌اند. با -sn فقط کشف میزبان بدون پویش پورت انجام می‌شود:

nmap -sn 203.0.113.0/24

انواع پویش پورت:

  • -sS — پویش SYN (نیمه‌باز)؛ سریع و پیش‌فرض با دسترسی مدیر.
  • -sT — پویش TCP connect کامل؛ وقتی دسترسی خام سوکت ندارید.
  • -sU — پویش UDP؛ کندتر اما برای سرویس‌هایی مثل DNS و SNMP لازم.

محدوده‌ی پورت را با -p تعیین می‌کنید (-p- برای همه‌ی ۶۵۵۳۵ پورت، -p 80,443,8080,8443 برای پورت‌های وب رایج).

انگشت‌نگاری سرویس و نسخه با -sV مهم‌ترین بخش برای engagement وب است، چون نسخه‌ی دقیق سرور و میان‌افزار را می‌دهد که مبنای تشخیص آسیب‌پذیری‌های شناخته‌شده است:

nmap -sV -p 80,443,8080,8443 target.example.com

NSE، زمان‌بندی و خروجی

موتور اسکریپت Nmap (NSE) قابلیت‌های فراتر از پویش ساده اضافه می‌کند. اسکریپت‌های مرتبط با وب که واقعاً مفیدند:

  • http-title — عنوان صفحه‌ی هر سرویس وب.
  • http-methods — متدهای HTTP مجاز (کشف PUT/DELETE فعال).
  • http-security-headers — بررسی هدرهای امنیتی.
  • ssl-enum-ciphers — رده‌بندی مجموعه‌رمزهای TLS.
nmap -sV --script http-title,http-security-headers \
  -p 443,8443 target.example.com

قالب‌های زمان‌بندی از -T0 (بسیار کند و پنهان) تا -T5 (بسیار سریع و پرسروصدا) هستند. هشدار مهم: قالب‌های تهاجمی -T4 و -T5 می‌توانند سامانه‌های شکننده را ناپایدار کنند و به‌روشنی سامانه‌های تشخیص نفوذ را فعال می‌کنند. روی محیط عملیاتی محافظه‌کار باشید.

قالب‌های خروجی برای مستندسازی و زنجیره‌سازی: -oN (متن معمولی)، -oX (XML برای ابزارهای دیگر) و -oG (قابل grep). -oA هر سه را هم‌زمان می‌سازد:

nmap -sV -p- -oA scan-results target.example.com

محدودیت‌ها و نکته‌ی قانونی

محدودیت‌های Nmap را باید در گزارش و انتظارات مشتری روشن کرد:

  • Nmap درباره‌ی منطق برنامه هیچ نمی‌گوید — نه IDOR پیدا می‌کند، نه نقص کنترل دسترسی، نه تزریق.
  • اسکریپت‌های http-* جایگزین ضعیفی برای یک اسکنر واقعی وب‌اند و نباید به‌عنوان پوشش آزمون وب ارائه شوند.
  • پویش نسخه گاهی نتیجه‌ی نادرست می‌دهد؛ همیشه دستی تأیید کنید.
  • قالب‌های زمان‌بندی تهاجمی روی زیرساخت شکننده ریسک قطعی دارند.
نکته‌ی قانونی: فقط سامانه‌های خودی

پویش پورت سامانه‌هایی که مالک آن‌ها نیستید یا مجوز کتبی ندارید، در بسیاری از حوزه‌های قضایی مسئله‌ساز و بالقوه غیرقانونی است. Nmap ابزاری است که به‌روشنی در لاگ‌ها دیده می‌شود و قابل ردیابی است. در هر engagement، محدوده‌ی آدرس‌های مجاز باید در قرارداد مشخص باشد و پویش نباید از آن فراتر رود.

جمع‌بندی صادقانه: Nmap ابزار پایه و ضروری فاز نگاشت زیرساخت است، اما در یک تست نفوذ وب نقشی مکمل و مرزبندی‌شده دارد. کار اصلیِ یافتن آسیب‌پذیری‌های برنامه با Burp، ffuf و آزمون دستی انجام می‌شود.

پرسش‌های متداول

آیا Nmap یک اسکنر آسیب‌پذیری وب است؟

خیر. Nmap ابزار کشف شبکه و پویش پورت است. اسکریپت‌های http-* آن یک نگاه اولیه به سرویس‌های وب می‌دهند، اما جایگزین اسکنر واقعی برنامه‌ی وب مثل Burp یا Nuclei نیستند و منطق برنامه را نمی‌فهمند.

نقش Nmap در تست نفوذ وب چیست؟

نقشی مکمل و محدود: یافتن سرویس‌های وب روی پورت‌های غیرمتعارف، انگشت‌نگاری نسخه‌ی سرویس با -sV، بازرسی TLS، و راستی‌آزمایی سطح حمله. خروجی آن فهرست هدف را می‌سازد که سپس به ابزارهای آزمون وب تحویل می‌شود.

تفاوت -sS و -sT چیست؟

-sS پویش SYN یا نیمه‌باز است که اتصال TCP را کامل نمی‌کند؛ سریع‌تر است اما به دسترسی مدیر نیاز دارد. -sT پویش TCP connect کامل است که وقتی دسترسی سوکت خام ندارید به کار می‌آید اما پرسروصداتر و کندتر است.

آیا پویش با Nmap قانونی است؟

فقط روی سامانه‌هایی که مالک آن‌ها هستید یا مجوز کتبی دارید. پویش پورت سامانه‌ی دیگران بدون اجازه در بسیاری از حوزه‌های قضایی مسئله‌ساز است. Nmap در لاگ‌ها به‌روشنی دیده می‌شود؛ در engagement، محدوده‌ی مجاز باید در قرارداد مشخص باشد.

پیشگیری / رفع

نکات کلیدی استفاده از Nmap در engagement وب:

  • Nmap را برای نگاشت زیرساخت به کار ببرید، نه آزمون منطق برنامه؛ نتیجه‌ی آن ورودیِ ابزارهای وب است.
  • حتماً -sV را برای انگشت‌نگاری نسخه اجرا کنید؛ نسخه‌ی دقیق سرویس، مبنای تشخیص CVEهای شناخته‌شده است.
  • پورت‌های وب غیرمتعارف (۸۰۸۰، ۸۴۴۳، ۸۰۰۰، ۹۰۰۰) را جدا بررسی کنید؛ سرویس‌های فراموش‌شده اغلب همین‌جا هستند.
  • روی محیط عملیاتی از -T4/-T5 پرهیز کنید؛ زمان‌بندی تهاجمی سامانه‌ی شکننده را ناپایدار می‌کند.
  • خروجی را با -oA ذخیره کنید تا هم مستند باشد و هم به ابزارهای بعدی زنجیر شود.
  • اسکریپت‌های http-* را جایگزین اسکنر وب ندانید؛ آن‌ها یک نگاه اولیه‌اند، نه پوشش آزمون.
  • فقط محدوده‌ی آدرس‌های مشخص‌شده در قرارداد را پویش کنید؛ پویش خارج از scope تخلف است.

واژه‌های مرتبط

→ بازگشت به دانشنامه
PUT IT TO THE TEST

امنیت سامانه‌ی شما را
به مهاجمان واگذار نکنید

تیم پی‌هانتر با دیدِ یک مهاجم واقعی، این آسیب‌پذیری‌ها و ده‌ها مورد دیگر را روی دارایی‌های شما می‌سنجد.