摘要:2.2.1TCP掃描主機間建立TCP連接分三步(也稱三次握手):(1)請求端發(fā)送一個SYN包,指明打算連接的目的端口。(2)觀察目的端返回的包:返回SYN/ACK包,說明目的端口處于偵聽狀態(tài);返回RST/ACK包,說明目的端口沒有偵聽,連接重置。(3)若返回SYN/ACK包,則請求端向目的端口發(fā)送ACK包完成3次握手,TCP連接建立。根據(jù)TCP
2.2.1 TCP掃描
主機間建立TCP連接分三步(也稱三次握手):
(1)請求端發(fā)送一個SYN包,指明打算連接的目的端口。
(2)觀察目的端返回的包:
返回SYN/ACK包,說明目的端口處于偵聽狀態(tài);
返回RST/ACK包,說明目的端口沒有偵聽,連接重置。
(3)若返回SYN/ACK包,則請求端向目的端口發(fā)送ACK包完成3次握手,TCP連接建立。
根據(jù)TCP連接的建立步驟,TCP掃描主要包含兩種方式:
(1)TCP全連接和半連接掃描
全連接掃描通過三次握手,與目的主機建立TCP連接,目的主機的log文件中將記錄這次連接。而半連接掃描(也稱TCP SYN掃描)并不完成TCP三次握手的全過程。掃描者發(fā)送SYN包開始三次握手,等待目的主機的響應(yīng)。如果收到SYN/ACK包,則說明目標端口處于偵聽狀態(tài),掃描者馬上發(fā)送RST包,中止三次握手。因為半連接掃描并沒有建立TCP連接,目的主機的log文件中可能不會記錄此掃描。
(2)TCP隱蔽掃描
根據(jù)TCP協(xié)議,處于關(guān)閉狀態(tài)的端口,在收到探測包時會響應(yīng)RST包,而處于偵聽狀態(tài)的端口則忽略此探測包。根據(jù)探測包中各標志位設(shè)置的不同,TCP隱蔽掃描又分為SYN/ACK掃描、FIN掃描、XMAS(圣誕樹)掃描和NULL掃描四種。
SYN/ACK掃描和FIN掃描均繞過TCP三次握手過程的第一步,直接給目的端口發(fā)送SYN/ACK包或者FIN包。因為TCP是基于連接的協(xié)議,目標主機認為發(fā)送方在第一步中應(yīng)該發(fā)送的SYN包沒有送出,從而定義這次連接過程錯誤,會發(fā)送一個RST包以重置連接。而這正是掃描者需要的結(jié)果—只要有響應(yīng),就說明目標系統(tǒng)存在,且目標端口處于關(guān)閉狀態(tài)。
XMAS掃描和NULL掃描:這兩類掃描正好相反,XMAS掃描設(shè)置TCP包中所有標志位(URG、ACK、RST、PSH、SYN、FIN),而NULL掃描則關(guān)閉TCP包中的所有標志位。
2.2.2 UDP端口掃描
UDP協(xié)議是數(shù)據(jù)包協(xié)議,為了要發(fā)現(xiàn)正在服務(wù)的UDP端口,通常的掃描方式是構(gòu)造一個內(nèi)容為空的UDP數(shù)據(jù)包送往目的端口。若目的端口上有服務(wù)正在等待,則目的端口返回錯誤的消息;若目的端口處于關(guān)閉狀態(tài),則目的主機返回ICMP端口不可達消息。因為UDP端口掃描軟件要計算傳輸中丟包的數(shù)量,所以UDP端口掃描的速度很慢。
2.3 0S探測
OS探測有雙重目的:一是探測目標主機的0S信息,二是探測提供服務(wù)的計算機程序的信息。比如OS探測的結(jié)果是:OS是Windows XP sp3,服務(wù)器平臺是IIS 4.0。
2.3.1二進制信息探測
通過登錄目標主機,從主機返回的banner中得知OS類型、版本等,這是最簡單的0S探測技術(shù)。
圖1 二進制信息
從圖l可以看出,在telnet連上FTP服務(wù)器后,服務(wù)器返回的banner已經(jīng)提供了server的信息,在執(zhí)行ftp的syst命令后可得到更具體的信息。
2.3.2 HTTP響應(yīng)分析
在和目標主機建立HTTP連接后,可以分析服務(wù)器的響應(yīng)包得出OS類型。比如響應(yīng)包中可能包含如下信息:
圖2 響應(yīng)包分析
從圖2中對響應(yīng)包中的數(shù)據(jù)分析,可以得到server的信息。
通信工程師備考資料免費領(lǐng)取
去領(lǐng)取