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