連線埠掃描工具

連線埠掃描工具(Port Scanner)指用於探測伺服器或主機開放連線埠情況的工具。常被計算機管理員用於確認安全策略,同時被攻擊者用於識別目標主機上的可運作的網路服務。

簡介

連線埠掃描定義是客戶端向一定範圍的伺服器連線埠傳送對應請求,以此確認可使用的連線埠。雖然其本身並不是惡意的網路活動,但也是網路攻擊者探測目標主機服務,以利用該服務的已知漏洞的重要手段。連線埠掃描的主要用途仍然只是確認遠程機器某個服務的可用性。

掃描多個主機以獲取特定的某個連線埠被稱為 連線埠清掃(Portsweep),以此獲取特定的服務。例如,基於SQL服務的計算機蠕蟲就會清掃大量主機的同一連線埠以在 1433 連線埠上建立TCP連線。

類型

TCP掃描

最簡單的連線埠掃描工具使用作業系統原生的網路功能,且通常作為SYN掃描的替代選項。Nmap將這種模式稱為連線掃描,因為使用了類似Unix系統的connect()命令。如果該連線埠是開放的,作業系統就能完成TCP三次握手,然後連線埠掃描工具會立即關閉剛建立的該連線,防止拒絕服務攻擊。這種掃描模式的優勢是用戶無需特殊許可權。但使用作業系統原生網路功能不能實現底層控制,因此這種掃描方式並不流行。並且TCP掃描很容易被發現,尤其作為連線埠清掃的手段:這些服務會記錄傳送者的IP位址,入侵檢測系統可能觸發警報。

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個。在某些情況下,服務能在連線埠上被偵聽,但被配置為不回響特定的探測包。

相關詞條

熱門詞條

聯絡我們