</>

لینوکس‌پارسی

مرجع فارسی آموزش لینوکس

Gentoo • Arch • Debian • Ubuntu • Kali • Parrot
پرش به محتوای اصلی

Command Palette

Search for a command to run...

Nmap در Kali Linux

راهنمای کامل Nmap: اسکن پورت، تشخیص سرویس، اسکریپت NSE و بهینه‌سازی برای تست نفوذ.

متوسط۹ دقیقه مطالعهآخرین بروزرسانی: ۵ تیر ۱۴۰۵ویرایش در گیت‌هاب

Nmap (Network Mapper) قدرتمندترین ابزار اسکن شبکه و کشف میزبان است که در Kali Linux به‌صورت پیش‌فرض نصب می‌شود. در این آموزش، با انواع اسکن، گزینه‌های پیشرفته و اسکریپت NSE آشنا می‌شوید.

Nmap چیست؟#

Nmap یک ابزار متن‌باز برای کشف شبکه و ممیزی امنیتی است که توسط Gordon Lyon (Fyodor) توسعه می‌یابد. این ابزار می‌تواند میزبان‌ها، پورت‌ها، سرویس‌ها و سیستم‌عامل‌های فعال روی شبکه را شناسایی کند.

# بررسی نسخهٔ Nmap
nmap --version
 
# خروجی:
# Nmap version 7.94 ( https://nmap.org )
# Platform: x86_64-pc-linux-gnu
# Compiled with: liblua-5.3.6 openssl-3.0.10 libssh2-1.11.0 libz-1.2.13
# Compiled without: nmap-libpcre nmap-libdnet
# Available nsock engines: epoll poll select

اسکن‌های پایه#

۱. اسکن یک میزبان#

# اسکن ساده یک میزبان
nmap 192.168.1.10
 
# خروجی:
# Starting Nmap 7.94 ( https://nmap.org ) at 2026-06-30 10:00:00 UTC
# Nmap scan report for 192.168.1.10
# Host is up (0.00045s latency).
# Not shown: 995 closed tcp ports (reset)
# PORT     STATE SERVICE
# 22/tcp   open  ssh
# 80/tcp   open  http
# 443/tcp  open  https
# 3306/tcp open  mysql
# 8080/tcp open  http-proxy

۲. اسکن چند میزبان#

# اسکن چند IP
nmap 192.168.1.10 192.168.1.20 192.168.1.30
 
# اسکن یک بازه IP
nmap 192.168.1.10-50
 
# اسکن کل subnet
nmap 192.168.1.0/24

۳. اسکن از فایل#

# ساخت فایل لیست میزبان
cat > targets.txt <<EOF
192.168.1.10
192.168.1.20
example.com
EOF
 
# اسکن با فایل
nmap -iL targets.txt

انواع اسکن پورت#

نوع اسکنپرچمتوضیحقابل تشخیص
TCP SYN-sSنیمه‌باز (پیش‌فرض)کم
TCP Connect-sTاتصال کاملزیاد
UDP-sUاسکن UDPکم
TCP ACK-sAتشخیص فایروالکم
TCP NULL-sNبدون فلگکم
TCP FIN-sFفلگ FINکم
TCP Xmas-sXفلگ FIN+PSH+URGکم
# اسکن SYN (محبوب‌ترین)
sudo nmap -sS 192.168.1.10
 
# اسکن UDP (کندتر)
sudo nmap -sU 192.168.1.10
 
# اسکن ترکیبی TCP و UDP
sudo nmap -sS -sU 192.168.1.10

نیاز به root برای اسکن SYN

اسکن SYN (-sS) نیاز به دسترسی raw socket دارد و در نتیجه باید با sudo اجرا شود. اگر بدون sudo اجرا کنید، Nmap به‌صورت خودکار از -sT استفاده می‌کند.

تشخیص سرویس و نسخه#

# تشخیص سرویس و نسخه
nmap -sV 192.168.1.10
 
# خروجی:
# PORT     STATE SERVICE  VERSION
# 22/tcp   open  ssh      OpenSSH 8.9p1 Ubuntu 3ubuntu0.1 (Ubuntu Linux; protocol 2.0)
# 80/tcp   open  http     Apache httpd 2.4.52 ((Ubuntu))
# 443/tcp  open  ssl/http Apache httpd 2.4.52 ((Ubuntu))
# 3306/tcp open  mysql    MySQL 8.0.31

تشخیص سیستم‌عامل#

# تشخیص سیستم‌عامل
sudo nmap -O 192.168.1.10
 
# خروجی:
# Device type: general purpose
# Running: Linux 5.X
# OS CPE: cpe:/o:linux:linux_kernel:5
# OS details: Linux 5.0 - 5.14
# Network Distance: 1 hop

اسکن ترکیبی کامل#

# اسکن کامل با تشخیص سرویس، نسخه، OS و اسکریپت
sudo nmap -A 192.168.1.10
 
# این معادل است با:
sudo nmap -sS -sV -O -sC --traceroute 192.168.1.10

گزینه‌های بهینه‌سازی#

گزینهتوضیحمثال
-T0 تا -T5تنظیم سرعت و noise-T4 (توصیه‌شده)
--min-rateحداقل نرخ پکت--min-rate 1000
--max-rateحداکثر نرخ پکت--max-rate 5000
-pپورتهای خاص-p 80,443,8080
-p-تمام ۶۵۵۳۵ پورت-p-
--top-portsN پورت پراستفاده--top-ports 100
-Fاسکن سریع (۱۰۰ پورت)-F
--openفقط پورتهای باز--open
# اسکن سریع ۱۰۰ پورت پراستفاده
nmap -F 192.168.1.10
 
