常用功能:
-探測主機存活
- 掃描端口
- 探測主機作業系統資訊
- 檢測漏洞
nmap 常用的幾個參數
nmap -v ip 顯示詳細的掃描過程
nmap -p ip 掃描指定端口
nmap -A ip 全面掃描作業系統
nmap -sP ip 進行ping掃描主機存活
nmap -Pn/-P0 ip 禁ping掃描
nmap -sS ip 進行tcp syn掃描 也叫半開放掃描
nmap -sT ip 進行tcp連接配接掃描 (準确性高)
端口狀态資訊
> open :端口開啟
> closed :端口關閉
> filtered :端口被過濾,因為封包被防火牆攔截
> Unfiltered :不确定端口是否開放 沒有被過濾
> open|filtered(closed|filtered) :不能确定端口是否開放(關閉)或者被過濾
nmap中文說明文檔
TARGET SPECIFICATION 目标說明
-iL 從主機位址清單檔案中導入掃描位址
-iR 随機選擇目标進行掃描,unm hosts 表示數目,設定為0則無休止掃描
--exclude 排除某個主機位址
--excludefile 排除主機清單檔案中的位址
*************************************************************
HOST DISCOVERY 主機發現
-sL 清單掃描,僅将指定的目标IP列舉出來,不進行主機發現
-sn 和-sP一樣,隻利用ping掃描進行主機發現,不掃描目标主機的端口
-Pn 将所有指定的主機視為已開啟狀态,跳過主機發現過程
-PS TCP SYN ping ,發送一個設定了SYN标志位的TCP封包,預設端口為80,也可指定端口
-PA TCP ACK ping,發送一個設定了ACK标志位的TCP封包,預設端口為80,也可指定帶你看
-PU UDP ping ,發送一個空的UDP封包到指定端口,可穿透隻過濾TCp的防火牆
-P0 使用IP協定ping
-PR 使用ARP ping
-n/-R -n不用域名解析,加速掃描,-R為目标IP做為反向解析域名,掃描較慢一些
-dns-servers 自定義域名解析伺服器位址
-traceroute 目标主機路由追蹤
*************************************************************
SCAN TECHNIQUER 端口掃描
nmap 将目标端口分為6種狀态:
open(開放的)
closed(關閉的)
filtered (被過濾的)
unfiltered (未被過濾的)可通路但不确定開發情況
open|filtered (開放或者被過濾)無法确定端口是否開放的還是被過濾的
closed|filtered (關閉或者被過濾)無法确定端口是否關閉還是被過濾的
nmap産生的結果基于目标機器的響應封包的,而這些主機肯能是不可信任的。會産生迷惑或者誤導nmap的封包
-sS TCP SYN 掃描,不進行ping 半開放掃描,速度快隐蔽性好(不完成TCP連接配接),能夠明确區分端口狀态
-sT TCP 連接配接掃描,容易産生記錄,效率低
-sA TCP ACK掃描,隻設定ACK标志位,差別被過濾與未被過濾的
-sU UDP 服務掃描,例如DNS/DHCP等,效率低
-sN;-sF;-sX TCP Null,Fin,Xmas掃描,從RFC挖掘的微妙方法來區分開放關閉端口
-sl 利用僵屍主機上已知IP分段ID序列生成算法來探測目标上開放端口的資訊,極端隐蔽
-sO IP協定掃描,可以确定目标主機支援哪些IP協定,例如TCP/ICMP等
************************************************************************
PORT SPECIFICATION AND SCAN ORDER 端口說明和掃描順序-p 指定掃描的端口,可以是單個端口,也可以是端口範圍,可以指定UDP或TCP協定掃描特定端口
-p<name> 指定掃描的協定,例如-p http 即可掃描http協定的端口狀态
--exclude-ports 排除指定端口不掃描
-F 極速模式,僅掃描100個常用端口
************************************************************************
SERVICE/VERSION DETECTION 服務與版本探測。
Nmap-services 包含大量服務的資料庫,Nmap通過查詢該資料庫可以報告哪些端口可能對應于掃描服務,但不一定正确
-sV 進行服務版本探測
--version-intensity<level> 設定版本掃描強度,範圍為0-9,預設是7,強度越高,時間越長,服務越可能被正确識别
************************************************************************
SCRIPT SCAN 腳本掃描
允許使用者自己編寫的腳本來執行自動化的操作或者擴充nmap的功能,使用Lua腳本語言。
-sC 使用預設類别的腳本進行掃描
--script=<Lua scripts> 使用某個或某類腳本進行掃描,支援統配符描述
************************************************************************
OS DETECTION 作業系統探測
用TCP/IP協定棧fingerprinting進行探測,Nmap發送一系列TCP和UDP封包到遠端主機,檢查響應的每一個比特。測試後Nmap吧結果和資料庫中超過1500個已知的fingerprints比較,如比對則輸出結果
-O 啟用作業系統探測
-A 同時啟用作業系統探測和服務版本探測
--osscan-limit 針對指定的目标進行作業系統檢測
--osscan-guess 當nmap無法确定所檢測的作業系統時,會盡可能地提供相近的比對
************************************************************************
TIMING AND PERFORMANCE 時間和性能
Nmap開發的最高優先級是性能,但實際應用中很多因素會添加掃描時間,比如特定的掃描選項,防火牆配置以及版本掃描等
-T<0-5> 設定模闆級數,在0-5中選擇。T0、T1用于IDS規避,T2降低了掃描速度以使用更少的帶寬和資源。預設為T3,未作任何優化。T4假設具有合适及可靠的網絡進而加速掃描。T5假設具有特别快的網絡或者願為速度犧牲準确性
-host-timeout<time> 放棄低速目标主機,時間機關為毫秒
掃描漏洞
nmap --script=vuln ip
3、提供暴力破解的方式,可對資料庫、smb、snmp等進行簡單密碼的暴力猜解
nmap --script=brute 192.168.88.131
4、利用FTP指定腳本對目标特定FTP協定進行密碼爆破
nmap --script=ftp-brute.nse 192.168.88.131
5、利用第三方的資料庫或資源,例如進行whoise解析
nmap --script=external 192.168.88.131
