文章笔记整理自《wireshark网络分析就是那么简单》
该系列会不断更新,大家可以先关注一下!

问题:两台服务器A和B的网络配置如下,B的子网掩码本应该是255.255.255.0,被不小心配成了255.255.255.224,它们还能正常?

wireshark 加载lua wireshark常见问题_运维

PC2去ping PC1,发现可以通信

wireshark 加载lua wireshark常见问题_IP_02

下面是用wireshark抓包的整个通信过程

wireshark 加载lua wireshark常见问题_IP_03

1.PC2通过ARP广播查询默认网关192.168.0.1的MAC地址。为什么我ping的是服务器A的IP,B却去查询默认网关的MAC地址呢?这是因为PC2根据自己的子网掩码,计算出A属于不同子网跨子网通信需要默认网关的转发。而要和默认网关通信,就需要获得其MAC地址。

wireshark 加载lua wireshark常见问题_wireshark 加载lua_04

2.PC2发出ping包,指定Destination IP为PC1,即192.168.0.129。但Destination MAC却是默认网关。这表明PC2希望默认网关把包转发给PC1至于默认网关有没有转发,我们目前无从得知,除非在网关上也抓个包。

wireshark 加载lua wireshark常见问题_子网_05

3.PC1这边也收到了网关发出的ARP请求包并进行回应

wireshark 加载lua wireshark常见问题_IP_06


wireshark 加载lua wireshark常见问题_服务器_07

4.从下面这些的包可以看出,这个通信过程都是由网关进行代理完成的

wireshark 加载lua wireshark常见问题_运维_08

wireshark 加载lua wireshark常见问题_wireshark 加载lua_09

理论上的通信过程是这样的:PC2先把ping请求交给默认网关,默认网关再转发给PC1。而PC1收到请求后直接把ping回复给PC2,形成下图所示的三角形环路。

但是实际上的通信过程却是由网关进行代理完成通信

wireshark 加载lua wireshark常见问题_wireshark 加载lua_10

再看一下PC1和PC2通信的情况

wireshark 加载lua wireshark常见问题_运维_11

在PC1端口抓包的情况

wireshark 加载lua wireshark常见问题_子网_12

观察一个ICMP包可以看到通信也是由网关代理的

wireshark 加载lua wireshark常见问题_wireshark 加载lua_13

看一下PC2端口的数据包就一目了然了,它们的通信也是通过网关完成的

wireshark 加载lua wireshark常见问题_IP_14

wireshark笔记系列会不断更新!欢迎大家关注,收藏!