Wireshark抓包分析IP协议

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「专栏简介」:此文章已录入专栏《计算机网络零基础快速入门》

试验目的:抓包分析IP协议的传输过程和数据分片

操作系统:Windows 10 企业版

抓包工具:Wireshark 3.6.3

第一步:ping 目标主机

1)Wireshark开启抓包后, cmd 中执行命令:ping 54.222.162.186 -n 1 -l 3200

翻译:向目标主机发送一次数据包,包大小是 3200字节。

第二步:分析传输过程

1)重点看我标记的这6个包:

前三个是请求包,后三个是响应包;

数据帧的最大传输限制(MTU)是1500字节,我们 ping 的数据包是 3200 字节,会被IP协议分割成三个数据包(1500 + 1500 + 200),刚好对应前面三个请求包;

三个请求包最后以一个ICMP协议数据包结尾,用来传输控制信息。

响应包的作用也是如此。接下来,我们分析一下,IP协议是怎么分割数据的。

第三步:分析数据分片

1)先看第一个数据包(IPv4),重点看我圈中的字段:

Flags字段第二个值是 More Fragments,表示这个数据报后边有多余的数据分片;

Fragment Offset字段的值是0,表示这个数据分片从第0个字节开始保存数据。

2)再看第二个数据包(IPv4),重点看我圈中的字段:

Flags字段第二个值仍是More Fragments,表示这个数据报后边也有多余的数据分片;

Fragment Offset字段的值是1480,表示这个数据分片从第1480个字节开始保存数据。

从这里也可以反推出,第一个字段保存了 0~1480个字节。之所以只保存了1480个字段,是因为首部占了20个字节,首部+数据刚好够1500个字节,达到数据帧的上限。

3)再看第三个数据包(ICMP),重点看我圈中的字段:

Flags字段第二个值为空,表示这个数据报没有多余的数据分片;

Fragment Offset字段的值是2960,表示这个数据分片从第2960个字节开始保存数据。

从这里可以反推出,第二个字段保存了第 1480 ~ 2960个字节。

最下面的 IPv4 Fragments 字段记录了数据报的分片信息:第一、二个数据包保存了1480个字节,第三个数据包保存了248个字节。

接收方可以根据这些分片信息,重组被分割的数据。

第四步:分析生存时间

TTL是生存时间值,每经过一个路由器时,生存时间值减1,减少为0时,则会丢弃,目的是防止数据包在网络中循环转发,以节约网络资源。

1)观察ICMP请求和响应包,重点看我圈中的地方:

ICMP请求包的TTL是128,而返回的ICMP响应包的TTL则变成了48,这意味着中间经历了80个路由器,ping 命令的返回结果也可以观察到这一点:

相关推荐
Bruce_Liuxiaowei1 小时前
MQTT协议在物联网环境中的安全风险与防范指南
运维·网络·物联网·安全·网络安全
Paul_09201 小时前
golang面经——内存相关模块
服务器·网络·golang
yenggd1 小时前
vxlan-bgp-evnp分布式网关配置案例
网络·分布式·华为
金井PRATHAMA4 小时前
描述逻辑(Description Logic)对自然语言处理深层语义分析的影响与启示
人工智能·自然语言处理·知识图谱
Rock_yzh4 小时前
AI学习日记——参数的初始化
人工智能·python·深度学习·学习·机器学习
CiLerLinux5 小时前
第四十九章 ESP32S3 WiFi 路由实验
网络·人工智能·单片机·嵌入式硬件
青衫客365 小时前
基于 Python 构建的安全 gRPC 服务——TLS、mTLS 与 Casbin 授权实战
python·安全·微服务
驱动开发0076 小时前
虚拟麦克风驱动下载,支持将手机话筒映射成PC端麦克风
驱动开发·安全
七芒星20237 小时前
多目标识别YOLO :YOLOV3 原理
图像处理·人工智能·yolo·计算机视觉·目标跟踪·分类·聚类
Learn Beyond Limits8 小时前
Mean Normalization|均值归一化
人工智能·神经网络·算法·机器学习·均值算法·ai·吴恩达