# اسکن تمام ۶۵۵۳۵ پورت با سرعت بالا
sudo nmap -p- --min-rate 5000 -T4 192.168.1.10
 
# اسکن فقط پورتهای باز
nmap -p 1-1000 --open 192.168.1.10

بهینه‌سازی سرعت

برای اسکن سریع یک شبکهٔ بزرگ، از -T4 --min-rate 1000 استفاده کنید. این تنظیم نرخ پکت را بالا نگه می‌دارد و در عین حال اسکن را پایدار می‌کند.

Nmap Scripting Engine (NSE)#

NSE موتور اسکریپت‌نویسی Nmap است که شامل بیش از ۶۰۰ اسکریپت ازپیش‌ساخته‌شده برای تشخیص آسیب‌پذیری، brute-force و جمع‌آوری اطلاعات است.

دسته‌های اسکریپت NSE#

دستهتوضیح
authاحراز هویت
brutebrute-force
defaultاسکریپت‌های پیش‌فرض
discoveryکشف اطلاعات
dosحمله DoS (محتاط باشید)
exploitاکسپلویت
fuzzerfuzz
intrusiveتهاجمی
malwareتشخیص بدافزار
safeامن (غیرتهاجمی)
versionتشخیص نسخه
vulnتشخیص آسیب‌پذیری

مثال‌های NSE#

# اجرای اسکریپت‌های پیش‌فرض
nmap -sC 192.168.1.10
 
# تشخیص آسیب‌پذیری SMB
nmap --script smb-vuln* 192.168.1.10
 
# تشخیص آسیب‌پذیری HTTP
nmap --script http-enum,http-headers,http-methods 192.168.1.10
 
# brute-force FTP
nmap --script ftp-brute --script-args userdb=users.txt,passdb=passwords.txt 192.168.1.10
 
# خروجی نمونه برای smb-vuln:
# PORT    STATE SERVICE
# 445/tcp open  microsoft-ds
#
# Host script results:
# | smb-vuln-ms17-010:
# |   VULNERABLE:
# |   Remote Code Execution vulnerability in Microsoft SMBv1 servers (ms17-010)
# |     State: VULNERABLE
# |     IDs:  CVE:CVE-2017-0143
# |     Risk factor: HIGH
# |       A critical remote code execution vulnerability exists in Microsoft
# |       SMBv1 servers (ms17-010).
# |_      Check results: Insight: Possible EternalBlue attack vector

خروجی به فایل#

# ذخیرهٔ خروجی به فرمت‌های مختلف
nmap -oN scan.txt 192.168.1.10      # متنی
nmap -oX scan.xml 192.168.1.10      # XML
nmap -oG scan.grep 192.168.1.10     # grep-able
nmap -oA scan 192.168.1.10          # هر سه فرمت

کشف میزبان#

# فقط کشف میزبان (بدون اسکن پورت)
nmap -sn 192.168.1.0/24
 
# خروجی:
# Nmap scan report for 192.168.1.1
# Host is up (0.0020s latency).
# Nmap scan report for 192.168.1.10
# Host is up (0.0010s latency).
# Nmap scan report for 192.168.1.20
# Host is up (0.0015s latency).
# Nmap done: 256 IP addresses (3 hosts up) scanned in 3.5 seconds

خطاهای رایج#

اسکن بسیار کند است#

مشکل: اسکن یک شبکهٔ بزرگ ساعت‌ها طول می‌کشد.

راه‌حل:

# افزایش سرعت
sudo nmap -T4 --min-rate 1000 192.168.1.0/24
 
# اسکن فقط پورتهای پراستفاده
nmap --top-ports 100 192.168.1.0/24

"Host seems down"#

مشکل: Nmap میزبان را down گزارش می‌دهد.

راه‌حل:

# اسکن با ارسال پکت ICMP
sudo nmap -PE 192.168.1.10
 
# یا اسکن با فرض روشن بودن میزبان
nmap -Pn 192.168.1.10

اسکن بدون امتیازات root#

مشکل: اسکن SYN اجرا نمی‌شود.

راه‌حل:

# استفاده از sudo
sudo nmap -sS 192.168.1.10
 
# یا اسکن connect (بدون نیاز به root)
nmap -sT 192.168.1.10

فایروال همهٔ پورتها را فیلتر می‌کند#

مشکل: همهٔ پورتها filtered نمایش داده می‌شوند.

راه‌حل:

# اسکن با پروتکل‌های مختلف
sudo nmap -sS -sU -PE -PP 192.168.1.10
 
# اسکن ACK برای تشخیص فایروال
sudo nmap -sA 192.168.1.10

اسکن محیط‌های تولیدی

اسکن پورت روی سیستم‌های تولیدی ممکن است باعث هشدار در سیستم‌های IDS/IPS شود یا حتی سرویس‌ها را دچار اختلال کند. همیشه پیش از اسکن، مجوز کتبی بگیرید و از گزینه‌های --max-rate و -T برای کاهش فشار استفاده کنید.

خلاصه و مرحلهٔ بعد#

Nmap پایهٔ هر آزمون تست نفوذ است. با ترکیب گزینه‌های مختلف و اسکریپت‌های NSE، می‌توانید اطلاعات جامعی از هدف جمع‌آوری کنید و سپس از ابزارهایی مانند Metasploit برای اکسپلویت استفاده کنید.

به‌عنوان گام بعدی:

اشتراک‌گذاری:

این صفحه در تاریخ ۵ تیر ۱۴۰۵ به‌روزرسانی شده است.