چه می کنه این nmap!!!
هر پورت یه دره؛ با Nmap درها رو قفل کن 🔒
nmap یک ابزار قدرتمند برای کشف میزبانها، پورتها، سرویسها و اغلب سیستمعاملهاست. هدف این راهنما: نشان دادن گزینههای عملی و متداول، کاربرد هر کدام و مثالهای واقعیِ امنسازی—نه آموزش حمله.
۱. دستور پایه
nmap target
targetمیتواند آیپی، دامنه یا بازه باشد (۱۹۲.۱۶۸.۱.۱,example.com,۱۹۲.۱۶۸.۱.۰/۲۴).زمان استفاده: وقتی میخواهید یک اسکن ساده و سریع از پورتهای پیشفرض انجام دهید.
۲. تعیین پورتها (port selection)
nmap -p 22,80,443 target
nmap -p 1-65535 target
مثال: پورتهای TCP و UDP جدا
nmap -p T:80,443,U:53 target
کاربرد: وقتی میدانید کدام پورتها مهمند یا میخواهید همهٔ پورتها را چک کنید.
نکته امنیتی: برای کشف سرویسهای باز روی پورتهای غیرمعمول.
۳. نوع اسکن (Scan types)
nmap -sS target # TCP SYN scan
nmap -sT target # TCP connect scan
nmap -sU target # UDP scan
nmap -sA target # ACK scan
nmap -sN target # TCP Null scan
nmap -sV target
nmap -O target
چه وقت هرکدام:
-sSبرای اسکن سریع و معمول (نیاز به دسترسی raw socket).-sTاگر دسترسی محدود است.-sUبرای سرویسهای UDP (DNS, SNMP, etc.).-sAبرای بررسی رفتار فایروال (چه بستههایی فیلتر میشوند).-sVبرای شناسایی نرمافزار و نسخه برای برطرف کردن CVEها.-Oبرای تخمین سیستمعامل: کمک به تطبیق پچ و تنظیمات.
۴. تشخیص سرویس و ورژن + اسکریپتها (Service detect & NSE)
nmap -sV –version-intensity 5 target
nmap –script “default or safe” target
nmap –script vuln target
nmap -sV –script “http-*” target
--script= استفاده از Nmap Scripting Engine (NSE).چه وقت: بعد از کشف پورتهای باز، برای بررسی دقیقتر سرویسها، پیکربندی اشتباه یا آسیبپذیریهای شناختهشده.
نکته: از اسکریپتهای
vulnیا تهاجمی تنها روی سیستمهای مجاز استفاده کنید.
۵. بررسی سریع شبکه / کشف میزبانها (Host discovery)
# فقط پینگ/host discovery، بدون اسکن پورت
nmap -sn 192.168.1.0/24
# فرض کن همه up هستند (غیرفعال کردن host discovery)
nmap -Pn target
# مشابه -sn (نسخههای قدیمی)
nmap -sP 192.168.1.0/24
- کاربرد: فهرستگیری میزبانهای زنده در شبکه؛ مناسب برای تهیه inventory.
۶. اسکن با جزئیات (Aggressive / All-in-one)
nmap -A target
# همراه با اسکن همهٔ پورتها
nmap -A -p- target
-Aشامل: OS detect، version detect، script scanning، traceroute.کاربرد: برای بررسی جامع، ولی پر سر و صدا و زمانبر — فقط روی شبکههای مجاز.
۷. سرعت و پارامترهای زمانی (Timing & performance)
# پارانوئید (خیلی کند) nmap -T0 target
nmap -T1 target
nmap -T2 target
# پیشفرض متعادل nmap -T3 target
# سریعتر (شبکه محلی مناسب) nmap -T4 target
# خیلی سریع (ریسک خطا/شناسایی بیشتر) nmap -T5 target
چه وقت: در شبکههای بزرگ یا داخلی از T4 استفاده کنید؛ در محیطهای حساس یا راه دور T0/T1.
هشدار: سرعت بالاتر احتمال شناسایی توسط سیستمهای IDS/IPS را افزایش میدهد.
۸. خروجیها و گزارشگیری (Output formats)
nmap -oN report.txt target # human-readable (normal)
nmap -oX report.xml target # XML
nmap -oG report.gnmap target # grepable
# همهٔ فرمتها: basefilename.nmap/.xml/.gnmap
nmap -oA basefilename target
- کاربرد: نگهداری گزارش برای تحلیل و مدیریت پچ و مستندسازی.
۹. اسکنهای خاص شبکه (Ping scan, ARP, IPv6)
# ARP discovery (LAN، دقیقترین روش داخل شبکه محلی)
nmap -PR 192.168.1.0/24
# اسکن IPv6
nmap -6 -sS target6
کاربرد: در LAN از ARP استفاده کنید چون دقیقتر است. برای IPv6 از پراپرتی مخصوص آن استفاده کنید.
۱۰. فایروال و تحلیل بستهها (Firewall evasion & packet options) — با احتیاط
# fragmentation (بخشبخش کردن بستهها)
nmap -f target
# تغییر MTU
nmap –mtu 24 target
nmap –data-length 50 target
کاربرد: تست قوانین فایروال/IPS (چک کنید این اقدامات قانونی باشند).
هشدار: ممکن است باعث triggering سیستمهای دفاعی شود؛ روی شبکههای کنترلشده و با اجازه تست کنید.
۱۱. traceroute و مسیریابی
nmap –traceroute target
- کاربرد: کشف مسیر بستهها، مفید برای یافتن نقاط ضعف شبکه یا misrouting.
۱۲. ترکیبهای مفید (Examples — موقع استفاده و هدف)
کشف میزبانها و پورتهای رایج در یک شبکه محلی:
nmap -sn 192.168.1.0/24
nmap -sS -p 22,80,443 -T4 192.168.1.0/24
- بررسی سرویس و نسخه برای یک سرور:
nmap -sV -p 22,80,443 example.com
- اسکن جامع (با احتیاط و اجازه):
nmap -A -p- target
- اسکن UDP (کندتر، اما لازم برای DNS/NTp/SNMP):
nmap -sU -p 53,67,123 target
- استفاده از اسکریپتهای امن پیشفرض:
nmap –script “default,safe” -sV target
۱۳. تفسیر نتایج (چطور برای امنسازی استفاده کنیم)
پورتهای غیرضروری را ببندید — سرویسهایی که نیاز ندارید را غیرفعال یا مسدود کنید.
ورژنها را بررسی کنید —
-sVنسخهها را نشان میدهد؛ اگر آسیبپذیر هستند فوراً patch کنید یا نسخه امن جایگزین کنید.فایروال/ACL مناسب تعریف کنید — فقط پورتهای لازم را اجازه دهید، بقیه را بلاک کنید.
سرویسهایی که روی همه پورتها میشنوند را محدود کنید (bind به localhost یا subnet).
UDP را نادیده نگیرید — بسیاری از سرویسهای حساس روی UDPاند.
نظارت و لاگینگ — هر اسکن بزرگ باید لاگ شود و IDS/IPS را تنظیم کنید تا تشخیص دهد.
آزمونهای تکراری — اسکن را برنامهریزی کنید (مثلاً هفتگی) تا تغییرات را پیگیری کنید.
اسکریپتهای NSE را برای کشف misconfig و info leak بکار ببرید، اما اجتناب از اجرای اسکریپتهای تهاجمی بدون تست.
۱۴. نکات عملی و تلهها (Pitfalls)
اسکن تمام پورتها (
-p-) زمانبر و سر و صداآفرین است.UDP scanها خیلی کند و با درصد false-negative بالاتری همراهاند.
-O(OS detection) همیشه ۱۰۰% دقیق نیست.افزایش سرعت (
-T4/T5) ممکن است باعث drop شدن بستهها یا trigger شدن IDS شود.اسکریپتهای
vulnمیتوانند به سرور آسیب بزنند یا false-positive تولید کنند — از sandbox یا تستلب استفاده کنید.
۱۵. پیشنهادات عملی برای شما (گامهای بعدی)
ابتدا inventory بسازید:
nmap -sn your_subnetپورتهای باز هر هاست را ثبت کنید:
nmap -sS -p- -T4 hostبرای هاستهای مهم
-sVو--script safeاجرا کنید.نتایج را به فایل خروجی بدهید (
-oA) و با CMDB/issue tracker یکپارچه کنید.اسکن زمانبندی شده بگذارید و اختلافها را دنبال کنید.
در پایان گزارش آسیبپذیریها را با قدمهای remediation (patch, config change, firewall) پیگیری کنید.
جمعبندیِ خیلی کوتاه
nmap شامل چند دستهٔ کلیدی است: کشف میزبان (-sn/ARP)، انواع اسکن TCP/UDP (-sS, -sU)، تشخیص سرویس/نسخه (-sV), اسکریپتها (NSE)، و کنترلدادن سرعت/خروجی (-T*, -oA). مسیر امنسازی: کشف – تحلیل – اولویتبندی – اصلاح – تکرار.