這種掃描方法需要用一臺第三方機器配合掃描,并且這臺機器的網絡通信量要非常少,即 dumb 主機。首先由源主機 dumb 主機 發出連續的 PING 數據包,并且查看主機 返回的數據包 ID 頭信息。一般而言,每個順序數據包的 ID 頭的值會增加 。然后由源主機 假冒主機 B 的地址向目的主機 C 的任意端口 (1 ~65535) 發送 SYN 數據包。這時,主機 C 向主機 B 發送的數據包有兩種可能的結果:
? SYNIACK 表示該端口處千監聽狀態。
? RSTIACK 表示該端口處千非監聽狀態。
那么,由后續 PING 數據包的響應信息的 ID 頭信息可以看出,如果主機 C 的某個端口是開放的,則主機 B 返回 C 的數據包中, ID 頭的值不是遞增 1, 而是大于1。如果主機 C 的某個端口是非開放的,則主機 B 返回 A 的數據包中, ID 頭的值遞增 1, 非常規律。
端口掃描的目的是找出目標系統上提供的服務列表。端口掃描程序挨個嘗試與 TCP/UDP端口連接,然后根據端口與服務的對應關系,結合服務器端的反應推斷目標系統上是否運行了某項服務,攻擊者通過這些服務可能獲得關千目標系統的進一步的知識或通往目標系統的途徑。根據端口掃描利用的技術,掃描可以分成多種類型,分別為:
完全連接掃描
完全連接掃描利用 TCP/IP 協議的三次握手連接機制,使源主機和目的主機的某個端口建立一次完整的連接。如果建立成功,則表明該端口開放。否則,表明該端口關閉。
半連接掃描
半連接掃描是指在源主機和目的主機的三次握手連接過程中,只完成前兩次握手,不建立一次完整的連接。
SYN 掃描
首先向目標主機發送連接請求,當目標主機返回響應后,立即切斷連接過程,并查看響應情況。如果目標主機返回 ACK 信息,表示目標主機的該端口開放。如果目標主機返回 RESET 信息,表示該端口沒有開放。
ID 頭信息掃描
這種掃描方法需要用一臺第三方機器配合掃描,并且這臺機器的網絡通信量要非常少,即 dumb 主機。首先由源主機 dumb 主機 發出連續的 PING 數據包,并且查看主機 返回的數據包 ID 頭信息。一般而言,每個順序數據包的 ID 頭的值會增加 。然后由源主機 假冒主機 B 的地址向目的主機 C 的任意端口 (1 ~65535) 發送 SYN 數據包。這時,主機 C 向主機 B 發送的數據包有兩種可能的結果:
? SYNIACK 表示該端口處千監聽狀態。
? RSTIACK 表示該端口處千非監聽狀態。
那么,由后續 PING 數據包的響應信息的 ID 頭信息可以看出,如果主機 C 的某個端口是開放的,則主機 B 返回 C 的數據包中, ID 頭的值不是遞增 1, 而是大于1。如果主機 C 的某個端口是非開放的,則主機 B 返回 A 的數據包中, ID 頭的值遞增 1, 非常規律。
隱蔽掃描
隱蔽掃描是指能夠成功地繞過 IDS 、防火墻和監視系統等安全機制,取得目標主機端口信息的一種掃描方式。
SYNIACK 掃描
由源主機向目標主機的某個端口直接發送 SYNIACK 數據包,而不是先發送 SYN 數據包。由千這種方法不發送 SYN 數據包,目標主機會認為這是一次錯誤的連接,從而會報錯。如果目標主機的該端口沒有開放,則會返回 RST 信息。如果目標主機的該端口處于開放狀態 (LISTENING) ,則不會返回任何信息,而是直接將這個數據包拋棄掉。
FIN 掃描
源主機 A 向目標主機 B 發送 FIN 數據包,然后查看反饋信息。如果端口返回 RESET 信息,則說明該端口關閉。如果端口沒有返回任何信息,則說明該端口開放。
ACK 掃描
首先由主機 A 向目標主機 B 發送 FIN 數據包,然后查看反饋數據包的 TTL 值和 WIN 值。開放端口所返回的數據包的 TTL 值一般小于 64, 而關閉端口的返回值一般大于 64 。開放端口所返回的數據包的 WIN 般大千 0, 而關閉端口的返回值一般等于0。
NULL 掃描
將源主機發送的數據包中的 ACK FIN RST SYN URG PSH 等標志位全部置空。如果目標主機沒有返回任何信息,則表明該端口是開放的。如果返回 RST 信息,則表明該端口是關閉的。
XMAS 掃描
XMAS 掃描的原理和 NULL 掃描相同,只是將要發送的數據包中的 ACK、FIN、RST、SYN、URG、PSH 等頭標志位全部置空 。如果目標主機沒有返回任何信息,則表明該端口是開放的。如果返回 RST 信息,則表明該端口是關閉的。
網絡端口掃描是攻擊者必備的技術,通過掃描可以掌握攻擊目標的開放服務,根據掃描所獲得的信息,為下一步的攻擊做準備。
回答所涉及的環境:聯想天逸510S、Windows 10。