网络协议分析-3-实验六 利用Wireshark分析IP-分片

https://cmd.dayi.ink/FTEPq4QQSYS4_WTd4PzFjQ?both
type.dayiyi.top/index.php/archives/201/

2023年9月22日00:38:42 我还被抓去弄计算机二级,真的是想写,但是连续好几天都被直接从实训抓走。(很抱歉WWWW),真的是熬夜写出来的。

2023年9月22日02:11:25 还没传完目前进度31/40 台机子

2023年9月22日03:25:33 写完这篇文章啦。想法子睡一会,但发现实训还没做。

1.打开eNSP模拟器,拖拽两台路由器用以太网线相连,构建如下所示网络拓扑。

2.设计地址分配方案,并配置端口IP地址(例如,AR1:10.1.1.1//AR2:10.1.1.2),命令如下:(AR1和AR2相似)

注意,实验报告中不要采取这个IP(要求非这个IP),不然可能要再做一遍。(
  • AR1 : 10.1.1.1/24
  • AR2 : 10.1.1.2/24

AR1

<Huawei>sys
[Huawei]int e0/0/0
[Huawei-Ethernet0/0/0]ip addr 10.1.1.1 255.255.255.0

AR2

<Huawei>sys
[Huawei]int e0/0/0
[Huawei-Ethernet0/0/0]ip addr 10.1.1.2 255.255.255.0


(还是建议用最后那个ROUTER)

3. 设置MTU

实验设置中,请取其他值。

临时这样设置,然后来进行分片分析

  • AR1 设置MTU=750
  • AR2 设置MTU=1500

AR1

[Huawei-Ethernet0/0/0]mtu 750

AR2

[Huawei-Ethernet0/0/0]mtu 1500

ovo

4. 查看效果

display current-configuration interface

AR1:

AR2:

  • 我怀疑是默认就是MTU1500,所以没有生效

  • 设置成1499,确实是这样

好啦啦,再改回去

5. 抓包包

这样,咱们先开始抓包,然后再ping

然后我从R1 -> R2 进行ping

ping 10.1.1.2

(脑子不好用,这样是看不出分片的,写错了,2023年9月22日01:19:04)

抓的包如下:

我们要用大包来ping,这样就可以显示出IP的分片。

ping 10.1.1.2 -s 1500

6.结果分析

根据源地址和目的地址可以看出,源为10.1.1.1发出的包有三个,分别为两个IP数据包、一个ICMP数据包,而源为10.1.1.2回的包只有两个,一个IP数据包、一个ICMP数据包,分别点开前三个包的IP包头字段查看报文详细情况:

(1)第一个报文

(2) 第二个报文

(3) 第三个报文

回答问题

(1)为什么分片的有效载荷最大为728B?
(2)为什么有效载荷总量为1508B?
(3)一个ICMP报文的首部出现在哪些分片中?

(1)为什么分片的有效载荷最大为728B?

  • 最大传输单元MTU(Maximum Transmission Unit,MTU),是指网络能够传输的最大数据包大小,以字节为单位。

也就是说是大概1500字节
但是,要除去以太网的帧头。

也就是大概:

DMAC(6) + SMAC(6) + TYPE(2) + MTU = 14 字节 + MTU = 帧

但是不同的交换机有不同的数据

  • MTU = IP头+三层协议 Payload
  • 但是有的MTU = IP报文MTU + 14字节(以太网帧头)
  • 有的MTU = IP报文 + 以太帧头(14) + CRC部分的总和(2)

这里我们的帧
是762字节一个帧

以太网帧

IP协议头

三层协议:

  • 目的MAC = 6 byte
  • 源MAC = 6 byte
  • 类型 = 2 byte
  • IPV4 协议头部 = 20 byte
  • 然后咱们的三层协议的PAYload就是ICMP啦(因为IP分片,目前看13个包的话,目前是没有传完的),直接是728 byte的payload,但是同时在IPV4中有协议。
  • 这样算的话: 6+6+2+20+728=762

正好是762字节。

因此就是762个字节。

由于MTU设置为750 ,此时,除去以太网帧头是,

748

虽然MTU设置为750,但此时传输为748

(2)为什么有效载荷总量为1508B?

15的包对IP包进行了合并

  • 帧13 728
  • 帧14 728
  • 帧15 52

728+728+52=1508

正好是三个包的之和。

至于为什么是1508而不是1500。

我们用的载荷确实是1500,但是由于,ICMP的数据包的包头是8字节,包含了类型、代码、检验和以及其他字段。

所以:

  • ICMP载荷:1500 字节
  • ICMP头部:8 字节
  • IP头部:20字节

其中ICMP作为三层协议,1508字节。

也就是IP的payload共计1508字节。

(3)一个ICMP报文的首部出现在哪些分片中?

选中ICMP的头部,也就是图中的非蓝色部分。

可以看到

08 00 d681 ceab(abce) 0100(0001)
是ICMP的头部。

虽然可能有一定的顺序导致,这可能是小端和大端的区别导致,但是发现在13号帧,也就是第一个帧里。

只有第一个数据包包含上层协议。

实验报告

以下内容涉及了一定的重复实验,因为之前已经把实验做了一遍了,所以这里对实验原理进行言简意赅。
原文:记录你的实验操作过程,并仿照上面的分析过程,对你的实验过程和结果进行分析。 回答下列问题:

1、你所设计的IP地址分配方案是多少?(不能取指导书中的地址)

是这样,已经做了一遍的样子了。

选择IP

  • AR1:192.168.233.1
  • AR2:192.168.233.2

AR1

<Huawei>sy
[Huawei]int e0/0/0
[Huawei-Ethernet0/0/0]ip addr 192.168.233.1 255.255.255.0
[Huawei-Ethernet0/0/0]
Sep 22 2023 02:53:54-08:00 Huawei DS/4/DATASYNC_CFGCHANGE:OID 1.3.6.1.4.1.2011.5
.25.191.3.1 configurations have been changed. The current change number is 1, th
e change loop count is 0, and the maximum number of records is 4095.

AR2

<Huawei>
Sep 22 2023 02:50:47-08:00 Huawei SNMP/4/COLDSTART:OID 1.3.6.1.6.3.1.1.5.1 coldS
tart.
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]int e0/0/0
[Huawei-Ethernet0/0/0]ip addr 192.168.233.2 255.255.255.0
[Huawei-Ethernet0/0/0]
Sep 22 2023 02:54:14-08:00 Huawei DS/4/DATASYNC_CFGCHANGE:OID 1.3.6.1.4.1.2011.5
.25.191.3.1 configurations have been changed. The current change number is 1, th
e change loop count is 0, and the maximum number of records is 4095.

2、你设定的接口的MTU都是什么?(不能取指导书中的数值)

  • 那样就取 AR1:233 AR2:1500

莫名其妙联不通(重启下软件)

抓包文件如下:

3、回答上述结果分析中的3个问题。

实验步骤已经对步骤进行了描述概况,这里简单写一下。

(1)为什么分片的有效载荷最大为208B?

  • 目的MAC = 6 byte
  • 源MAC = 6 byte
  • 类型 = 2 byte
  • IPV4 协议头部 = 20 byte

208+20+2+12=242

由于MTU设置为233

这里的用了228 的payload分片。

(2)为什么有效载荷总量为1508B?

前面解释过啦,因为包含了8字节的请求头。

(3)一个ICMP报文的首部出现在哪些分片中?

第一个分片中!

相关滴已经解释啦。

在实验过程中对部分已经解释过啦,所以就不再细节性的再写一遍啦。

最后修改:2023 年 09 月 22 日
如果觉得我的文章对你有用,请随意赞赏