1、问题描述
开发测试过程中,经常使用ping命令来测试网络的通断,有时会遇到,主机A可以ping通主机B,但是主机Bping不通主机A
2、原因分析
1)如果主机A是windows操作系统,绝大部分原因是防火墙的问题:
阻止入站 ICMP 请求,即阻止其他设备 Ping 本机
允许出站ICMP请求,即可以Ping其他设备
2)IP 冲突
同一个局域网中,有相同的IP
3) ARP 缓存问题
同一个局域网中,如果交换机 / 路由器中的 ARP 映射表出现了脏记录,即将某个 IP 绑定到了错误的 MAC 地址上,那么即便能接收到 ICMP Echo Request 报文并作出响应,但回应可能会因发送给了错误的目标而丢失。
4)安装了360杀毒软件、360浏览器等360系的软件导致莫名其妙的问题(卸载所有360系列的软件)
3、解决方法
1)防火墙问题
- 打开 控制面板:
- 选择:Windows Defender 防火墙
- 选择:高级设置
- 选择:入站规则
找到:ICMP回显请求
如果前面没有绿色的对勾、未启动,在 ICMP回显请求 上点击右键,设置为允许即可
2)IP冲突
断开主机A的网络,主机B继续执行ping命令,测试是否还能ping通,来判断网络中是否有IP冲突;
或者使用 arp -a 命令来查看是否有相同的IP
3)ARP 缓存问题
可尝试使用 “arp -d *” 命令清除 ARP 缓存,之后再进行 ping 测试。