Skip to content

TCP 头字段 ​

📋 r0capture 造的 pcap 包里 TCP 头(20 字节)每个字段。

TCP 头结构 ​

log_pcap 写的 TCP 头:

python
# --- TCP 头 20字节, 大端序 ---
(">H", src_port),    # Source Port
(">H", dst_port),    # Destination Port
(">I", seq),         # Sequence Number
(">I", ack),         # Acknowledgment Number
(">H", 0x5018),      # Data Offset + Flags
(">H", 0xFFFF),      # Window Size
(">H", 0),           # Checksum
(">H", 0),           # Urgent Pointer

字段详解 ​

偏移长度格式值含义
02>Hsrc_portSource Port
22>Hdst_portDestination Port(通常 443)
44>IseqSequence Number
84>IackAcknowledgment Number
122>H0x5018Data Offset + Flags
142>H0xFFFFWindow Size
162>H0Checksum
182>H0Urgent Pointer

关键字段 ​

Data Offset + Flags: 0x5018 ​

0x5018 = 0101 0000 0001 1000
         ^^^^         ^^^^^^^
         Data Offset  Flags
  • 高 4 位 5 = Data Offset(5×4=20 字节 TCP 头)
  • Flags 0x018 = 0001 1000 = ACK(0x10) + PSH(0x08)

PSH+ACK 是携带应用数据的典型标志。

Window Size: 0xFFFF ​

填满 0xFFFF(65535),避免 Wireshark 报「window is full」警告。

seq / ack ​

模拟的 TCP 序列号,详见 TCP 序列号。

Checksum: 0 ​

填 0,Wireshark 不校验造的包。

字节序 ​

TCP 头用大端序(网络序,>)。

相关文档 ​

基于 VitePress 构建 · 教学用途