端口扫描
0x01 端口掃描介紹
端口掃描是指人為發(fā)送一組端口掃描消息,視圖以此了解某臺計算機的弱點,并了解其提供的計算機網(wǎng)絡(luò)服務(wù)類型。
端口最常用也是最強大的工具是nmap,在nmap的端口掃描方式中,所有的掃描方式都是以-s[x]的形式,若是ACK掃描則是-sA,若是UDP掃描則是-sU。
0x02 端口狀態(tài)
nmap提供了6個端口狀態(tài),幫助我們了解目標(biāo)。
open
此端口對外為開放狀態(tài)
closed
此端口關(guān)閉,但是有可能是管理員的欺騙手段導(dǎo)致,或是防火墻所致
filtered
次掃描被過濾,不過出現(xiàn)這種現(xiàn)象并不代表一定是被某些專業(yè)的設(shè)備過濾了,也許是因為網(wǎng)絡(luò)阻塞造成的,建議遇到這種情況分不同的時間段再次進行掃描
unfiltered
未被過濾狀態(tài)意味著端口可以訪問,但是nmap并不能判斷目標(biāo)端口處于開放狀態(tài)還是關(guān)閉狀態(tài),這里需要重申的是目標(biāo)端口是否可以訪問與是否開放并無太大聯(lián)系。需要注意的是,當(dāng)我們使用ACK掃描時才會呈現(xiàn)出這種狀態(tài),這時我們可以換一種方式去進行掃描,以便進一步確認。
open|filtered
開放還是過濾的,如果nmap發(fā)出的探測報文并沒有得到目標(biāo)端口的響應(yīng),可能是收到了某些專業(yè)設(shè)備的阻擋,此時可以換一種方式進一步確認。
closed|filtered
該狀態(tài)用于nmap不能確定端口是關(guān)閉的還是被過濾的。值得注意的是,它只可能出現(xiàn)在IPID Idle掃描中。
0x03 時序選項
在nmap中,可以使用-T(0-5)啟用時序選項。
-T0(偏執(zhí)的) 非常慢的掃描,用于IDS逃避
-T1(鬼祟的) 緩慢的掃描,用于IDS逃避
-T2(文雅的) 減低速度以減低對寬帶的消耗,此選項一般不常用
-T3(普通的) 默認,根據(jù)目標(biāo)的反應(yīng)自動調(diào)整時間
-T4(野蠻的) 快速掃描,常用掃描方式,需要在很好的網(wǎng)絡(luò)環(huán)境下進行掃描,請求可能會淹沒目標(biāo)
-T5(瘋狂的) 極速掃描,這種掃描方式以犧牲準(zhǔn)確度來提升掃描速度
0x04 常用掃描方式
-p選項
指定一個端口,可以唯一指定一個,也可以指定一個范圍
如果既想掃描TCP、又想掃描UDP,可以在端口前面加上T:選項和U:,分別代表TCP協(xié)議或UDP協(xié)議。注意必須指定-sU以及一個TCP掃描類型(如-sS、-SF、-sT)。如果沒有給定協(xié)議限定符,端口號會被加到所有協(xié)議列表。
-F選項
快速掃描默認的有限的端口,在nmap中的nmap-services包含了默認掃描的端口,也可以使用--daradir選項指定自己的nmap-services文件。
-r選項
使用該選項不會對端口進行隨機順序掃描,默認情況下,nmap是隨機掃描端口的。
–port-ratio選項
使用該選項會掃描指定一定概率以上的端口。
0x05 TCP SYN掃描
nmap -sS [ip地址]SYN的掃描方式相對來說是比較隱蔽的掃描方式,很難被防火墻或是管理員發(fā)現(xiàn),因為它并不會進行TCP的鏈接,SYN掃描可以明確區(qū)分出端口的開放狀態(tài),這是一種高效且非常有用的掃描方式。
namp發(fā)送一個SYN請求,如果收到RST:目標(biāo)主機端口關(guān)閉;收到SYN/ACK:目標(biāo)主機端口開放
0x06 TCP鏈接掃描
nmap -sT [ip地址]當(dāng)SYN掃描可用時,它通常是更好的選擇。
namp發(fā)送一個SYN請求,如果收到RST:目標(biāo)主機端口關(guān)閉;收到SYN/ACK:目標(biāo)主機端口開放
0x07 UDP掃描
nmap -sU -p [端口] [ip地址]UDP掃描發(fā)送空的UDP掃描到目標(biāo)端口,這里需要注意的是,UDP頭是沒有任何數(shù)據(jù)的,這就使nmap可以輕松識別目標(biāo)端口的開放狀態(tài),如果返回ICMP端口不可達錯誤就認為該端口是關(guān)閉的;未收到回應(yīng)就說明是被過濾的;被響應(yīng)了則說明是開放狀態(tài)。
0x08 隱蔽掃描
隱蔽掃描有三個選項:
- -sN Null掃描 如果目標(biāo)端口是關(guān)閉的,會響應(yīng)一個RST數(shù)據(jù)包;如果端口是開放的,則不會響應(yīng)任何消息
- -sF FIN掃描 如果收到目標(biāo)響應(yīng)的RST數(shù)據(jù)包,說明端口是開放的;沒有收到RST數(shù)據(jù)包則說明端口是關(guān)閉的
- -sX 如果目標(biāo)端口開放則會響應(yīng)一個RST標(biāo)志包
這些掃描方式會躲過一些無狀態(tài)防火墻的過濾,這比SYN掃描、UDP掃描會有更好的效果,更加隱蔽。
0x09 TCP ACK掃描
nmap -sA [ip地址]TCP ACK掃描有一個致命的缺點,它不能確定端口是開放的還是被過濾的。當(dāng)掃描未被過濾的系統(tǒng)時,開放的和關(guān)閉的都會返回RST報文。但是可以利用它來掃描防火墻的配置,用它來發(fā)現(xiàn)防火墻規(guī)則,確定它們是有狀態(tài)的還是無狀態(tài)的,哪些端口是被過濾的。
0x0A TCP窗口掃描
nmap -sW [ip地址]有時開放端口用正數(shù)表示窗口大小,關(guān)閉窗口的大小為0,所以,當(dāng)收到RST包時,根據(jù)窗口的值時正數(shù)還是0來判斷端口是開放的還是關(guān)閉的。
0x0B 自定義TCP掃描
namp -sT --scanflags [標(biāo)志位(多個標(biāo)志位之間不用分隔符隔開)] 如:namp -sT --scanflags SYNURG [ip地址]若不指定基本類型,則默認為SYN掃描
oxoC 空閑掃描
空閑掃描允許進行端口完全欺騙。利用僵尸主機進行偽裝。
namp -sI [僵尸主機]:[端口] [目標(biāo)主機ip]總結(jié)
- 上一篇: 密码学一些概念名词
- 下一篇: IP数据包和ICMP数据包的结构