【网络协议分析】利用Wireshark分析IP分片

一、实验目的

利用Wireshark软件抓包分析IP分片,了解IP分片的工作原理。

二、实验过程

1 、网络拓扑

|--------|----------------|----------------|---------|
| 设备 | IP 地址 | 设备接口 | MTU |
| AR1 | 172.30.132.164 | Ethernet 0/0/0 | 700 |
| AR2 | 172.30.132.165 | Ethernet 0/0/0 | 1200 |

2 、实验过程

(1)在eNSP中按网络拓扑搭建网络,并配置好IP地址、子网掩码等。

(2)分别修改AR1和AR2各自E0/0/0口的MTU值为700和1200,并且查看修改后的效果。

(3)在AR1的E0/0/0口启动wireshark,抓取数据包。wireshark启动后,在AR1路由器E0/0/0口运行ping命令

3 、结果分析

根据源地址和目的地址可以看出,源为172.30.132.164发出的包有两个,分别为一个IP数据包、一个ICMP数据包,源为172.30.132.165回复的包也有两个,一个IP数据包、一个ICMP数据包.

  • 第一个报文
  • 第二个报文

可以看到,第一个包的MF字段被设置成1,说明还有其他分片,而最后一个包的MF字段为0,标志着这是最后一个分片。

汇总信息如图框中部分:

在第二个(也就是最后一个包)在汇总信息中可以看到2个分片(Frame)中的有效载荷(payload)分别为680B、528B,总的有效载荷为680+528=1208B。

回答下列问题:

  • 为什么分片的有效载荷最大为680B?

我们在实验开始时,设置了最大传输单元限制MTU为700/1200,通信时取小的一个作为限制,即MTU为700。去掉每帧的报文头20B,即最大还剩680B有效载荷

  • 为什么有效载荷总量为1208B?

分片大小分别为700B和548B,每个帧包括一个20B的报文头,两个帧共40B的报文头,有效载荷总量为总大小-报文头=1248B-40B=1208B。

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

分别对两个分片进行分析,可知,ICMP报文的首部在第一个分片中,第二个报文中只包括剩余的ICMP数据。

三、思考和总结

总结:

本次实验主要为利用Wireshark和eNSP软件进行分析IP分片,了解分片的过程。

如果当传输数据量超过设置的MTU时,IP就会将数据报进行分片,将一个超过MTU的数据报分为多个不大于MTU的数据报进行发送。接收端收到后再进行组装,形成完整的数据报。在进行分片时,IP通过设置MF标志位为1作为标识是否为最后一个分片。

使用到的新命令:

mtu <数值>:设置当前接口的最大传输单元限制MTU

display current-configuration interface:查看全部接口的配置

相关推荐
hengdonghui10 小时前
Writeup 4 2020 - 之江杯 - 异常的流量分析
wireshark·ctf·流量分析
Zelman11 小时前
TCP 协议
网络协议·tcp/ip
life码农13 小时前
Nginx 配置允许指定 IP 段访问:从 192.168.1.1 到 192.168.1.124 及 /24 详解
网络·tcp/ip·nginx
javaDocker13 小时前
16.5 小时,我打掉了两只「SSL 握手失败」的怪
网络·网络协议·ssl
我就是不信14 小时前
TCP 原理详解:从三次握手到拥塞控制
网络·网络协议·tcp/ip
我就是不信15 小时前
TCP/IP 网络编程:从入门到实战
网络·网络协议·tcp/ip
骑着蜗牛撵大象32717 小时前
Agent 打字机是怎么来的:SSE 与 WebSocket 打通实时响应与中间状态
网络·websocket·网络协议·agent·sse·实时通信·流式输出
Frank_refuel17 小时前
分布式RPC框架实战(二):服务端模块划分与底层设计
分布式·网络协议·rpc
吴声子夜歌17 小时前
Nginx应用与运维——Nginx代理服务应用实战(TCP/UDP代理)
运维·tcp/ip·nginx
Fcy64818 小时前
Linux下 传输层协议TCP详解
linux·网络·tcp/ip