在可ping通网关的机器上打开系统控制台,执行“arp -a”查看arp缓存表;再在本机执行同样的操作。发现网关“192.168.100.1”绑定的mac地址不相同,arp表记录了ip地址与真实主机mac地址的对应关系,于是本机给网关发送的网络数据包实际上并没有发给真实的网关,这就是ping不通的原因了。
本机系统控制台执行“arp -d”清除arp缓存表,过一会儿系统自动生成了新的arp表,再执行“arp -a”查看,发现又绑定了错误的mac地址。怀疑是本机病毒或被arp攻击引起的。
不过arp表项可以手动添加:win7之前系统直接在系统控制台内执行“arp -s 网关IP地址 网关MAC地址”即可完成,win7下需要先执行“netsh i i show in”查看本机当前使用网卡的Idx,然后执行“netsh -c i i add neighbors 当前使用网卡的Idx 网关IP地址 网关MAC地址”完成手动添加。
添加完成后执行“arp -a”查看可以看到绑定了正确的mac地址,本机可以正常上外网了。
1,你用ping -l 命令发的就是一个固定大小不分片数据包,这个命令就是以固定大小的数据包发送,
2,为什么用大于1500的数据包PING 外网IP时不通呢?因为路由器默认数据包大小一般是小于1500字节可以通过,也就是最大传输单元MTU,不过进路由器可以改的
3,大于1500的数据包PING 网关能通是因为你的网卡MTU没有限定