HTTPS抓包解密怎么配
本篇讲在安卓上解密 HTTPS 流量要备齐哪几样、第一次配置怎么验证链路通不通、列表里的锁图标各是什么意思,以及最常见的几类失败原因。相关文档:安卓手机抓包怎么看应用联网.md · 抓包文件怎么用Wireshark打开.md
一、先想清楚要不要解密
不解密时,HTTPS 连接在列表里只显示域名(SNI)和 IP——对多数排查场景(谁在联网、连去哪、传了多少)已经够用。要看请求体、响应内容这些明文,才需要走到解密这一步。
动手前把预期调对,三件事先知道:
- 这是有门槛的功能——要装附加组件、装证书、配规则,失败是常态,开发者文档原话是在安卓上做这件事「不容易」;
- 解密只对配了规则的连接生效——不是全局解,这是设计如此;
- 先确认目标应用的服务条款是否允许这类操作,也别把解密拿来绕过应用的授权与付费机制——那超出了排障的正当用途。
二、要备齐的三样
以 PCAPdroid 为例,打开设置里的 TLS 解密开关后,首次会进一个安装向导,一次配好两样东西:
- mitm 附加组件——真正干解密活的是它(内部集成 mitmproxy),单独安装;
- CA 证书——运行时临时生成的,装进系统证书库后才能解开数据;部分手机会再弹一次系统确认框。
第三样是规则:在解密规则页按应用或按域名添加,或者在连接列表里长按某条连接直接选解密条件——后者最常用。别忘了还有个前置开关:设置里的「完整载荷(Full payload)」要打开,否则解出的数据不会完整载入,HTTP 请求视图也不会出现。
国产系统若开了自启动限制或后台冻结,把 mitm 附加组件加进白名单,否则解密服务会被系统掐掉——表现为开关开着却从来不解。
三、第一次配置,拿浏览器验证
别一上来就拿目标应用试。先选最容易解成功的浏览器验证链路:开解密、目标锁定浏览器、点开始,在浏览器里新开标签访问一个 HTTPS 网站。回到列表看到绿色开锁图标,说明证书、附加组件、规则全对了,这时候换目标应用才有意义。一上来就绿不起来,问题多半在链路,不在目标应用。
四、锁图标颜色对照
| 图标 | 含义 |
|---|---|
| 绿色开锁 | 解密成功,点开能看明文与 HTTP 内容 |
| 红色 | 解密失败,点开连接看错误信息里的原因 |
| 橙色 | 协议不支持(比如 QUIC) |
| 灰色开锁 | 连接本来就没加密(如明文 DNS) |
| 灰色闭锁 | 还没轮到解:没配规则,或应用还没发数据 |
过滤器里可以只列「已解密」或「解密失败」的连接,逐条排查省事很多。
五、最常见的失败原因
红色失败里排第一的是 「客户端不信任代理证书」,原因按概率排:
- 安卓 7 起的平台机制——新式应用默认不信任用户安装的证书,只认系统预装证书,谁来配都一样;
- 应用自带证书库——少数应用(多为浏览器)不走系统证书库,用自己的信任列表;
- 证书锁定——应用只认写死在包里的那张证书,装什么都被拒。
前两条在 Root 设备上有成熟解法(把证书装进系统库);没 Root 的机器可以拿 Root 过的模拟器做同样的事。另外若只有 QUIC 连接标橙,在设置里屏蔽 QUIC 让应用回退到 TLS 即可解。
最后提醒一句边界:个别应用检测到代理后会直接拒绝工作,反复折腾证书前先判断是不是这种情况,见安卓手机抓包怎么看应用联网.md里的边界说明;解出来的流量要拿到电脑上分析,走抓包文件怎么用Wireshark打开.md的导出路线。
工具下载与功能总览见 PCAPdroid 介绍站。