此問題與 ICMPv4 時間戳請求(類型 13)訊息特別相關。
當我有 Windows 防火牆時殘障人士我可以從主機發送時間戳請求,客戶端將接收該請求並使用時間戳回應(類型 14)回應。
當我有 Windows 防火牆時已啟用我可以從主機發送時間戳請求,客戶端將收到該請求,但永遠不會使用時間戳回覆回應。我假設這是因為防火牆阻止了請求。但是,我沒有看到任何特定的規則設定表明情況確實如此。我也無法在網路上找到任何文件來幫助我了解此特定訊息是否被預設阻止(如 ICMP Echo)。
有誰知道 Windows 防火牆預設是否阻止此訊息?我可以在某個地方查看/配置此預設嗎?是否有我錯過的可用文件?
我使用 Nping 發送訊息,並使用 Wireshark 來觀察封包的發送和發送。
答案1
Windows 防火牆區塊一切預設情況下。完整的加工訂單已記錄在案在 TechNet 上,但為了簡單起見,您可以將其視為“1)處理所有“拒絕”規則,2)處理所有“允許”規則,3)拒絕或允許其他所有規則,具體取決於配置文件設定”。
當您開啟防火牆設定工具時(透過執行wf.msc
,或打開“具有進階安全性的 Windows 防火牆”應用程序,或點擊控制面板中的“ ”連結),您會看到以下畫面:
預設情況下,這表示“與規則不匹配的入站連接被阻止”,這實際上適用於全部與現有狀態無關的資料包,包括 ICMP 請求。如果您沒有找到與時間戳請求相關的任何特定規則,這表示它們將根據預設配置被拒絕。
因此,為了允許特定的 ICMP 類型,您當然應該在「入站規則」下建立規則,或啟用那些已經存在的規則。例如,「檔案和印表機共用」群組具有允許傳入 ICMP「回顯請求」的內建規則:
每個規則的特定 ICMP 類型在「協定和連接埠 → ICMP 設定:自訂」下選擇。 (為了允許時間戳請求,您必須建立自訂規則;該清單對於內建規則是唯讀的)。
但最後請注意,即使防火牆允許資料包通過,這並不意味著作業系統實際上會支援特定的 ICMP 請求類型。由於 ICMPv4「時間戳請求」相當罕見(罕見到 Windows 防火牆中沒有內建規則,且 ICMPv6 中完全沒有等效項),因此無法真正保證未來的 Windows 版本不會「棄用」並刪除響應此類請求的代碼...