- 常用命令
nmap 192.168.0.100(簡單掃描)
nmap 192.168.0.100/24(掃描目標地址所在的某個網段)
nmap 192.168.0.0/24(掃描整個子網中的網路主機資訊)
nmap 192.168.1.1/24(在某個網段進行掃描)
nmap -sP 192.168.242.1/24(Ping掃描)
nmap-sP 192.168.0.100/24(掃描目標地址所在C段的線上狀況)
nmap -sn 10.96.10.0/24 或 nmap -sn 10.96.10.100-200(探測該主機所在網段內所有主機的線上情況)
nmap 192.168.0.100 192.168.0.105(掃描多個目標地址)
nmap -sV 192.168.1.30(s:代表service,服務 V:代表version,版本)
nmap -D 192.168.1.33,192.168.1.56 192.168.1.30(-D後可以緊跟多個偽造的IP,多個偽造IP之間使用“,”隔開)
nmap -sU 192.168.33.147(UDP掃描)
nmap -6 IPv6(掃描IPV6 地址)
- 埠掃描
nmap -P 80 192.168.242.1
nmap -P 80-100 192.168.242.1
nmap -p 10-100 192.168.0.100
nmap -p 80,135 192.168.0.100
nmap 192.168.0.100 –p 21,22,23,80
nmap -sV 118.24.11.235 -p 80
nmap -p 1-1000 192.168.24.18
nmap -p 1-65535 192.168.1.12
nmap -sU -p 80-500 192.168.0.12
埠服務版本資訊獲取
利用namp獲取目標系統的埠版本資訊:nmap -sV IP
nmap --script banner IP
nmap -sv -p port IP
- 禁用主機檢測
- 禁用主機檢測(-Pn),如果主機遮蔽了ping請求,Nmap可能會認為該主機沒有開機。這將使得Nmap無法進行進一 步檢測,比如埠掃描、服務版本識別和作業系統識別等探測工作。為了克服這一問題,就 需要禁用Nmap的主機檢測功能。在指定這個選項之後,Nmap會認為目標主機已經開機並會 進行全套的檢測工作
nmap -Pn -A 118.24.11.235
nmap -P0 192.168.242.1
nmap -Pn 118.24.11.235
- 識別作業系統
- 作業系統檢測(-O),Nmap還能識別目標主機的作業系統。
nmap -O 118.24.11.235
nmap -A 202.207.236.2(全面掃描)
- 防火牆/IDS 逃逸
nmap -f -v 61.241.194.153(報文分段)
nmap --mtu 16 192.168.1.131(指定偏移大小,設定TCP/IP協議傳輸資料包時的最大傳輸單元,需要注意的是偏移量必須是8的倍數)
nmap -D 192.168.1.104,192.168.1.103,192.168.1.101 192.168.1.104(IP 欺騙)
nmap -sI www.0day.cn:80 192.168.1.104(源地址欺騙)
nmap --source-port 902 192.168.1.104(源埠欺騙)
nmap --data-length 30 192.168.1.104(指定發包長度)
nmap --randomize-hosts 192.168.1.104(目標主機隨機排序)
nmap -sT -Pn --spoof-mac 0 192.168.1.104(MAX 地址欺騙)
- WAF探測
--script=http-waf-detect #驗證主機是否存在WAF
--script=http-waf-fingerprint #驗證主機是否存在WAF
-
資訊收集
-
nmap -A -v -T4 IP(利用nmap對目標主機進行完整資訊收集,一般在目標系統有授權情況下進行資訊收集)
-
Whois解析
利用第三方的資料庫或資源查詢目標地址的資訊,例如進行Whois解析
nmap-script external baidu.com
- IP 資訊收集
nmap --script ip-geolocation-* www.bbskali.cn
- WHOIS 查詢
nmap --script whois-domain www.pcos.cn nmap --script whois-domain --script-args whois.whodb=nofollow www.ithome.com nmap -sn --script whois-domain -v -iL host.txt
- IP 反查
nmap -sn --script hostmap-ip2hosts www.bbskali.cn
- DNS 資訊收集
nmap --script dns-brute www.bbskali.cn nmap --script dns-brute dns-brute.threads=10 www.bbskali.cn nmap --script dns-brute dns-brute.threads=10,dns-brute.hostlis www.bbskali.cn
-
檢索系統資訊
nmap -p 445 445 192.168.1.104 --script membase-http-info -
透過Snmp 列舉Windows 服務/賬戶
nmap -sU -p 161 --script=snmp-win32-services 192.168.1.104 nmap -sU -f -p 161 --script=snmp-win32-users 192.168.1.110
- 列舉DNS 伺服器的主機名
nmap --script dns-brute --script-args dns-brute.domain=baidu.com
10.HTTP 資訊收集
nmap -sV -p 80 www.0day.com (HTTP 版本探測) nmap -p 80 --script=http-headers www.pcos.cn (HTTP 資訊頭探測) nmap -p 80 --script=http-sitemap-generator www.pcos.cn (爬行Web 目錄結構)
- 列舉SSL 金鑰
nmap -p 443 --script=ssl-enum-ciphers www.baidu.com
- SSH 服務金鑰資訊探測
nmap -p 22 --script ssh-hostkey --script-args ssh_hostkey=full 127.0.0.1
-
- 漏洞掃描
nmap--script=auth 192.168.0.105(使用--script=auth可以對目標主機或目標主機所在的網段進行應用弱口令檢測)
nmap--script=vuln 192.168.0.105(掃描常見的漏洞)
nmap --script vuln <target>(掃描伺服器的常見漏洞)
nmap -sV -p 8443 --script ssl-heartbleed.nse 192.168.85.131(心臟滴血漏洞掃描)
nmap --script smb-check-vulns.nse -p 445 119.29.155.45(系統漏洞掃描)
nmap -p80 --script http-stored-xss.nse/http-sql-injection.nse 119.29.155.45(掃描Web 漏洞)
nmap -script smb-vuln-ms17-010 192.168.10.34(探測該主機是否存在ms17_010漏洞)
- 暴力破解
nmap --script=http-brute dvwa.vuln.leafsec.com(Nmap HTTP認證爆破)
nmap--script=brute 192.168.0.105(可對資料庫、SMB、SNMP等進行簡單密碼的暴力猜解)
nmap --script=ftp-brute.nse 192.168.88.131(利用FTP指定指令碼對目標特定FTP協議進行密碼爆破)
nmap --script=ftp-brute.nse 192.168.88.131
- 資料庫暴力破解
nmap --script=mysql-brute <target>(MySQL進行暴破解)
nmap -p 3306 --script=mysql-brute.nse 192.168.123. 239(利用nmap暴力 mysql破解)
nmap --script oracle-brute -p 1521 --script-args oracle-brute.sid=ORCL <host>(對Oracle資料庫進行暴破解)
nmap -p 5432 --script pgsql-brute <host>(對pgSQL的暴力破解)
其他
nmap -p 22 --script ssh-brute --script-args userdb=users.lst,passdb=pass.lst --script-args ssh-brute.timeout=4s <target>(對SSH進行暴力破解)
nmap --script dns-brute www.baidu.com(利用DNS進行子域名暴力破解)
- TCP報文主要欄位得主要含義:
SYN:請求連線
ACK:確認接收資料
FIN:請求斷開連線
RST:強行斷開連線
11、Nmap透過探測將埠劃分為6個狀態:
open:埠是開放的。
closed:埠是關閉的。
filtered:埠被防火牆IDS/IPS遮蔽,無法確定其狀態。
unfiltered:埠沒有被遮蔽,但是否開放需要進一步確定。
open|filtered:埠是開放的或被遮蔽,Nmap不能識別。
closed|filtered :埠是關閉的或被遮蔽,Nmap不能識別
- CIDR 為你設定的子網掩碼(/24 , /16 ,/8 等)
a類網
10.0.0.0 ~ 10.255.255.255
b類網
172.16.0.0 ~ 172.31.255.255
c類網
192.168.0. 0~ 192.168.255.255
A類網路預設子網掩碼:255.0.0.0,用CIDR表示為/8
B類網路預設子網掩碼:255.255.0.0,用CIDR表示為/16
C類網路預設子網掩碼:255.255.255.0,用CIDR表示為/24
解釋:CIDR 為你設定的子網掩碼(/24 , /16 ,/8 等)
更多掃描指令碼的使用方法可參見https://nmap.org/nsedoc/categories。
檢測一個網站是不是蜜罐](https://honeyscore.shodan.io/)
--script-updatedb #更新指令碼資料庫