Skip to content

抓推送/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.pcap

2. 触发长连接活动 ​

  • 等待推送到达
  • 发送/接收 IM 消息
  • 后台保活心跳

3. Wireshark 分析 ​

Follow TCP Stream 看整条长连接对话。一个 ssl_session_id 对应一条长连接,包含多次收发。

特征 ​

  • 心跳包:周期性的小数据包(如 0x00 或 ping 帧)
  • 推送:服务端主动下发(SSL_read)
  • 上行:客户端发的请求(SSL_write)

注意 ​

长连接可能用 WebSocket、XMPP、MQTT 或自定义协议,识别方法见各协议文档。

相关文档 ​

基于 VitePress 构建 · 教学用途