目录一、整体层级结构总览二、第一层数据链路层 —— 以太网帧Ethernet Frame标准以太网帧结构头部 14 字节 载荷 尾部 CRC1. 头部14 字节固定2. 载荷3. 尾部 CRC4 字节实战示例Wireshark 原始帧三、第二层网络层 —— IPv4 数据包IP PacketIPv4 头部基础 20 字节可选扩展字段最大 60 字节核心字段 释义 抓包实例IP 包整体示例精简四、第三层传输层 —— 分 TCP / UDP 两大主流一TCP 段面向连接、可靠传输HTTP/HTTPS 底层TCP 头部核心字段TCP 抓包实战片段二UDP 段无连接、不可靠、轻量DNS / 直播 / 语音 / 短视频UDP 头部字段固定 8 字节UDP 抓包示例DNS 查询包五、第四层应用层数据业务真实数据案例 1HTTP 明文数据基于 TCP 80 端口完整 HTTP 请求包应用层载荷HTTP 响应包案例 2HTTPS 加密数据TCP 443 端口案例 3DNS 数据基于 UDP 53 端口六、完整串联一个真实 HTTP 数据包全流程拆解1. 整体封装2. 分层完整内容精简版七、补充关键知识点快速记忆口诀结合以太网帧、IP 数据包、TCP/UDP 段、应用层数据四层结构从底层到应用层拆解数据包完整组成搭配真实抓包示例、字段释义同时区分TCP 包、UDP 包、HTTP 包三种最常见场景。前提日常抓包Wireshark/Charles/Fiddler看到的数据包遵循TCP/IP 五层模型物理层忽略核心四层以太网帧数据链路层 → IP 包网络层 → TCP/UDP 段传输层 → 应用层数据HTTP/HTTPS/DNS 等一、整体层级结构总览一个完整网络数据包封装关系[以太网帧头部] [IP 头部] [TCP/UDP 头部] [应用层数据]每层头部是协议控制信息后面是载荷数据上层数据整体作为下层的载荷。下面逐层拆解附字段、作用、实例。二、第一层数据链路层 —— 以太网帧Ethernet Frame网卡在局域网传输的最小单元所有局域网抓包必带Wireshark 最外层就是它。标准以太网帧结构头部 14 字节 载荷 尾部 CRC1. 头部14 字节固定字段长度作用示例值说明目的 MAC 地址6 字节接收方网卡物理地址ff:ff:ff:ff:ff:ff 广播地址全网设备接收源 MAC 地址6 字节发送方网卡物理地址00:1a:2b:3c:4d:5e本机网卡地址类型 / 长度2 字节标识上层协议0x0800 上层是IPv40x0806 ARP2. 载荷承载上层IP 数据包长度可变。3. 尾部 CRC4 字节校验码检测传输中数据是否损坏抓包工具一般不展示。实战示例Wireshark 原始帧Destination: ff:ff:ff:ff:ff:ff (Broadcast) Source: 00:88:99:aa:bb:cc Type: IPv4 (0x0800)解读广播帧本机发出上层为 IPv4 协议。补充跨公网传输时沿途路由器会不断改写以太网头部MAC 地址但 IP 头部全程不变。三、第二层网络层 —— IPv4 数据包IP Packet负责跨网段寻址核心作用根据 IP 地址把数据路由到目标主机。IPv4 头部基础 20 字节可选扩展字段最大 60 字节核心字段 释义 抓包实例版本4bit协议版本4 IPv46 IPv6 示例Version: 4首部长度4bitIP 头部占多少个 4 字节单元。 示例Header Length: 20 bytes最常见无扩展选项服务类型 TOS1 字节优先级、延迟、吞吐量控制日常抓包基本为 0。总长度2 字节整个 IP 包头部 载荷总字节数。 示例Total Length: 84标识2 字节数据包唯一 ID用于IP 分片大包拆分传输。标志位 片偏移3bit 13bit控制分片是否允许分片、当前是第几个分片包。生存时间 TTL1 字节数据包在网络中最大转发跳数防环路。Windows 默认 TTL128Linux 默认 TTL64 每经过一台路由器TTL -1减到 0 则丢弃报文。 示例TTL: 128协议1 字节标识上层传输层协议6 TCP17 UDP1 ICMPping 包 示例Protocol: TCP (6)首部校验和2 字节校验 IP 头部完整性。源 IP 地址4 字节发送方 IP。示例Source: 192.168.1.100内网本机目的 IP 地址4 字节接收方 IP。示例Destination: 110.242.xx.xx公网服务器IP 包整体示例精简Internet Protocol Version 4 Version: 4 Header Length: 20 bytes Total Length: 84 Identification: 0x1234 TTL: 128 Protocol: TCP (6) Source: 192.168.1.100 Destination: 110.242.0.8四、第三层传输层 —— 分 TCP / UDP 两大主流传输层负责端口寻址把数据交给主机上对应的应用程序端口区分程序。一TCP 段面向连接、可靠传输HTTP/HTTPS 底层TCP 有握手、确认、重传、流控机制头部最小 20 字节最大 60 字节。TCP 头部核心字段源端口2 字节客户端随机临时端口1024~65535。 示例Source Port: 52018目的端口2 字节服务器固定端口80 HTTP443 HTTPS22 SSH 示例Destination Port: 443 (https)序列号 Sequence Number4 字节标记当前数据字节的序号用于有序重组、丢包重传。确认号 ACK4 字节告知对方我已收到前面所有数据下一次请发这个序号开始的数据。数据偏移4bitTCP 头部长度单位 4 字节。6 位标志位重点抓包高频看到每一位代表一种控制信号组合使用URG紧急指针有效ACK确认位绝大多数数据包都带 ACK1PSH推送立即上交应用层不缓存RST重置连接强制断开SYN建立连接三次握手专用FIN关闭连接四次挥手专用 示例Flags: ACK, PSH窗口大小2 字节流量控制我方当前接收缓冲区剩余大小告知对方最多能发多少数据。校验和2 字节校验 TCP 头部 数据完整性。紧急指针2 字节配合 URG 标志标记紧急数据位置。TCP 抓包实战片段Transmission Control Protocol Source Port: 52018 Destination Port: 443 Sequence Number: 12589 Acknowledgment: 45621 Flags: ACK, PSH Window Size: 65535二UDP 段无连接、不可靠、轻量DNS / 直播 / 语音 / 短视频UDP无握手、无重传、无流控头部固定8 字节结构极简。UDP 头部字段固定 8 字节源端口2 字节目的端口2 字节总长度2 字节UDP 头部 数据总长度校验和2 字节UDP 抓包示例DNS 查询包User Datagram Protocol Source Port: 54321 Destination Port: 53 (domain) # DNS 标准端口 Length: 45 Checksum: 0xabcd解读本机向 DNS 服务器 53 端口发起域名查询。五、第四层应用层数据业务真实数据TCP/UDP 的载荷部分就是应用层协议数据也是开发 / 测试最关心的内容。 下面举HTTP、HTTPS、DNS三类最常用案例。案例 1HTTP 明文数据基于 TCP 80 端口整个应用层就是标准 HTTP 请求 / 响应文本明文可直接阅读。完整 HTTP 请求包应用层载荷GET /index.html HTTP/1.1 Host: www.example.com User-Agent: Mozilla/5.0 Accept: */* Connection: keep-alive拆解请求行请求方法 路径 协议版本请求头各类客户端信息、连接策略无请求体GET 请求HTTP 响应包HTTP/1.1 200 OK Server: nginx Content-Type: text/html Content-Length: 128 html bodyHello World/body /html状态行协议 状态码 描述响应头服务器、内容类型、长度响应体真实业务数据Fiddler/Charles 看到的内容本质就是解析后的 TCP 应用层 HTTP 数据。案例 2HTTPS 加密数据TCP 443 端口默认状态下应用层载荷是密文肉眼全是乱码二进制。# 原始加密载荷示例 16 03 01 00 48 02 00 00 44 03 03 a1 b2 c3 d4 ...只有在抓包工具安装根证书、开启 SSL 解密后工具才会中间人解密展示出内部的 HTTP 明文。案例 3DNS 数据基于 UDP 53 端口域名解析专用UDP 载荷是结构化二进制数据Wireshark 会自动解析Domain Name System (query) Transaction ID: 0x8899 Flags: standard query Questions: 1 Queries www.baidu.com: type A (IPv4), class IN作用查询www.baidu.com对应的 IPv4 地址。六、完整串联一个真实 HTTP 数据包全流程拆解以「浏览器访问网页」为例把四层拼在一起1. 整体封装[以太网头部] [IP 头部] [TCP 头部] [HTTP 请求明文]2. 分层完整内容精简版数据链路层以太网源MAC: 本机网卡 目的MAC: 网关路由器 上层类型: IPv4网络层IPv4源IP: 192.168.1.100 目的IP: 110.242.0.8 协议: TCP(6) TTL: 128传输层TCP源端口: 52018 目的端口: 80(HTTP) 标志位: ACKPSH应用层HTTPGET / HTTP/1.1 Host: www.baidu.com七、补充关键知识点抓包工具展示差异Wireshark展示完整四层原始报文偏底层协议分析。Fiddler/Charles屏蔽链路层、网络层细节只解析传输层 应用层聚焦 HTTP/HTTPS 业务。分片当 IP 包长度超过网卡 MTU默认 1500 字节IP 层会自动分片接收端重组。端口作用IP 定位主机端口定位主机上的应用。明文 / 密文分界HTTP、DNS、FTP应用层明文HTTPS、FTPS应用层默认密文需证书解密快速记忆口诀MAC 找设备IP 找主机端口找程序载荷是业务二层 MAC局域网寻址三层 IP跨网寻址四层 端口区分应用应用层真实交互数据