抓取推送 SDK 流量
🔔 抓取第三方推送 SDK(个推/极光/小米/华为推送)流量。
推送 SDK 特点
- 长连接保活
- 自定义二进制协议(非标准 HTTP)
- 多个 SDK 共存(一个 App 可能同时集成个推+小米+华为)
- 设备注册、心跳、接收推送
抓取
bash
r0capture -U -f com.example.app -p push.pcap
# 启动 App,等待推送 SDK 初始化和注册
# 从控制台或推送平台发一条测试推送关注的请求
| 阶段 | 流量 |
|---|---|
| SDK 初始化 | 上报 appkey、设备信息 |
| 注册 | 拿到 registration_id / cid |
| 心跳 | 定期的 keep-alive |
| 推送接收 | 服务端下发的推送内容 |
二进制协议
推送 SDK 常用自定义二进制协议(非 HTTP),r0capture 抓到的是裸字节,需用 myhexdump 看十六进制:
[SSL_write] 192.168.1.5:54321 --> push.getui.com:5224
0000 00 14 00 00 00 00 ... ← 自定义协议头需对照 SDK 协议文档或逆向解析。
长连接
推送是长连接,pcap 里持续有心跳和推送包,注意过滤特定服务器 IP。