滲透測試中通常使用以下掃描方法檢測端口開放性:
TCP端口掃描:向目標主機的指定端口建立一個TCP全連接過程,即完成三次握手過程,從而確定目標端口是否已激活或正在監聽。這是一種最基本的,也是最簡單的掃描方式。但通常也會留下日志,容易被發現。
TCP SYN掃描:向目標端口發送一個SYN數據包,如果應答是RST,說明端口是關閉的;如果應答中包含SYN和ACK,說明目標端口處于監聽狀態。使用SYN掃描并不完成三次握手過程,真正實現正常的TCP全連接,所以這種技術通常被稱為半連接掃描。由于很少有站點會記錄這種連接,所以SYN掃描也被稱為半公開或秘密掃描。
TCP FIN掃描:對于一些操作系統,當FIN數據包到達一個關閉的端口時,會返回一個RST數據包;當端口開放時,這種數據包被忽略,不作任何應答,從而可以判斷端口狀態。防火墻和包過濾器會監視SYN數據包,而使用FIN數據包有時能夠穿過防火墻和包過濾器,所以,這種方法較SYN掃描更為隱蔽。
NULL掃描:發送一個沒有任何標志的TCP包到目標端口,稱為NULL掃描。根據RFC 793中的連接狀態圖和規定,如果目標端口是關閉狀態,應該返回一個RST數據包。
Xmas tree掃描(圣誕樹掃描):向目標端口發送一個標記為FIN、URG和PUSH的數據包,根據RFC793,如果目端口是關閉狀態,那么應該返回一個RST數據包。
UDP掃描:按照UDP協議,當UDP數據包到達目標端口時,無論該端口是否開放,目標主機都不作任何應答,即打開的端口不會回送確認數據包、關閉的端口不會回送錯誤數據包。然而,當數據包到達一個關閉的端口時,大部分主機會返回一個ICMP_PORT_UNREACH的錯誤信息數據包,據此可以判定該端口是關閉的,除此之外的其他端口是打開的。
回答所涉及的環境:聯想天逸510S、Windows 10。
滲透測試中通常使用以下掃描方法檢測端口開放性:
TCP端口掃描:向目標主機的指定端口建立一個TCP全連接過程,即完成三次握手過程,從而確定目標端口是否已激活或正在監聽。這是一種最基本的,也是最簡單的掃描方式。但通常也會留下日志,容易被發現。
TCP SYN掃描:向目標端口發送一個SYN數據包,如果應答是RST,說明端口是關閉的;如果應答中包含SYN和ACK,說明目標端口處于監聽狀態。使用SYN掃描并不完成三次握手過程,真正實現正常的TCP全連接,所以這種技術通常被稱為半連接掃描。由于很少有站點會記錄這種連接,所以SYN掃描也被稱為半公開或秘密掃描。
TCP FIN掃描:對于一些操作系統,當FIN數據包到達一個關閉的端口時,會返回一個RST數據包;當端口開放時,這種數據包被忽略,不作任何應答,從而可以判斷端口狀態。防火墻和包過濾器會監視SYN數據包,而使用FIN數據包有時能夠穿過防火墻和包過濾器,所以,這種方法較SYN掃描更為隱蔽。
NULL掃描:發送一個沒有任何標志的TCP包到目標端口,稱為NULL掃描。根據RFC 793中的連接狀態圖和規定,如果目標端口是關閉狀態,應該返回一個RST數據包。
Xmas tree掃描(圣誕樹掃描):向目標端口發送一個標記為FIN、URG和PUSH的數據包,根據RFC793,如果目端口是關閉狀態,那么應該返回一個RST數據包。
UDP掃描:按照UDP協議,當UDP數據包到達目標端口時,無論該端口是否開放,目標主機都不作任何應答,即打開的端口不會回送確認數據包、關閉的端口不會回送錯誤數據包。然而,當數據包到達一個關閉的端口時,大部分主機會返回一個ICMP_PORT_UNREACH的錯誤信息數據包,據此可以判定該端口是關閉的,除此之外的其他端口是打開的。
回答所涉及的環境:聯想天逸510S、Windows 10。