👨💻 适用人群:
新接触 Windows 防火墙的系统管理员
被 ping 不通困扰的内网工程师
想知道 ICMP 背后通信机制的网络运维人员
红蓝队实战中用于内网探测的从业者
💡 核心价值:
掌握 Windows 11 默认禁止 ICMP 的原因,快速放通 “ping” 的正确姿势,同时不牺牲主机安全性。
一、背景故事:为什么我的电脑不能被 ping?
你是否遇到这种情况:
明明 IP 地址正确、网络连通,却怎么也 ping 不通?
Telnet 端口能连,远程桌面正常,唯独 ping 提示 “请求超时”?
Wireshark 抓包发现 ICMP Echo Request 发出去了,却没收到 Echo Reply?
真相:Windows 11 默认阻止 ICMP Echo(即 ping)响应。
这是微软出于安全防护目的,对“入站ICMP”做的默认限制。
二、原理简析:Ping 的本质是 ICMP 协议
ping 使用的是 ICMP(Internet Control Message Protocol)协议
发送方发出 ICMP Echo Request
目标主机若允许,返回 ICMP Echo Reply
Windows 防火墙如何控制 ping?
Windows Defender 防火墙基于**入站规则(Inbound Rule)**决定是否允许回应 Ping 请求:
默认关闭:“文件和打印共享(回显请求 - ICMPv4-In)” 规则
所以即便主机在线、网络通畅,也不会回应 ping
三、实战操作:三步放通 Ping,让你的主机“通话正常”
方法一:通过控制面板图形界面开启
1️⃣ 打开:控制面板 → Windows Defender 防火墙 → 高级设置
2️⃣ 左侧点击:“入站规则”
3️⃣ 找到规则:
文件和打印共享(回显请求 - ICMPv4-In)
💡 注意:有多个配置(域、私有、公共),根据你的网络类型启用对应项
4️⃣ 右键点击 → 启用规则 ✅
特别注意,有几个,启用几个。
方法二:使用 PowerShell 一键开启
# 启用回显请求(ping)响应(IPv4)
Enable-NetFirewallRule -Name FPS-ICMP4-echo-request-In
📌 若你需要对 IPv6 开放:
Enable-NetFirewallRule -Name FPS-ICMP6-echo-request-In
方法三:手动新建 ICMP 规则(更灵活)
如果你想只允许某些子网 ping 本机,比如 192.168.1.0/24:
New-NetFirewallRule -DisplayName "Allow Ping from LAN" `
-Direction Inbound -Protocol ICMPv4 `
-RemoteAddress 192.168.1.0/24 `
-Action Allow
🎯 适合在企业内网、办公楼宇做精细控制
四、最佳实践建议:别盲目全放!按需放通更安全
五、如何验证是否允许 Ping?
🛠 工具:PowerShell + cmd + Wireshark
ping 192.168.1.100
正常回应如下:
来自 192.168.1.100 的回复: 字节=32 时间<1ms TTL=128
抓包验证(进阶)
使用 Wireshark 过滤:
icmp
确认 ICMP Echo Reply 是否返回
六、补充:如何禁用 Ping(如临时隐身防扫描)
Disable-NetFirewallRule -Name FPS-ICMP4-echo-request-In
或者彻底阻断 ICMP:
New-NetFirewallRule -DisplayName "Block All Ping" `
-Direction Inbound -Protocol ICMPv4 `
-Action Block
七、知识拓展:Ping 失败并不代表目标主机掉线!
八、结语:让 Ping 成为你的网络体检工具,而不是误判的元凶!
Windows 11 对安全越来越“保守”,不代表我们不能灵活掌控它。
只要你理解:
什么是 ICMP
防火墙的控制逻辑
正确放通的方法
就可以轻松控制本机的可探测性,在安全与可用之间取得平衡。