按照脆弱性掃描的方法將掃描技術分為以下類型:
Ping掃描:它主要檢測目標系統是否運行,有簡單ICMP響應請求、NON-ECHO ICMP請求、廣播ICMP ECHO請求等類型。
TCP連接掃描:這是最常見的TCP掃描,利用系統提供connect()調用,對每一個感興趣的目標主機的端口進行正常連接(如完全三次握手連接),如果此時端口處于監聽狀態,那么connect()就能成功,否則該端口不能使用,即沒有提供服務。采用這個技術不需要任何權限,即系統中的任何用戶或實體都可以使用這個調用,它的不足之處在于容易被發現和過濾掉。
TCP SYN掃描:這是一種半開式掃描,這種掃描方法不能完成完整的TCP三次握手過程,它只是發送一個SYN請求包,如果返回一個SYN/ACK包,說明端口處于監聽狀態;如果返回一個RST包,則說明端口處于關閉狀態。這種掃描方法的一個好處在于不會在目標系統上留下記錄,即不容易被發現;其不足在于必須是特權用戶的權限才能進行調用。
TCP反向Ident掃描:這是指在Ident協議中,即使一個連接不是由這個進程開始的,它也可以允許看到TCP連接的任意進程擁有者的用戶。一般來說,Ident服務是由某個網絡連接的服務器方來證明客戶的身份,所以是由連續的服務器向客戶主機的端口反方向建立連接進行通信。
IP分段掃描:這是指不直接發送TCP探測數據包,而是將數據包劃分為幾個較小的IP段,這樣就將一個TCP頭分成幾個數據包,從而使過濾器很難探測到。
UDP ICMP端口不能到達掃描:這種掃描方法與前面講到的幾種方法的不同之處在于它使用的是UDP,由于這個協議比較簡單,反而使得掃描變得比較困難。這是由于打開的端口對掃描探測并不返回一個確認消息,而處于關閉的端口也不能返回一個錯誤數據包。幸運的是,許多主機向未打開的UDP端口發送數據包時,會返回一個ICMP-PORT-UNREACH錯誤,這樣就能夠發現哪些端口是關閉的。
UDP Recvfrom()和write():這是指一般非特權用戶不能直接讀到ICMP錯誤信息,當ICMP報文到達時,Linux能夠間接告知用戶,對處于關閉狀態的端口進行writ()調用。在非阻塞的UDP Socket上,如果收到ICMP報文,Recvfro()返回ECONNREFUSED;如果沒有收到ICMP報文,Recvfro()返回EAGAIN。
秘密掃描技術:這是指利用FIN標識來探測端口。它沒有利用到TCP三次握手的任何一個部分,不被日志記錄。當FIN標識發送給一個處于監聽狀態的端口時,數據包被丟棄,不返回RST;當FIN標識發送給一個處于關閉狀態的端口時,接收方將會把接收到的數據包丟棄,同時返回RST。
回答所涉及的環境:聯想天逸510S、Windows 10。
按照脆弱性掃描的方法將掃描技術分為以下類型:
Ping掃描:它主要檢測目標系統是否運行,有簡單ICMP響應請求、NON-ECHO ICMP請求、廣播ICMP ECHO請求等類型。
TCP連接掃描:這是最常見的TCP掃描,利用系統提供connect()調用,對每一個感興趣的目標主機的端口進行正常連接(如完全三次握手連接),如果此時端口處于監聽狀態,那么connect()就能成功,否則該端口不能使用,即沒有提供服務。采用這個技術不需要任何權限,即系統中的任何用戶或實體都可以使用這個調用,它的不足之處在于容易被發現和過濾掉。
TCP SYN掃描:這是一種半開式掃描,這種掃描方法不能完成完整的TCP三次握手過程,它只是發送一個SYN請求包,如果返回一個SYN/ACK包,說明端口處于監聽狀態;如果返回一個RST包,則說明端口處于關閉狀態。這種掃描方法的一個好處在于不會在目標系統上留下記錄,即不容易被發現;其不足在于必須是特權用戶的權限才能進行調用。
TCP反向Ident掃描:這是指在Ident協議中,即使一個連接不是由這個進程開始的,它也可以允許看到TCP連接的任意進程擁有者的用戶。一般來說,Ident服務是由某個網絡連接的服務器方來證明客戶的身份,所以是由連續的服務器向客戶主機的端口反方向建立連接進行通信。
IP分段掃描:這是指不直接發送TCP探測數據包,而是將數據包劃分為幾個較小的IP段,這樣就將一個TCP頭分成幾個數據包,從而使過濾器很難探測到。
UDP ICMP端口不能到達掃描:這種掃描方法與前面講到的幾種方法的不同之處在于它使用的是UDP,由于這個協議比較簡單,反而使得掃描變得比較困難。這是由于打開的端口對掃描探測并不返回一個確認消息,而處于關閉的端口也不能返回一個錯誤數據包。幸運的是,許多主機向未打開的UDP端口發送數據包時,會返回一個ICMP-PORT-UNREACH錯誤,這樣就能夠發現哪些端口是關閉的。
UDP Recvfrom()和write():這是指一般非特權用戶不能直接讀到ICMP錯誤信息,當ICMP報文到達時,Linux能夠間接告知用戶,對處于關閉狀態的端口進行writ()調用。在非阻塞的UDP Socket上,如果收到ICMP報文,Recvfro()返回ECONNREFUSED;如果沒有收到ICMP報文,Recvfro()返回EAGAIN。
秘密掃描技術:這是指利用FIN標識來探測端口。它沒有利用到TCP三次握手的任何一個部分,不被日志記錄。當FIN標識發送給一個處于監聽狀態的端口時,數據包被丟棄,不返回RST;當FIN標識發送給一個處于關閉狀態的端口時,接收方將會把接收到的數據包丟棄,同時返回RST。
回答所涉及的環境:聯想天逸510S、Windows 10。