Skip to content

抓取 OkHttp 流量 ​

🌐 OkHttp 是 Android 最流行的 HTTP 客户端,r0capture 抓它的最佳实践。

OkHttp 的流量特点 ​

  • 默认走系统 SSL 栈(Conscrypt/BoringSSL),最终调 SSL_read/write
  • 支持连接池复用(长连接)
  • 支持 HTTP/2(多路复用)

r0capture 抓取 ​

OkHttp 最终走 native SSL,r0capture 的 SSL hook 直接覆盖:

bash
r0capture -H 127.0.0.1:8888 -p -OkHttp.pcap com.example.app

无需针对 OkHttp 特殊处理,它就是普通 TLS 流量。

可能的坑 ​

现象原因解决
抓不到OkHttp 用了 OkHttp 自带 TLS(非系统)setssllib 指定其 libssl
连接池重连刷屏长连接保活正常,可过滤
HTTP/2 多路复用一条连接多请求pcap 里看 stream id

CertificatePinner ​

OkHttp 内置 CertificatePinner 做 Pinning。但 r0capture 不做中间人,Pinning 对 r0capture 抓包无影响——详见 SSL Pinning。

相关文档 ​

基于 VitePress 构建 · 教学用途