Skip to content

pcap 全局头 (PCAP Header) ​

📄 pcap 文件的第一个 24 字节全局头。

结构 ​

r0capture 用 struct.pack('=IHHiIII', ...) 写全局头(24 字节,本地端序):

偏移字段类型r0capture 值含义
0magicuint320xa1b2c3d4魔数 + 端序标志
4version_majoruint162主版本
6version_minoruint164次版本
8thiszoneint320时区(不用)
12sigfigsuint320时间精度(不用)
16snaplenuint3265535最大抓包长度
20networkuint32228链路类型 (LINKTYPE_IPV4)

详见 pcap-global-header。

magic 的端序作用 ​

0xa1b2c3d4 写出后:

  • 小端机(ARM/x86):字节序 d4 c3 b2 a1
  • 大端机:字节序 a1 b2 c3 d4

Wireshark 读首 4 字节判断端序。r0capture 在小端 Android 上写,故 pcap 是小端格式。

network = 228 ​

228 = LINKTYPE_IPV4:告诉 Wireshark pcap 里每个包从 IPv4 头开始(没有链路层/以太网头)。这正合适——r0capture 直接造 IPv4+TCP 包。

只写一次 ​

全局头在整个 pcap 文件开头只写一次,之后全是记录头+包数据。

相关文档 ​

基于 VitePress 构建 · 教学用途