锁图标含义与解密状态 — 一眼看懂每条连接的解密情况
四种颜色锁
Connections 列表每行都有一个锁图标,颜色直接告诉当前 TLS 解密的状态:
| 颜色 | 状态 | 含义 | 下一步 |
|---|---|---|---|
| 🟢 绿色 | 解密成功 | PCAPdroid-mitm 成功解密,应用信任 PCAPdroid CA | 点连接进入详情,Payload 和 HTTP 面板有明文 |
| 🔴 红色 | 解密失败 | mitmproxy 尝试解密但应用拒绝(最常见是证书锁定) | 点连接看具体错误信息,决定用哪种绕过方案 |
| 🟠 橙色 | 不支持 | 协议层面不支持(QUIC、STARTTLS 等)或应用特殊实现 | 考虑阻断 QUIC 让应用回退,或换其他方式 |
| ⚪ 灰色 | 无 TLS | 这条连接本来就没加密(DNS、UDP、明文 HTTP 等) | 不需要解密 |
什么颜色都没有
有些连接行上根本没有锁图标——说明这条连接还没完成 TLS 握手或者完全没走 TLS。可能是:
- DNS 查询、UDP NTP 同步、MDNS 等非 TCP 连接
- TCP 连接还在建立中(SYN/SYN-ACK 阶段)
- 应用发起了连接立刻关闭了,还没来得及升级到 TLS
从连接详情看更多
点击任意连接进入详情面板,Overview 区域会进一步说明 TLS 相关的状态:
- TLS version:如果是 TLS 连接,显示握手协商的版本(TLS 1.2 / TLS 1.3)
- SNI:TLS 握手里的 Server Name Indication——这个值不加密,所以即使解密失败也能看到(除非应用特意隐藏 SNI 或用 Encrypted Client Hello)
- 证书:应用侧请求的服务器证书颁发方、有效期等
- 解密错误:红色锁时这里会有一段文字说明为什么失败(最有价值的排查线索)
用筛选过滤锁颜色
Connections 顶栏漏斗图标(Edit Filter)里有Decryption 相关筛选条件,可以快速:
- 只看「解密成功」的连接(绿色锁)
- 只看「解密失败」的连接(红色锁,批量排查证书锁定)
- 只看「不支持解密」的连接(橙色锁,统计有多少应用在用 QUIC)
配合「协议」筛选(TLS / HTTPS / QUIC)一起用最有效。
<img src="images/decrypted-payload.jpg" alt="解密后的 TCP 负载详情" title="解密后的明文负载" />