实验环境:win10操作系统,安装了wireshark软件,能正常链接互联网。
一、IPV4数据包
1、开始抓包。双击打开wireshark软件,双击以太网。可以看到许多的不同协议的数据包。

在这里插入图片描述
在这里插入图片描述
2、生成并查找目标流量。ping baidu.com,在wireshark搜索栏输入icmp就可以看到当前的数据包。(因为ping是ICMP协议中的一个命令)
在这里插入图片描述

在这里插入图片描述
3、查看IPV4数据报的结构。双击第一个数据报,number为6888这个,显示:
在这里插入图片描述

数据链路层:展开 “Ethernet II” 部分,这里记录的是物理地址信息,包含源和目标的 MAC 地址。
在这里插入图片描述

网络层:展开Internet Protocol Version 4,Wireshark以清晰的键值对形式显示了整个IPv4报头.
在这里插入图片描述

Pv4 报头字段在 Wireshark 中的含义和查看要点
0100 … = VersionIP 版本号,固定为 4,表明这是一个 IPv4 数据报。
… 0101 = Header LengthIP 报头长度。值为 5 代表 5 * 4 = 20 字节(无选项),若大于5则意味着有选项字段。
Differentiated Services Field服务类型(ToS)字段,包含用于 QoS 的 DSCP 和 ECN 信息。
Total LengthIP 报文总长度(报头 + 数据),单位是字节。
Identification标识字段,用于分片重装。
Flags标志字段,如 0x02 表示“不分片 (DF)”。
Fragment Offset片偏移,指示分片在原报文中的位置。
Time to Live生存时间(TTL),每经过一跳减 1,从初始值(如 64)可大致推断操作系统。
Protocol上层协议,常见值如 6 (TCP)17 (UDP)1 (ICMP)
Header Checksum报头校验和,Wireshark通常用“正确”或“错误”标记。
Source Address发送方 IPv4 地址。
Destination Address接收方 IPv4 地址

展开 Internet Control Protocol:
在这里插入图片描述

数据包本身就是 ICMP(Internet Control Message Protocol,互联网控制消息协议) 报文,它和 TCP、UDP 一样都是 IP 的“上层协议”,但 ICMP 不依赖传输层,而是直接承载在 IPv4 报头之后。

CMP 字段含义常见值
Type消息类型8 = Echo 请求,0 = Echo 应答,3 = 目的不可达,11 = 超时
Code类型下的细分代码通常为 0,部分类型(如目的不可达)有不同 Code(0=网络不可达,1=主机不可达等)
ChecksumICMP 报文校验和Wireshark 会自动验证并标记“正确”或“错误”
Identifier标识符(用于 Ping)通常为进程 ID,帮助匹配请求和应答
Sequence Number序列号每发一个 Ping 请求递增 1
Data可选负载数据通常是时间戳或填充字符,用来计算往返时延

保存结果
抓取完感兴趣的数据包后,可以从 File (文件) → Save (保存) 菜单,将当前捕获的所有数据包保存为一个 .pcap 或 .pcapng 文件,方便下次用 Wireshark 打开继续分析。

二、IPV6数据包

使用ipconfig /all命令查看发现,我的电脑只有 fe80::4a3:f50c:35c7:bcc%15 这一个 IPv6 地址,这是一个本地链路地址,只能在同一个广播域内通信,没有分配任何公网 IPv6 地址(例如 240e: 开头的那种)。因此只能通过捕获本机回环(Loopback)的 IPv6 流量(无需外网)
1、重新打开wireshark,选择npcap loopback adapter。双击打开。

在这里插入图片描述
在这里插入图片描述
1、生成 IPv6 流量:命令行中输入:ping ::1
在这里插入图片描述
2、抓包。在显示过滤器栏输入 icmpv6.type == 128,显示自己刚执行的 ping ::1 命令产生的流量
在这里插入图片描述
3、双击第一条数据,打开Internet Protocol Version 6:
在这里插入图片描述
观察 IPv6 报头的所有字段

