概述
nmap 是網絡管理員和安全專業人員探索網絡和審計安全問題的必備工具。它支援多種掃描技術,並可透過腳本引擎擴展功能。
主要功能
- 主機發現(識別網絡上的活動主機)
- 端口掃描(檢查開啟的端口和服務)
- 作業系統(OS)偵測
- 服務版本偵測
- 繞過防火牆和過濾器
- 透過 Nmap 腳本引擎(NSE)擴展功能
主要選項
nmap 提供非常多樣的選項,因此我們將重點介紹主要的掃描類型和輸出相關選項。
掃描類型
目標指定與其他
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`nmap` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
使用範例
使用 nmap 各種掃描功能的範例。
基本端口掃描
nmap scanme.nmap.org
對目標主機最常見的 1000 個端口進行 SYN 掃描。
特定端口掃描
nmap -p 80,443 scanme.nmap.org
僅掃描目標主機的 80 端口(HTTP)和 443 端口(HTTPS)。
作業系統和服務版本偵測
nmap -A scanme.nmap.org
偵測目標主機的作業系統以及開啟端口的服務版本。
整個子網掃描
nmap 192.168.1.0/24
掃描指定子網(例如:192.168.1.0/24)內的所有活動主機。
將掃描結果儲存到檔案
nmap -sS -oN results.txt -oX results.xml scanme.nmap.org
將掃描結果分別儲存到純文字檔案和 XML 檔案。
安裝
nmap 通常不包含在大多數 Linux 發行版中,因此需要透過套件管理器進行安裝。
Debian/Ubuntu
sudo apt update && sudo apt install nmap
使用 APT 套件管理器安裝 nmap。
CentOS/RHEL/Fedora
sudo yum install nmap
# 或
sudo dnf install nmap
使用 YUM 或 DNF 套件管理器安裝 nmap。
Arch Linux
sudo pacman -S nmap
使用 Pacman 套件管理器安裝 nmap。
提示與注意事項
使用 nmap 時的實用提示和注意事項。
道德使用
nmap 是一個強大的網絡掃描工具,因此必須僅用於您擁有或被授權掃描的網絡。未經授權的掃描可能被視為非法行為。
- 始終獲得掃描目標的明確授權。
- 未經授權掃描公共網絡或他人系統可能導致法律問題。
繞過和偵測防火牆
nmap 可以使用各種技術來繞過防火牆或偵測防火牆的存在。可以使用 `-f`(分片封包)、`--data-length`(添加隨機數據)、`--badsum`(發送校驗和錯誤的封包)等選項。
- `-Pn` 選項會略過 ping 掃描,即使防火牆阻止 ICMP 回應,也能繼續掃描。
- 可以使用 `-T<0-5>` 選項調整掃描速度,以避免被 IDS/IPS 系統偵測(0:謹慎,5:瘋狂)。
Nmap 腳本引擎(NSE)
NSE 是一組強大的腳本,用於擴展 nmap 的功能。它可以執行漏洞偵測、後門偵測、資訊收集等多種任務。
- 使用 `--script <腳本名稱>` 或 `--script <類別>` 選項。
- 例如:`nmap --script vuln <目標>`(常見漏洞掃描)
- 例如:`nmap --script http-enum <目標>`(網頁伺服器目錄枚舉)