支持的协议总览
🌐 r0capture 通杀 TCP/IP 四层模型中应用层的全部协议。
通杀原理
r0capture 不针对单个协议做适配,而是 hook 在 SSL_read/SSL_write 这条所有加密应用层协议必经的收发通道上:
只要协议走系统 SSL 栈(OpenSSL/BoringSSL),就一定经过 SSL_read/SSL_write,就被通杀。不走 SSL 的裸 TCP 协议,由 Java 层 socket hook 兜底。
协议清单
| 协议 | 加密版 | r0capture 支持 | 文档 |
|---|---|---|---|
| HTTP | HTTPS | ✅ | HTTP/HTTPS |
| WebSocket | WSS | ✅ | WebSocket |
| FTP | FTPS | ✅ | FTP |
| XMPP | XMPPS | ✅ | XMPP |
| IMAP | IMAPS | ✅ | IMAP |
| SMTP | SMTPS | ✅ | SMTP |
| Protobuf | Protobuf over TLS | ✅ | Protobuf |
| 自定义二进制 | 自定义 over TLS | ✅ | 自定义协议 |
| HTTP/2 | h2 | ⚠️ 部分 | HTTP/2 限制 |
| HTTP/3 | h3(QUIC) | ❌ | HTTP/3 限制 |
| QUIC | — | ❌ | QUIC 限制 |
SSL 与非 SSL 两条路径
- SSL 流量:
ssl_session_id有值,pcap 里关联成 TCP 流 - 非 SSL 流量:
ssl_session_id为空字符串""
局限
详见 局限性总览:
- HTTP/2、HTTP/3(QUIC) 暂未通用支持
- WebView、小程序、Flutter 用自身 SSL 栈,暂未支持
- 多进程(
:service/:push子进程)暂未支持