一.基礎(chǔ)概念
四層發(fā)現(xiàn)的目的是掃描出可能存活的IP地址,四層發(fā)現(xiàn)雖然涉及端口掃描,但是并不對(duì)端口的狀態(tài)進(jìn)行精確判斷,其本質(zhì)是利用四層協(xié)議的一些通信來(lái)識(shí)別主機(jī)ip是否存在。
四層發(fā)現(xiàn)的優(yōu)點(diǎn)
- 可路由且結(jié)果可靠;
- 不太可能被防火墻過(guò)濾,甚至可以發(fā)現(xiàn)所有端口都被過(guò)濾的主機(jī)。[一些比較嚴(yán)格的防火墻還是會(huì)過(guò)濾掉]
缺點(diǎn):是基于狀態(tài)過(guò)濾的防火墻可能過(guò)濾掃描;全端口(UDP+TCP十幾萬(wàn)個(gè)端口)掃描的速度慢。
TCP/UDP區(qū)別
1.TCP探測(cè)【基于特征】
tcp連接是通過(guò)三次握手建立通信過(guò)程。
- 未經(jīng)請(qǐng)求的ACK[直接發(fā)一個(gè)ACK],活著的主機(jī)會(huì)回一個(gè)RST包;宕機(jī)主機(jī)不會(huì)回包
- 直接發(fā)一個(gè)SYN包,活著的主機(jī)會(huì)回一個(gè)SYN/ACK包[則端口打開(kāi)],回RST[端口關(guān)閉];
2.UDP探測(cè)【基于特征】
- 一種非連接的不可靠傳輸協(xié)議,會(huì)盡力轉(zhuǎn)發(fā)包
- 如果目標(biāo)主機(jī)不在線,不回包;如果目標(biāo)端口開(kāi)啟,也可能不回包[若有DNS查詢指令內(nèi)容會(huì)響應(yīng),除非構(gòu)造完整的UDP數(shù)據(jù)包,但不可行];當(dāng)主機(jī)在線,發(fā)包到其沒(méi)開(kāi)放的端口,會(huì)回應(yīng)ICMP端口不可達(dá),則表明其主機(jī)在線
二.工具使用
1.nmap(速度快,但受少部分情況限制,總而言之,適合大多數(shù))
在三四層掃描,處于無(wú)敵狀態(tài)
UDP掃描:nmap 1.1.1.1-254 -PU53 -sn #-P U:UDP端口
ACK掃描:nmap 1.1.1.1-254 -PA80 -sn #ACK
指定地址列表:nmap -iL iplist.txt -PA80 -sn
-PE/PP/PM/PO……
2.Hping3
UDP
hping3 --udp 192.168.1.1 -c 1
for addr in $(seq 1 254); do hping3 –udp 1.1.1.$addr -c 1 >> r.txt; done
cat r.txt | grep Unreachable | cut -d " " -f 5 | cut -d "=" -f 2
TCP
hping3 196.168.1.1 -c 1