文章笔记整理自《wireshark网络分析就是那么简单》
该系列会不断更新,大家可以先关注一下!
问题:两台服务器A和B的网络配置如下,B的子网掩码本应该是255.255.255.0,被不小心配成了255.255.255.224,它们还能正常?
PC2去ping PC1,发现可以通信
下面是用wireshark抓包的整个通信过程
1.PC2通过ARP广播查询默认网关192.168.0.1的MAC地址。为什么我ping的是服务器A的IP,B却去查询默认网关的MAC地址呢?这是因为PC2根据自己的子网掩码,计算出A属于不同子网,跨子网通信需要默认网关的转发。而要和默认网关通信,就需要获得其MAC地址。
2.PC2发出ping包,指定Destination IP为PC1,即192.168.0.129。但Destination MAC却是默认网关。这表明PC2希望默认网关把包转发给PC1至于默认网关有没有转发,我们目前无从得知,除非在网关上也抓个包。
3.PC1这边也收到了网关发出的ARP请求包并进行回应
4.从下面这些的包可以看出,这个通信过程都是由网关进行代理完成的
理论上的通信过程是这样的:PC2先把ping请求交给默认网关,默认网关再转发给PC1。而PC1收到请求后直接把ping回复给PC2,形成下图所示的三角形环路。
但是实际上的通信过程却是由网关进行代理完成通信
再看一下PC1和PC2通信的情况
在PC1端口抓包的情况
观察一个ICMP包可以看到通信也是由网关代理的
看一下PC2端口的数据包就一目了然了,它们的通信也是通过网关完成的
wireshark笔记系列会不断更新!欢迎大家关注,收藏!