</>

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

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

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

Command Palette

Search for a command to run...

Nmap در Parrot OS

راهنمای جامع Nmap: اسکن پورت، شناسایی سرویس، تشخیص سیستم‌عامل و اسکریپت NSE.

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

Nmap (Network Mapper) استاندارد طلایی اسکن شبکه در دنیای امنیت است. این ابزار برای کشف میزبان، اسکن پورت، تشخیص سرویس و شناسایی سیستم‌عامل استفاده می‌شود. در این آموزش، با تمام قابلیت‌های Nmap در Parrot OS آشنا می‌شویم.

اسکن مجاز

Nmap را فقط روی شبکه‌هایی که مالک آن هستید یا مجوز کتبی برای اسکن دارید، استفاده کنید. اسکن غیرمجاز در بسیاری از کشورها جرم محسوب می‌شود.

Nmap چیست؟#

Nmap یک ابزار متن‌باز است که در سال ۱۹۹۷ توسط Gordon Lyon (معروف به Fyodor) ایجاد شد. این ابزار با ارسال پکت‌های خاص و تحلیل پاسخ‌ها، اطلاعات دقیقی از شبکه‌ها و میزبان‌ها ارائه می‌دهد. Nmap به‌صورت پیش‌فرض روی Parrot Security نصب است.

# بررسی نصب
nmap --version
# Nmap version 7.94 ( https://nmap.org )
# Platform: x86_64-pc-linux-gnu

انواع اسکن پایه#

۱. اسکن سادهٔ یک میزبان#

# اسکن ۱۰۰۰ پورت رایج یک میزبان
nmap 192.168.1.10
 
# خروجی:
# Starting Nmap 7.94 ( https://nmap.org )
# Nmap scan report for 192.168.1.10
# Host is up (0.00045s latency).
# Not shown: 996 closed tcp ports (conn-refused)
# PORT    STATE SERVICE
# 22/tcp  open  ssh
# 80/tcp  open  http
# 139/tcp open  netbios-ssn
# 445/tcp open  microsoft-ds
# Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds

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

# اسکن سه میزبان جدا شده با کاما
nmap 192.168.1.10 192.168.1.20 192.168.1.30
 
# اسکن یک محدوده
nmap 192.168.1.1-50
 
# اسکن کل زیرشبکه
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

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

Nmap انواع مختلفی از اسکن را پشتیبانی می‌کند که هر کدام مزایا و معایبی دارند:

پرچمنوعتوضیح
-sSSYN scanپیش‌فرض (نیاز به root)، نیمه‌باز، ناشناس
-sTTCP connectبدون نیاز به root، شناخته‌شده در لاگ
-sUUDP scanاسکن UDP (کندتر)
-sAACK scanتشخیص فایروال
-sN/-sF/-sXNull/FIN/Xmasدور زدن فایروال قدیمی
# اسکن SYN (نیاز به root)
sudo nmap -sS 192.168.1.10
 
# اسکن TCP connect (بدون root)
nmap -sT 192.168.1.10
 
# اسکن UDP
sudo nmap -sU 192.168.1.10

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

پرچم -sV برای تشخیص نسخهٔ سرویس استفاده می‌شود:

# تشخیص نسخه سرویس
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     nginx 1.18.0 (Ubuntu)
# 3306/tcp open  mysql    MySQL 8.0.32-0ubuntu0.22.04.1
# 8080/tcp open  http     Apache Tomcat 9.0.71

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

پرچم -O برای تشخیص سیستم‌عامل هدف استفاده می‌شود:

# تشخیص سیستم‌عامل (نیاز به root)
sudo nmap -O 192.168.1.10
 
# خروجی:
# Running: Linux 5.X
# OS CPE: cpe:/o:linux:linux_kernel:5
# OS details: Linux 5.0 - 5.14
# Network Distance: 1 hop

اسکریپت NSE (Nmap Scripting Engine)#

NSE موتور اسکریپت‌نویسی Nmap است که بیش از ۶۰۰ اسکریپت برای کارهای مختلف دارد:

لیست اسکریپت‌ها#

# نمایش تمام اسکریپت‌ها
ls /usr/share/nmap/scripts/ | head
 
# جستجوی اسکریپت
nmap --script-help "*smb*"

اسکن با اسکریپت پیش‌فرض#

# اجرای اسکریپت‌های پیش‌فرض
nmap -sC 192.168.1.10
 
# خروجی (نمونه):
# PORT    STATE SERVICE
# 22/tcp  open  ssh
# | ssh-hostkey: 
# |   2048 aa:bb:cc:dd:ee:ff:00:11:22:33:44:55:66:77:88:99 (RSA)
# |_  256 ab:cd:ef:01:23:45:67:89:ab:cd:ef:01:23:45:67:89 (ECDSA)
# 80/tcp  open  http
# |_http-title: Welcome to nginx!

اسکریپت‌های خاص#

