端口掃描方法[轉]

 

一,端口掃描技術
 基本的TCP connect()掃描
 TCP SYN掃描(半開連接掃描, half open)
 TCP Fin掃描(祕密掃描,stealth)
 TCP ftp proxy掃描(bounce attack)
 用IP分片進行SYN/FIN掃描(躲開包過濾防火牆)
 UDP recvfrom掃描
 UDP ICMP端口不可達掃描
 Reverse-ident掃描

二,TCP連接常識

 TCP數據包6個標誌位
 URG: 緊急數據包
 ACK: 確認
 PSH: 請求急迫操作
 RST: 連接復位
 SYN: 連接請求
 FIN: 結束

TCP/IP的一些實現原則
 當一個SYN或者FIN數據包到達一個關閉的端口,TCP丟棄數據包同時發送一個RST數據包 
 當一個RST數據包到達一個監聽端口,RST被丟棄  當一個RST數據包到達一個關閉的端口,RST被丟棄 
 當一個包含ACK的數據包到達一個監聽端口時,數據包被丟棄,同時發送一個RST數據包 
 當一個不包含SYN位的數據包到達一個監聽端口時,數據包被丟棄 
 當一個SYN數據包到達一個監聽端口時,正常的三階段握手繼續,回答一個SYN|ACK數據包 
 當一個FIN數據包到達一個監聽端口時,數據包被丟棄

三,各種掃描方式詳細
1, TCP connect()掃描
 做法
 掃描器調用socket的connect()函數發起一個正常的連接
 如果端口是打開的,則連接成功
 否則,連接失敗

 優點
 簡單,不需要特殊的權限

 缺點
 服務器可以記錄下客戶的連接行爲,如果同一個客戶輪流對每一個端口發起連接,則一定是在掃描

2, TCP SYN掃描
 做法
 向目標主機的特定端口發送一個SYN包
 如果應答包爲RST包,則說明該端口是關閉的
 否則,會收到一個SYN|ACK包。於是,發送一個RST,停止建立連接
 由於連接沒有完全建立,所以稱爲“半開連接掃描”

優點
 很少有系統會記錄這樣的行爲

 缺點
 在UNIX平臺上,需要root權限纔可以建立這樣的SYN數據包

3, TCP FIN掃描

 做法
 向目標主機的特定端口發送一個TCP FIN包
 如果應答包爲RST包,則說明該端口是關閉的
 若未收到,表示端口是打開的。

4, 分片掃描
 它本身並不是一種新的掃描方法,而是其他掃描技術的變種,特別是SYN掃描和FIN掃描
 思想是,把TCP包分成很小的分片,從而讓它們能夠通過包過濾防火牆
 注意,有些防火牆會丟棄太小的包
 而有些服務程序在處理這樣的包的時候會出現異常,或者性能下降,或者出現錯誤

5, reverse-ident掃描
 Ident協議使得可以發現任何一個通過TCP連接的進程的所有者的用戶名,即使該進程並沒有發起該連接
 只有在TCP全連接之後纔有效
 TCP端口113

 例如
 可以先連接到80端口,然後通過identd來發現服務器是否在root下運行
 建議關閉ident服務,或者在防火牆上禁止,除非是爲了審計的目的

6, TCP FTP proxy掃描
 FTP bounce attack
 做法
 在ftp協議中,數據連接可以與控制連接位於不同的機器上
 讓ftp server與目標主機建立連接,而且目標主機的端口可以指定
 如果端口打開,則可以傳輸否則,返回"425 Can't build data connection: Connection refused." 
 Ftp這個缺陷還可以被用來向目標(郵件,新聞)傳送匿名信息

 優點:這種技術可以用來穿透防火牆

 缺點:慢,且有些ftp server禁止這種特性

 

7, UDP ICMP端口不可達掃描
 利用UDP協議

 做法
 開放的UDP端口並不需要送回ACK包,而關閉的端口也不要求送回錯誤包,所以利用UDP包進行掃描非常困難
 有些協議棧實現的時候,對於關閉的UDP端口,會送回一個ICMP Port Unreach錯誤

 缺點
 速度慢,而且UDP包和ICMP包都不是可靠的
 需要root權限,才能讀取ICMP Port Unreach消息

 一個應用例子
 Solaris的rpcbind端口(UDP)位於32770之上,這時可以通過這種技術來探測

8, UDP recvfrom()&write()掃描
 非root用戶不能直接讀取ICMP Port Unreach消息,但是Linux提供了一種方法可以間接通知到

 做法
 第二次對一個關閉的UDP端口調用write()總是會失敗

 經驗:在ICMP錯誤到達之前,在UDP端口上調用recvfrom()會返回EAGAIN(重試),否則會返回ECONNREFUSED(連接拒絕)

 

偶滴作品

http://www.dbank.com/download.action?t=40&k=ODM3NDMyMg==&pcode=LCwzMDUyNTgsMzA1MjU4&rnd=2725

發佈了11 篇原創文章 · 獲贊 5 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章