PCAPdroid 中文文档 下载 App

QUIC 协议暂时不支持解密 — 阻断让应用回退到 TLS

什么是 QUIC

QUIC 是基于 UDP 的新传输层协议,是 HTTP/3 的底层实现。Google Chrome、Google 全家桶(YouTube、Gmail、搜索)、Facebook 等已经全面迁移到 QUIC,很多新 App 也开始使用。

对比TLS 1.3 + TCPQUIC
传输层TCP(可靠、保序)UDP(自研可靠层)
握手延迟3 RTT1 RTT(支持 0-RTT 恢复)
多路复用需要 HTTP/2内建流级多路复用
连接迁移IP 变化断连接支持(Connection ID 机制)

为什么 PCAPdroid 解不了

PCAPdroid 的 TLS 解密基于 mitmproxy 中间件库。mitmproxy 的 QUIC 支持目前仍未完成(2024 年仍在开发中),详见 mitmproxy 官方 issue #4170。PCAPdroid 也只能等底层支持到位再跟进。

Connections 里遇到 QUIC 连接时,锁图标会显示橙色(不支持解密)。

临时解决:主动阻断 QUIC 让应用回退

PCAPdroid 设置里有一个主动阻断 QUIC的开关,开启后:

这是目前 PCAPdroid 侧唯一可行的变通方案。

局限:强制 QUIC 的应用

某些应用强制 QUIC——发现 QUIC 被阻断后直接拒绝联网、不做 TLS 回退(比如某些 Google 服务的特定端点)。遇到这种情况:

怎么识别哪些应用用了 QUIC

Connections 里用协议筛选(Edit Filter → Protocol → QUIC)就能列出所有 QUIC 连接。配合应用筛选一起看,可以快速识别哪些应用大量使用 QUIC。

未来展望

mitmproxy 一直在开发 QUIC 支持,PCAPdroid 会在底层到位后跟进。届时 PCAPdroid 的 TLS 解密能力会覆盖 QUIC,橙色锁连接会变成绿色锁,临时的阻断+回退方案就可以去掉了。