Skip to content

-v / -verbose:详细输出 ​

🖨️ 在控制台打印每条流量的 hexdump、五元组、SSL 会话 ID、调用栈。

作用 ​

打开后,每抓到一条流量,on_message 回调会向控制台打印:

  1. SSL Session ID —— 用于关联同一会话的多个包
  2. 五元组 —— [函数] 源IP:源端口 --> 目的IP:目的端口
  3. hexdump —— 明文字节的「偏移量 + 十六进制 + ASCII」三栏渲染
  4. 调用栈 —— 触发本次收发的 Java 调用栈(定位收发包函数用)

用法 ​

bash
# verbose 默认就是开启的
python3 r0capture.py -U 酷安 -v -p out.pcap

# 不加 -v 也会开(default=True),但显式写更清晰
python3 r0capture.py -U 酷安

注意 default=True

源码里 -verbose 的 default=True,所以即使不写 -v,详细输出也是开的。这与其他工具"不写就不输出"的惯例不同。

输出示例 ​

SSL Session: 59FD71B7A2C3...
[SSL_write] 192.168.1.5:54321 --> 93.184.216.34:443
GET / HTTP/1.1
Host: example.com
User-Agent: okhttp/4.9.1
...
at com.example.api.HttpClient.post(HttpClient.java:42)
at com.example.api.ApiService.login(ApiService.java:88)
...

hexdump 渲染 ​

由 myhexdump.py 的 hexdump() 完成,调用方式:

python
gen = hexdump.hexdump(data, result="generator", only_str=True)
str_gen = ''.join(gen)
logger.info(f"{str_gen}")
  • result="generator":返回生成器,逐行惰性求值,处理大流量时省内存
  • only_str=True:只取 ASCII 可读栏(不打印十六进制栏),适合纯文本流量

相关文档 ​

基于 VitePress 构建 · 教学用途