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

相关推荐
cdut_suye9 分钟前
Linux工具使用指南:从apt管理、gcc编译到makefile构建与gdb调试
java·linux·运维·服务器·c++·人工智能·python
鸭梨山大。19 分钟前
Jenkins 任意文件读取(CVE-2024-23897)修复及复现
安全·中间件·jenkins
开发者每周简报29 分钟前
微软的AI转型故事
人工智能·microsoft
dundunmm32 分钟前
机器学习之scikit-learn(简称 sklearn)
python·算法·机器学习·scikit-learn·sklearn·分类算法
网安墨雨32 分钟前
常用网络协议
网络·网络协议
古希腊掌管学习的神32 分钟前
[机器学习]sklearn入门指南(1)
人工智能·python·算法·机器学习·sklearn
Tlzns35 分钟前
Linux网络——UDP的运用
linux·网络·udp
黑客老陈1 小时前
新手小白如何挖掘cnvd通用漏洞之存储xss漏洞(利用xss钓鱼)
运维·服务器·前端·网络·安全·web3·xss
普密斯科技1 小时前
手机外观边框缺陷视觉检测智慧方案
人工智能·计算机视觉·智能手机·自动化·视觉检测·集成测试
四口鲸鱼爱吃盐1 小时前
Pytorch | 利用AI-FGTM针对CIFAR10上的ResNet分类器进行对抗攻击
人工智能·pytorch·python