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

    在这里插入图片描述

  • 相关阅读:
    深入了解 Redis 集群:分片算法和架构
    SpringCloud - GateWay服务网关
    【zip密码】7-zip分卷压缩方法
    BootStrap在Vue中的安装使用详细教程
    【C++】拷贝构造函数调用时机 ② ( 对象值作为函数参数 | 对象值作为函数返回值 )
    grep与正则的搭配使用
    脂肪 、肥胖与健康
    网工记背命令(6)----链路聚合配置
    踹他GPT 之 弄个大乐透助手
    你绝对需要的Facebook养号攻略,教你如何养成耐用号
  • 原文地址:https://blog.csdn.net/wangyuxiang946/article/details/124568709