Skip to content

WebSocket / WSS ​

🔌 全双工通信协议,r0capture 同样能抓。

WebSocket 与 HTTP 的关系 ​

WebSocket 握手借 HTTP 升级,之后切换为全双工帧协议:

WSS(WebSocket over TLS)下,所有帧都经 SSL_read/SSL_write,r0capture 通杀。

抓到的内容 ​

握手(HTTP 升级请求/101 响应)+ 后续 WebSocket 帧,全是明文:

  • 握手阶段:标准 HTTP 文本
  • 帧阶段:WebSocket 帧格式(FIN+opcode+mask+payload)

帧的 payload 可能是文本(JSON)或二进制(Protobuf)。r0capture 抓到的是已解掩码的 payload 明文(因为 hook 在 SSL 层,mask 已由 WebSocket 库处理)。

在 r0capture 里的表现 ​

阶段function内容
握手请求SSL_writeGET /ws ... Upgrade: websocket
握手响应SSL_readHTTP/1.1 101 ...
发送帧SSL_writeWebSocket 帧 payload
接收帧SSL_readWebSocket 帧 payload

帧格式提示 ​

Wireshark 能自动识别 WebSocket 帧并解析 opcode(text/binary/close/ping/pong)。r0capture 写的 pcap 里,Wireshark 会把 TCP 流识别为 WebSocket 协议。

相关文档 ​

基于 VitePress 构建 · 教学用途