下面是引用《Wireshark网络分析就这么简单》一书中的一个案例,结合这个案例来熟悉Wireshark的基本操作。
首先提出问题:两天服务器A和B的网络配置如下图所示,B的子网掩码本该是255.255.255.0,被不小心配成了255.255.255.224,它们还能正常通信吗?
这个问题看似简单,但却涉及了基本的路由选择原理,很能考验你的网络基础知识是否扎实。
下面就先从理论上来分析一下这个问题,然后再用Wireshark抓包验证。
网络中主机之间的通信基本可以分为两种类型:
同一网络内主机间的通信:数据可以直接发送给对方,不需借助于网关。
不同网络之间的主机通信:数据必须先发送给网关,然后再通过网关转发给对方。
那么如何判断两台主机是否处于同一网络呢?这就是子网掩码的作用了。下面从服务器A和服务器B的角度分别来进行分析。
(1)从A到B的通信
A的子网掩码255.255.255.0,由此它得知自己所在网络的网络地址是192.168.80.0。现在它要发送数据给B,将B的IP地址192.168.80.3与A自己的掩码进行与运算,得知B所在的网络地址也是192.168.80.0,因而判断出B与自己在同一网络,可将数据直接发送给B。
(2)从B到A的通信
B的子网掩码255.255.255.224,由此它得知自己所在网络的网络地址是192.168.80.0。现在它要发送数据给A,将A的IP地址192.168.80.129与B的掩码进行与运算,得知A所在的网络地址是192.168.80.128,与B不在同一网络,因而必须要借助于网关将数据转发给A。
因而可以得出结论:A可以直接将数据发送给B,而B却只能通过网关将数据转发给A。如果没有网关,A和B之间将无法通信。
我们可以在Vmware中搭建一个实验环境,网络都选择NAT模式,在这种模式下Vmware会默认提供一个网关192.168.80.2。
环境搭建好之后,按照前图所示为A和B设置IP,发现它们可以彼此ping通。但是如果将B的网关删除,那么它们就无法通信了,而将A的网关删除则没有任何影响,从而验证了我们上述的分析。在下篇博文中,将利用Wireshark抓包来进一步进行验证。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。