Wireshark分析两台设备在不同子网进行内ping包——学习篇

最近在读一本关于网络抓本和协议分析的一本书——《Wireshark网络分析就这么简单》

书中有一篇章节为——从一道面试题开始说起

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

A ip地址:192.168.26.129 子网掩码:255.255.255.0 网关:192.168.26.2

B ip地址:192.168.26.3 子网掩码:255.255.255.224 网关:192.168.26.2

此刻给出几个答案,大家可以先猜测一下:

答案1:A和B不能通信,因为······如果这样都行的话,子网掩码还有什么用?(有点道理)

答案2:A和B能通信,因为它们可以通过ARP广播获得对方的MAC地址。(那子网掩码还有什么用,楼上刚好反驳这位)

答案3:A和B不能通信,因为ARP不能跨子网。(这个答案听着想认真思考过的)

话不多说!开始实验。

我们拿Wireshark来捕获ICMP协议之间通信的过程,eNSP模拟业务环境

一.业务模拟

1.使用sNSP搭建好环境,客户机:A,B 网关交换机:LSW1

2.启动Wireshark开始抓包并通过B向A发送ICMP协议请求

能看到,BpingA是可以ping通的

那我们来逐步分析下ICMP请求报文,上面的是客户端A,下面的是客户端B

客户端B:

12包:

可以看到客户端B(00-BB-BB-BB-BB-BB)向192.168.26.2发送了一个ARP广播的请求,意思是:
who has 192.168.26.2 Tell 192.168.26.3 (谁是192.168.26.2 告诉 192.168.26.3)

那为什么B的目标端明明是A,可是从报文看B却要向网关索要mac呢?

原因:

1.不同子网之间的的通信需要网关支持,而网关则依赖与mac地址。

2.ARP发包需要根据自身子网对目标端的子网检测,判断是否属于一个网段,B在发ARP时发现A和自己不在同一网段,所以才回去找网关进行协议转发

13包:

网关回应B,我是192.168.26.2 is at 网关

14包:

B端封装好ICMP报文后,向A端发送,但是可以看到,目的端ip是192.168.26.129,但是目的端mac却是网关192.168.26.2的mac地址,这是因为B想让网关进行协议转发,至于网关有没有转发,我们可以通过结果或者对网关进行抓包去分析。

15包:

网关询问who has 192.168.26.129 Tell 192.168.26.2(谁是192.168.26.129 告诉 192.168.26.2)

因为这是单播环境所以看不到A包回应的ARP,继续往下,会分析A的报文

17包:

A回应B的ICMP请求,但是目的端mac是网关,现在A也是想要让网关进行协议转发

PS:书中这一步该是A收到网关转发的ICMP协议后,A向B发出ARP广播去获取B的mac地址,然后A直接向B回复ICMP请求。但是我试了两次也没有出现书中的现象。。

客户端A:

14包:

由于在一个交换机,所以A这里收到了来自B询问网关的mac地址

15包:

网关发出ARP广播,who has 192.168.26.129 Tell 192.168.26.2(谁是192.168.26.129告诉192.168.26.2)

16包:

A回复网关,我是192.168.26.129 is at 网关

17:

网关向A转发出ICMP的请求包,通过报文能看出原始ip是B,但是原始mac是网关

18:

A回应B发出的ICMP请求包,目的ip是B,目的网关是网关

PS:这里与分析B端的8包的PS一致

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值