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 命令的返回结果也可以观察到这一点:

相关推荐
MonkeyKing_sunyuhua2 分钟前
VSCode + Cline AI辅助编程完全指南
ide·人工智能·vscode
Leinwin8 分钟前
Microsoft Azure 服务4月更新告示
人工智能·azure
胡耀超12 分钟前
霍夫圆变换全面解析(OpenCV)
人工智能·python·opencv·算法·计算机视觉·数据挖掘·数据安全
jndingxin20 分钟前
OpenCV CUDA 模块中用于在 GPU 上计算两个数组对应元素差值的绝对值函数absdiff(
人工智能·opencv·计算机视觉
jerry60920 分钟前
LLM笔记(五)概率论
人工智能·笔记·学习·概率论
硅谷秋水21 分钟前
学习以任务为中心的潜动作,随地采取行动
人工智能·深度学习·计算机视觉·语言模型·机器人
Tiny番茄1 小时前
Multimodal models —— CLIP,LLava,QWen
人工智能
Wnq100721 小时前
工业场景轮式巡检机器人纯视觉识别导航的优势剖析与前景展望
人工智能·算法·计算机视觉·激光雷达·视觉导航·人形机器人·巡检机器人
小疆智控2 小时前
数字化工厂升级引擎:Modbus TCP转Profinet网关助力打造柔性生产系统
服务器·网络·tcp/ip
无心水2 小时前
【程序员AI入门:模型】19.开源模型工程化全攻略:从选型部署到高效集成,LangChain与One-API双剑合璧
人工智能·langchain·开源·ai入门·程序员ai开发入门·程序员的 ai 开发第一课·程序员ai入门