1、下載安裝nmap
軟件下載路徑:https://nmap.org/download.html,按照系統版本選擇下載,下載完成后,按照軟件提示一直Next安裝。
2、Nmap掃描的6種狀態
-
open:端口開放狀態。發現這一點常常是端口掃描 的主要目標
-
closed:端口處於關閉狀態。
-
filtered:由於報文無法到達指定的端口,nmap不能夠決定端口的開放狀態,這主要是由於網絡或者主機安裝了一些防火牆所導致的。
-
unfiltered:當nmap不能確定端口是否開放的時候所打上的狀態,這種狀態和filtered的區別在於:unfiltered的端口能被nmap訪問,但是nmap根據返回的報文無法確定端口的開放狀態,而filtered的端口直接就沒就沒能夠被nmap訪問。端口被定義為Unfilterd只會發生在TCP ack掃描類型時當返回RST的報文。而端口被定義為filtered 狀態的原因是是報文被防火牆設備,路由器規則,或者防火牆軟件攔截,無法送達到端口,這通常表現為發送NMAP的主機收到ICMP報錯報文,如:TYPE為3,code為13的報文(通信被認為的禁止 communication administratively prohibited),或者主機通過多次重復發送沒有收到任何回應)。
-
open|filtered:這種狀態主要是nmap無法區別端口處於open狀態還是filtered狀態。這種狀態只會出現在open端口對報文不做回應的掃描類型中。UDP,IP協議, FIN,Null,和Xmas掃描可能把端口歸入此類。
-
closed|filtered:該狀態用於Nmap不能確定端口是關閉的還是被過濾的。 它只可能出現在IPID Idle掃描中。
3、端口掃描技術
-
-sT TCP連接掃描: 指定這個選項后,程序將和目標主機的每個端口都進行完整的三次 握手。如果成功建立連接,則判定該端口是開放端口。由於在檢測每個端口時都需要進行三 次握手,所以這種掃描方式比較慢,而且掃描行為很可能被目標主機記錄下來。如果啟動 Nmap的用戶的權限不足,那么默認情況下Nmap程序將以這種模式進行掃描。
-
-sS SYN掃描: 該選項也稱為半開連接或者SYN stealth。采用該選項后,Nmap將使用 含有SYN標志位的數據包進行端口探測。如果目標主機回復了SYN/ACK包,則說明該端口處 於開放狀態:如果回復的是RST/ACK包,則說明這個端口處於關閉狀態;如果沒有任何響應 或者發送了ICMP unreachable信息,則可認為這個端口被屏蔽了。SYN模式的掃描速度非常 好。而且由於這種模式不會進行三次握手,所以是一種十分隱蔽的掃描方式。如果啟動Nmap 的用戶有高級別權限,那么在默認情況下Nmap程序將以這種模式進行掃描。
-
-sN(TCP NULL),-sF(FIN),-sX(XMAS): NULL 掃描不設置任何控制位; FIN掃描僅設置FIN標志位:XMAS掃描設置FIN、PSH和URG的標識位。如果目標主機返回 了含有RST標識位的響應數據,則說明該端口處於關閉狀態;如果目標主機沒有任何回應, 則該端口處於打開|過濾狀態。
-
-sM TCP Maimon掃描: Uriel Maimon 首先發現了TCP Maimom掃描方式。這種模式的 探測數據包含有FIN/ACK標識。對於BSD衍生出來的各種操作系統來說,如果被測端口處於 開放狀態,主機將會丟棄這種探測數據包;如果被測端口處於關閉狀態,那么主機將會回復 RST。
-
-sA TCPACK掃描: 這種掃描模式可以檢測目標系統是否采用了數據包狀態監測技術(stateful)防火牆,並能確定哪些端口被防火牆屏蔽。這種類型的數據包只有一個ACK標識 位。如果目標主機的回復中含有RST標識,則說明目標主機沒有被過濾。
-
-sW TCP窗口掃描: 這種掃描方式檢測目標返回的RST數據包的TCP窗口字段。如果目 標端口處於開放狀態,這個字段的值將是正值;否則它的值應當是0。
-
-sI TCP Idle掃描: 采用這種技術后,您將通過指定的僵屍主機發送掃描數據包。本機 並不與目標主機直接通信。如果對方網絡里有IDS,IDS將認為發起掃描的主機是僵屍主機。
- -sO IP協議掃描:IP 協議掃描可以讓您確定目標機支持哪些IP協議 (TCP,ICMP,IGMP,等等)。從技術上說,這不是端口掃描 ,既然它遍歷的是IP協議號而不是TCP或者UDP端口號。
sU
(UDP掃描) UDP掃描一般較慢,比TCP更困難,對一台主機的65536個UDP端口進行完整掃描,總耗時必 定會超過18個小時。優化方法主要是:
1.進行並發的UDP掃描;
2.優先掃描常用端口;
3.在防火牆后面掃描;
4.啟用--host-timeout選項以跳過響應過慢的主機。
4、端口說明和掃描順序
-
-p 端口范圍:只掃描指定的端口,掃描1-65535端口時可以 -p 1-65535。
-
-F(快速掃描):將僅掃描100個常用端口。
-
-r(順序掃描):指定這個選項后,程序將從按照從小到大的順序掃描端口。
-
-top-ports <1 or="" greater="">:掃描nmap-services里排名前N的端口。
5、服務和版本檢測
-
-sV 服務器版本識別,可以在進行端口掃描的時候檢測服務端軟件的版本信息。
-
-O 檢測服務器操作系統
-
-Pn 禁用主機檢測。如果主機屏蔽了ping請求,nmap可能會認為該主機沒有開機。這將使得nmap無法進行進一步檢測,比如端口掃描、服務版本識別和操作系統識別等探測工作。為了克服這一問題,就 需要禁用nmap的主機檢測功能。在指定這個選項之后,Nmap會認為目標主機已經開機並會 進行全套的檢測工作。
-
-A 強力檢測選項。啟用-A選項之后,Nmap將檢測目標主機的下述信息:
服務版本識別(-sV);
操作系統識別(-O);
腳本掃描(-sC);
Traceroute(–traceroute)