掃描端口的方法有:
完全連接掃描:完全連接掃描利用TCP/IP協議的三次握手連接機制,使源主機和目的主機的某個端口建立一次完整的連接。如果建立成功,則表明該端口開放。否則,表明該端口關閉。
半連接掃描:半連接掃描是指在源主機和目的主機的三次握手連接過程中,只完成前兩次握手,不建立一次完整的連接。
SYN掃描:首先向目標主機發送連接請求,當目標主機返回響應后,立即切斷連接過程,并查看響應情況。如果目標主機返回ACK信息,表示目標主機的該端口開放。如果目標主機返回RESET信息,表示該端口沒有開放。
ID頭信息掃描:這種掃描方法需要用一臺第三方機器配合掃描,并且這臺機器的網絡通信量要非常少,即dumb主機。首先由源主機dumb主機發出連續的PING數據包,并且查看主機返回的數據包ID頭信息。一般而言,每個順序數據包的ID頭的值會增加。然后由源主機假冒主機B的地址向目的主機C的任意端口(1~65535)發送SYN數據包。這時,主機C向主機B發送的數據包有兩種可能的結果。
隱蔽掃描:隱蔽掃描是指能夠成功地繞過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掃描:將源主機發送的數據包中的ACKFINRSTSYNURGPSH等標志位全部置空。如果目標主機沒有返回任何信息,則表明該端口是開放的。如果返回RST信息,則表明該端口是關閉的。
XMAS掃描:XMAS掃描的原理和NULL掃描相同,只是將要發送的數據包中的ACK、FIN、RST、SYN、URG、PSH等頭標志位全部置空。如果目標主機沒有返回任何信息,則表明該端口是開放的。如果返回RST信息,則表明該端口是關閉的。