連接埠掃描工具是指用來偵測伺服器或主機開放連接埠情況的工具,常被電腦管理員用來確認安全性策略,同時被攻擊者用來辨識目標主機上的可運作的網路服務。
連接埠掃描工具(Port Scanner)指用於偵測伺服器或主機開放連接埠狀況的工具。
常被電腦管理員用來確認安全性策略,同時被攻擊者用來識別目標主機上的可運作的網路服務。 (建議學習:PHP視訊教學)
連接埠掃描定義是用戶端向一定範圍的伺服器連接埠傳送對應請求,以此確認可使用的連接埠。雖然本身並不是惡意的網路活動,但也是網路攻擊者偵測目標主機服務,以利用該服務的已知漏洞的重要手段。連接埠掃描的主要用途仍然只是確認遠端機器某個服務的可用性。
掃描多個主機以取得特定的某個連接埠稱為連接埠清除(Portsweep),以此取得特定的服務。例如,基於SQL服務的電腦蠕蟲會清除大量主機的相同連接埠以在 1433 連接埠上建立TCP連線。
類型
TCP掃描
#最簡單的連接埠掃描工具使用作業系統原生的網路功能,且通常作為SYN掃描的替代選項。 Nmap將這種模式稱為連線掃描,因為使用了類似Unix系統的connect()指令。如果該連接埠是開放的,作業系統就能完成TCP三次握手,然後連接埠掃描工具會立即關閉剛建立的該連接,防止拒絕服務攻擊。這種掃描模式的優點是使用者無需特殊權限。但使用作業系統原生網路功能無法實現底層控制,因此這種掃描方式並不流行。且TCP掃描很容易被發現,尤其作為連接埠清掃的手段:這些服務會記錄發送者的IP位址,入侵偵測系統可能觸發警報。 [1]
SYN掃描
SYN掃描是另一種TCP掃描。連接埠掃描工具不使用作業系統原生網路功能,而是自行產生、傳送IP封包,並監控其回應。這種掃描模式被稱為“半開放掃描”,因為它從未建立完整的TCP連接。連接埠掃描工具產生一個SYN包,如果目標連接埠開放,則會傳回SYN-ACK套件。掃描端回應一個RST包,然後在握手完成前關閉連線。如果連接埠關閉了但未使用過濾,目標連接埠應該會持續返回RST包。
這種粗略的網路利用方式有幾個優點:給掃描工俱全權控制資料包發送和等待回應時長的權力,允許更詳細的回應分析。關於哪一種對目標主機的掃描方式更不具備入侵性存在一些爭議,但SYN掃描的優點是從不會建立完整的連線。然而,RST包可能導致網路堵塞,尤其是一些簡單如印表機之類的網路設備。
UDP掃描
UDP掃描也是可能的,儘管存在一些技術挑戰。 UDP是無連接協議,因此沒有等同於TCP SYN的封包。但是,如果將UDP封包傳送到未開啟的連接埠,目標系統將回應ICMP連接埠不可達的訊息。大多數UDP連接埠掃描器都使用這種掃描方法,並使用缺少回應來推斷連接埠是否開啟。但是,如果連接埠被防火牆阻止,則此方法將錯誤地報告連接埠已開啟。如果連接埠不可達訊息被阻塞,則所有連接埠將顯示為開啟。這種方法也受到ICMP速率限制的影響。
另一種方法是發送特定於應用程式的UDP封包,希望產生應用層回應。例如,如果DNS伺服器存在,向連接埠53發送DNS查詢將導致回應。這種方法在識別開放連接埠方面更加可靠。然而,它僅限於應用程式特定的探測包可用時的連接埠掃描。有些工具(例如,NMAP)通常具有少於20個UDP服務的探針,而有些商業工具(例如,NESUS)則有多達70個。在某些情況下,服務能在連接埠上被偵聽,但被配置為不回應特定的探測包。
更多PHP相關技術文章,請造訪PHP圖文教學欄位進行學習!
以上是連接埠掃描工具的詳細內容。更多資訊請關注PHP中文網其他相關文章!