
ping命令的工作原理是向目標設備發送稱為Internet控制消息協議(ICMP)Echo Requests的特殊數據包,然後等待該設備發回ICMP Echo Reply數據包。這不僅可以讓您測試網絡連接設備是否處於活動狀態,還可以測量響應時間並為您顯示響應時間。默認情況下,具有高級安全性的Windows防火牆會阻止來自網絡的ICMP Echo請求。當然,您可以採取嚴格的步驟來禁用防火牆以進行測試,但更簡單的解決方案就是創建一個允許ICMP請求通過防火牆的異常。我們將從命令提示符和具有高級安全性的Windows防火牆界面向您展示如何執行此操作。
本文中的說明適用於Windows 7,8和10.我們將指出哪些方面存在重大差異。
警告 :通過防火牆創建例外和打開端口確實會帶來安全風險。允許ping請求並不是什麼大不了的事,但通常最好阻止任何你不需要的東西。
使用命令提示符允許Ping請求
為命令提示創建例外的最快方法是使用命令提示符。您需要使用管理員權限打開它。要在Windows 8和10中執行此操作,請按Windows + X,然後選擇“命令提示符(管理員)”。在Windows 7中,單擊“開始”並鍵入“命令提示符”。右鍵單擊生成的條目,然後選擇“以管理員身份運行”。 “

netsh advfirewall firewall add rule name='ICMP Allow incoming V4 echo request' protocol=icmpv4:8,any dir=in action=allow

netsh advfirewall firewall add rule name='ICMP Allow incoming V6 echo request' protocol=icmpv6:8,any dir=in action=allow
更改將立即發生 - 無需重新啟動PC或任何其他操作。現在,如果您從遠程設備ping您的PC,您應該得到實際結果。

netsh advfirewall firewall add rule name='ICMP Allow incoming V4 echo request' protocol=icmpv4:8,any dir=in action=block

netsh advfirewall firewall add rule name='ICMP Allow incoming V6 echo request' protocol=icmpv6:8,any dir=in action=block
當請求被阻止時,對您的PC的ping請求將遇到“請求超時”錯誤。

netsh advfirewall firewall show rule name=all

使用具有高級安全性的Windows防火牆允許Ping請求
雖然命令提示符是為防火牆添加針對ping請求的例外的最快方法,但您也可以使用“高級安全Windows防火牆”應用程序在圖形界面中執行此操作。單擊“開始”,鍵入“windows firewall with”,然後啟動“具有高級安全性的Windows防火牆”。

您將創建兩個新規則 - 一個用於允許ICMPv4請求,另一個用於允許ICMPv6請求。在左窗格中,右鍵單擊“入站規則”,然後選擇“新規則”。










按照我們剛剛執行的相同步驟設置所有選項與我們對ICMPv4規則完全相同。但是,當您進入端口和協議頁面時,從下拉列表中選擇“ICMPv6”而不是“ICMPv4”。那麼 - 並為規則創建不同的名稱 - 是唯一可以改變的兩件事。

如果您想要禁用所有這些,您可以返回並刪除這兩個規則。但是,您可能最好只是禁用規則。這樣,您可以重新啟用它們而無需重新創建它們。在“具有高級安全性的Windows防火牆”應用程序中,選擇左側的“入站規則”,然後找到您在中間窗格中創建的規則。右鍵單擊規則並選擇“禁用”以防止ping請求通過防火牆。

允許ping請求到達您的PC並不是每個人都需要做的事情。但是,如果您正在進行任何類型的網絡故障排除,ping可能是一個有價值的工具。一旦你設置了東西,它也很容易打開和關閉。