抓推送/IM 长连接配方
📡 抓 App 的长连接(推送、IM)流量。
思路
长连接(XMPP/MQTT/自定义)通常走 SSL,一个会话持续很久,多次收发共用同一 ssl_session_id。
步骤
1. attach 抓包(长连接已建立)
bash
python3 r0capture.py -U 酷安 -v -p long.pcap或抓启动期建立长连接:
bash
python3 r0capture.py -U -f com.app -v -p long.pcap2. 触发长连接活动
- 等待推送到达
- 发送/接收 IM 消息
- 后台保活心跳
3. Wireshark 分析
Follow TCP Stream 看整条长连接对话。一个 ssl_session_id 对应一条长连接,包含多次收发。
特征
- 心跳包:周期性的小数据包(如
0x00或 ping 帧) - 推送:服务端主动下发(
SSL_read) - 上行:客户端发的请求(
SSL_write)
注意
长连接可能用 WebSocket、XMPP、MQTT 或自定义协议,识别方法见各协议文档。