天天看點

Zmap 之于Nmap 的掃描技術

ZMap工具,用一台普通的伺服器耗時44分鐘就能掃描全部網際網路位址。

掃描工具如Nmap使用的方法是發送請求然後監聽回應,雖然請求可以同步進行,但為了記錄每一個未回應請求需要大量開銷,導緻速度下降。而ZMap使用了不同的方法,它發生的是無狀态請求,發送之後就忽略了,它不需要記錄未回應請求的名單,而是在發送的資料包中編碼身份資訊去識别回應,進而降低開銷。ZMap發送資料包的速度是Nmap的上千倍。Nmap需要數周時間掃描全部網址,而ZMap隻要幾十分鐘。密歇根研究人員利用ZMap發現,100萬最流行網站内HTTPS使用率一年内增加了23%。

傳統上的TCP/IP需要“三次握手”封包互動,在此期間需要維持記錄着與對方互動的狀态。

這種狀态記錄量是巨大的,占用記憶體和CPU資源很大。

而ZMap索性就不進行三次握手,隻進行第一個SYN,然後等待對方回複SYN-ACK,之後即RST取消連接配接。這樣肯定會因網絡原因丢失一定比例的資料,根據其實驗,這個比例在2%左右。

以上政策,在nmap中也有實作,即其TCP SYN掃描方式。

關鍵性的問題出現在對回複的SYN-ACK進行seq number的校驗。傳統上就需要記錄狀态。

而ZMap是将對方receiver ip位址進行hash,将其處理儲存到了sender port和seq number兩個字段中,當SYN-ACK回來的時候,就可以根據sender ip、receiver port、ack number這些字段進行校驗。

是以避免了狀态存儲,接近了網絡帶寬極限。

經典的掃描:全TCP連接配接和半連接配接(TCP SYN)

秘密掃描:

間接掃描:

間接掃描的思想是利用第三方的IP(欺騙主機)來隐藏真正掃描者的IP。由于掃描主機會對欺騙主機發送回應資訊,是以必須監控欺騙主機的IP行為,進而獲得原始掃描的結果。

認證掃描:

檔案傳輸協定(FTP)支援一個非常有意思的選項:代理ftp連接配接。這個選項最初的目的(RFC959)是允許一個用戶端同時跟兩個FTP伺服器建立連接配接,然後在伺服器之間直接傳輸資料。然而,在大部分實作中,實際上能夠使得FTP伺服器發送檔案到Internet的任何地方。許多攻擊正是利用了這個缺陷。最近的許多掃描器利用這個弱點實作ftp代理掃描。

安全掃描器: