选择目标应用解密 — 用 Chrome 做第一个测试目标
定义解密规则
打开 PCAPdroid 的汉堡菜单(☰),找到 Decryption rules 入口进入规则列表。点击添加新规则,支持几种规则类型:
- 按应用选:指定一个或多个应用包名(比如
com.android.chrome),只解密这些应用的 TLS - 按主机选:指定域名(支持通配符,比如
*.example.com),只解密匹配的主机 - 按端口选:比如只解密某个特定端口的 TLS 流量
- 按包名前缀选:比如以
com.example.开头的所有应用
第一个测试目标:Chrome
官方文档推荐先用 Google Chrome 做测试目标,理由:
- Chrome 在 Android 上不做证书锁定(不 pin)
- Chrome 信任用户安装的 CA 证书(即使是 Android 7+)
- 流量行为明显,HTTPS 连接多、容易观察
步骤:
- 在 Decryption rules 里添加一条规则,类型选"应用",搜索并选择 Google Chrome(包名 com.android.chrome)
- 在 PCAPdroid 设置里确认已开启 Full payload(这是显示完整明文负载的前提,不开的话只看到握手)
- 开始抓包
- 在 Chrome 里打开一个新的 HTTPS 网站(或先清浏览器缓存)
- 回到 PCAPdroid 的 Connections 标签,找 Chrome 产生的连接——应该能看到绿色锁图标
锁图标颜色含义
| 图标 | 含义 |
|---|---|
| 🟢 绿色锁(打开) | TLS 解密成功,详情面板里能看到明文 HTTP payload |
| 🔴 红色锁 | TLS 解密失败,点连接详情会给具体错误原因 |
| 🟠 橙色锁 | 协议/应用不支持解密(比如 QUIC、部分自定义协议) |
| ⚪ 灰色开锁 | 非加密连接(比如明文 DNS) |
| ⚪ 灰色闭锁 | 解密还没生效(规则没配好、还在握手等待数据) |
解密失败怎么办
看到红色锁先点连接进入详情面板,会有一个错误说明。最常见的几类错误:
- 客户端不信任代理证书("client does not trust proxy's certificate"):应用做了证书锁定,或 Android 7+ 不信任用户证书。详见系统证书信任修复页和证书锁定绕过页
- 协议不支持:橙色锁,无解,考虑阻断 QUIC 让应用回退
- 没有解密规则:灰色闭锁,回到 Decryption rules 加规则
<img src="images/decrypt-success-lock.png" alt="TLS 解密成功的绿色锁图标" title="TLS 解密成功" />