pcap 文件为空或损坏
📄 r0capture 生成的 .pcap 打不开或 Wireshark 报错。
文件为空(0 字节)
| 原因 | 解决 |
|---|---|
| 没抓到任何包 | 见 no-traffic-at-all |
| 输出重定向问题 | 直接用 -p file.pcap,别手动重定向 |
| 权限不足写不了 | 检查目标目录可写 |
Wireshark 报"不是 pcap 文件"
检查文件头魔数:
bash
xxd file.pcap | head -1
# 应看到: d4 c3 b2 a1 ... (小端 magic)
# 或: a1 b2 c3 d4 ... (大端 magic)| 开头字节 | 含义 |
|---|---|
d4 c3 b2 a1 | 小端 pcap(r0capture 默认) |
a1 b2 c3 d4 | 大端 pcap |
0a 0d 0d 0a | pcapng(r0capture 不产生) |
如果不是上述,文件可能被日志文本污染了——r0capture 的 -p 是直接写二进制,若你把 stdout 重定向进同一文件会损坏。
只有一个方向的包
只看到 SSL_write 没 SSL_read:
- App 只发不收(少见)
- 或服务端用 HTTP/2 服务端推送,read 被合并
- 或 App 用了别的 read 路径(如自带 SSL)
包时间戳异常
r0capture 用 Python time.time() 打时间戳。若设备时间不对,pcap 时间戳偏差大——校准设备时间。
地址是 0.0.0.0
见 zero-address。