抓取 IM 即时通讯流量
💬 抓 IM App(类微信/QQ)的消息收发。
IM 流量特点
- 长连接(TCP/wss)
- 自定义二进制协议(protobuf 居多)
- 收发消息、已读回执、在线状态
- 离线消息拉取
抓取
bash
r0capture -U -f com.example.im -p im.pcap
# 登录、发消息、收消息抓到的内容
[SSL_write] <protobuf 二进制: 发送消息请求>
[SSL_read] <protobuf: 服务端 ACK>
[SSL_read] <protobuf: 对方发来的消息>IM 常用 protobuf,body 不可读,需 .proto schema 解码:
bash
protoc --decode_raw < msg.bin协议分析步骤
- 抓发送一条消息的流量
- 在 pcap 里定位对应
SSL_write(按时间/大小) - 用 myhexdump 看二进制结构
- 对照 protobuf schema 或逆向猜字段
- 对比收消息的
SSL_read
心跳与重连
IM 必有心跳保活,pcap 里定期出现。网络切换会触发重连。