字段长度含义
Version4 位IP 版本号,对于 IPv6 固定为 6
Traffic Class8 位流量类别,用于 QoS(服务质量),类似于 IPv4 的 Type of Service (ToS) 字段。
Flow Label20 位流标签,用于标识属于同一流量的数据包(如视频流),以便路由器特殊处理。IPv4 无此字段。
Payload Length16 位有效载荷长度,指的是 IPv6 基本报头之后 部分的字节数(包括扩展报头和上层协议数据)。不包含基本报头的 40 字节。
Next Header8 位下一个报头,功能与 IPv4 的 Protocol 字段类似。标识紧跟 IPv6 基本报头的是哪种扩展报头或上层协议。常见的值:58 = ICMPv6,6 = TCP,17 = UDP。
Hop Limit8 位跳数限制,等同于 IPv4 的 Time to Live (TTL)。每经过一个路由器减 1,减到 0 时丢弃。
Source Address128 位源 IPv6 地址。在你的 ping ::1 中,这个地址是 ::1(本机回环地址)。
Destination Address128 位目的 IPv6 地址。在你的 ping ::1 中,也是 ::1

注意:IPv6 报头 没有 这些字段(与 IPv4 相比):IHLIdentificationFlagsFragment OffsetHeader Checksum。这些功能要么被移除(校验和),要么通过扩展报头实现(分片)。


数据链路层(例如 Ethernet II 帧)在 Wireshark 中,数据链路层位于 Internet Protocol Version 6 之上,通常展开后名为 Ethernet II(如果抓的是真实网卡)。对于 Npcap Loopback Adapter 捕获的回环流量,数据链路层会显示为 “Loopback”“NULL/Loopback”,结构不太标准。以最常见的以太网帧为例:

字段长度含义
Destination MAC6 字节目的设备的 MAC 地址(物理地址)。
Source MAC6 字节源设备的 MAC 地址。
Type / Length2 字节上层协议类型。对于 IPv6,该字段值为 0x86DD
Payload (Data)可变包含网络层数据(即 IPv6 数据报)。
Frame Check Sequence4 字节帧校验序列(FCS),用于检测数据帧传输错误。

捕获的 ping ::1 包中,由于是回环虚拟接口,看不到标准的 Ethernet II 头,而是看到 “NULL” 链路层头。这没关系,不影响观察 IPv6 报头。


网络层(就是 IPv6) Internet Protocol Version 6,负责逻辑寻址(IP 地址)、路由和分片(通过扩展报头)。


报头对比

特性IPv4 报头IPv6 报头
报头长度可变(20-60 字节)固定 40 字节
分片相关字段有(ID、Flags、Offset)无(改用扩展报头)
校验和有(Header Checksum)
选项包含在报头内使用独立扩展报头
流标签有(Flow Label)

结论:IPV4数据报报头和IPV6数据报报头对应关系

IPv4 字段IPv6 字段对应说明
Version (4位)Version (4位)直接对应,但 IPv4 值为 4,IPv6 值为 6。
IHL (4位)IPv6 报头固定为 40 字节,无需长度字段。
Type of Service (8位)Traffic Class (8位)功能相似,均用于 QoS 和 DSCP/ECN。
Total Length (16位)Payload Length (16位)功能相似:IPv4 总长度 = 报头 + 数据;IPv6 有效载荷长度 = 扩展报头 + 上层数据(不含基本报头)。
Identification (16位)IPv6 不支持中间路由器分片,仅源端分片,此字段由扩展报头处理。
Flags (3位)同上,分片控制信息由 IPv6 分片扩展报头承载。
Fragment Offset (13位)同上。
Time to Live (8位)Hop Limit (8位)直接对应,功能均为限制报文最大跳数。
Protocol (8位)Next Header (8位)直接对应:标识上层协议或 IPv6 扩展报头类型。
Header Checksum (16位)IPv6 移除此字段,依赖链路层和上层校验。
Source Address (32位)Source Address (128位)直接对应,地址长度扩展。
Destination Address (32位)Destination Address (128位)直接对应,地址长度扩展。
Options (变长)扩展报头 (多个)功能对应:IPv4 选项变长且受限;IPv6 使用独立扩展报头(如逐跳选项、路由等)。
Flow Label (20位)IPv6 新增字段,用于标识同一流的数据包,IPv4 无对应。

说明

  • IPv6 移除了 IHLIdentificationFlagsFragment OffsetHeader Checksum 五个字段。
  • 分片功能由 IPv6 的“分片扩展报头”实现,不作为基本报头字段。
  • Flow Label 是 IPv6 新增字段,无 IPv4 对应项。
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