# استخراج اطلاعات SMB
nmap --script smb-os-discovery 192.168.1.10
 
# تشخیص آسیب‌پذیری SMB
nmap --script smb-vuln* 192.168.1.10
 
# خروجی:
# 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
 
# برسی http-headers
nmap --script http-headers 192.168.1.10
 
# کشف دایرکتوری‌های وب
nmap --script http-enum 192.168.1.10

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

زمان‌بندی (Timing)#

Nmap شش سطح زمان‌بندی دارد:

پرچمنامتوضیح
-T0Paranoidبسیار کند، ناشناس
-T1Sneakyکند، ناشناس
-T2Politeمتعادل، با احتیاط
-T3Normalپیش‌فرض
-T4Aggressiveسریع، روی شبکهٔ قابل اعتماد
-T5Insaneبسیار سریع، ممکن است نادرست باشد
# اسکن سریع برای شبکه محلی
nmap -T4 192.168.1.10
 
# اسکن ناشناس برای شبکه عمومی
nmap -T1 example.com

اسکن پورت‌های خاص#

# اسکن یک پورت خاص
nmap -p 80 192.168.1.10
 
# اسکن چند پورت
nmap -p 80,443,8080 192.168.1.10
 
# اسکن محدوده
nmap -p 1-1000 192.168.1.10
 
# اسکن تمام ۶۵۵۳۵ پورت
nmap -p- 192.168.1.10
 
# اسکن سریع ۱۰۰ پورت پرکاربرد
nmap -F 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.0015s latency).

ذخیرهٔ خروجی#

# ذخیره به فرمت متنی
nmap -oN scan.txt 192.168.1.10
 
# ذخیره به فرمت XML (برای پردازش برنامه‌ای)
nmap -oX scan.xml 192.168.1.10
 
# ذخیره به فرمت grep-able
nmap -oG scan.gnmap 192.168.1.10
 
# ذخیره به هر سه فرمت
nmap -oA scan 192.168.1.10

اسکن کامل پیشنهادی#

یک اسکن کامل و جامع برای تست نفوذ:

# اسکن کامل با تشخیص سرویس، نسخه، OS و اسکریپت‌های پیش‌فرض
sudo nmap -sS -sV -sC -O -p- -T4 -oA full_scan 192.168.1.10
 
# توضیح پرچم‌ها:
# -sS   اسکن SYN
# -sV   تشخیص نسخه
# -sC   اسکریپت‌های پیش‌فرض
# -O    تشخیص OS
# -p-   تمام پورت‌ها
# -T4   سرعت سریع
# -oA   ذخیره در هر سه فرمت

اسکن مرحله‌ای

برای شروع، با -F (۱۰۰ پورت پرکاربرد) اسکن سریع بگیرید تا میزبان‌های فعال را شناسایی کنید. سپس روی هر کدام اسکن کامل با -p- انجام دهید. این کار زمان را به‌طور قابل توجهی کاهش می‌دهد.

جدول گزینه‌های رایج#

گزینهتوضیح
-sSاسکن SYN (پیش‌فرض با root)
-sVتشخیص نسخه سرویس
-sCاسکریپت‌های پیش‌فرض NSE
-Oتشخیص سیستم‌عامل
-Aفعال‌سازی تمام قابلیت‌ها (معادل -sV -sC -O --traceroute)
-p-تمام ۶۵۵۳۵ پورت
-F۱۰۰ پورت پرکاربرد
-T4سرعت سریع
-snفقط کشف میزبان
-Pnنادیده گرفتن ping (در صورت بلاک بودن)
-vخروجی verbose
-oAذخیره در هر سه فرمت
-iLورودی از فایل
--top-ports NN پورت پرکاربرد

خطاهای رایج#

"Host seems down"#

Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn

دلیل: میزبان ping را بلاک کرده است. راه‌حل:

# نادیده گرفتن ping و ادامهٔ اسکن
nmap -Pn 192.168.1.10

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

راه‌حل‌ها:

# استفاده از T4 یا T5
nmap -T4 192.168.1.10
 
# فقط پورت‌های رایج
nmap -F 192.168.1.10
 
# به‌جای -p-، از --top-ports استفاده کنید
nmap --top-ports 100 192.168.1.10

خطای "requires root"#

TCP SYN port scans can only be used by root.

راه‌حل:

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

نتایج نادرست در شبکه‌های پرمصرف#

راه‌حل: سرعت را کاهش دهید:

nmap -T2 192.168.1.10

ترکیب Nmap با ابزارهای دیگر#

خروجی Nmap به Metasploit#

# ذخیره خروجی به XML
nmap -sV -oX scan.xml 192.168.1.10
 
# وارد کردن در Metasploit
msf6 > db_import scan.xml
msf6 > services

خروجی Nmap به SearchSploit#

# استفاده از اسکریپت searchsploit
nmap -sV --script=vulners 192.168.1.10

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

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

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

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

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