抓 WebSocket 流量配方
🔌 抓 App 的 WebSocket(WSS)全双工通信。
思路
WSS 走 SSL,r0capture 经 SSL_read/SSL_write 通杀。握手借 HTTP 升级,之后是 WebSocket 帧。
步骤
1. 抓包
bash
python3 r0capture.py -U -f com.app -v -p out.pcap2. 触发 WebSocket
操作 App 进入需实时通信的页面(聊天、实时数据)。
3. 识别 WebSocket
- 握手:
SSL_write里GET /ws ... Upgrade: websocket,SSL_read里HTTP/1.1 101 - 帧:之后
SSL_write/SSL_read的载荷是 WebSocket 帧格式
4. Wireshark 解析
r0capture 的 pcap 里,Wireshark 能自动识别 WebSocket 帧并解析 opcode(text/binary/close/ping/pong)。Follow TCP Stream 看完整对话。
5. 帧内容
- text 帧:JSON 等文本,直接读
- binary 帧:可能 Protobuf,需解析
注意
r0capture 抓到的是已解掩码的 payload(mask 由 WebSocket 库在 SSL 层之上处理)。