如何对 APP 进行 HTTPS 监听并抓包

HTTPS 监听和抓包是分析 APP 网络请求的重要手段,可用于调试、安全测试或逆向分析。以下是详细的抓包方法,涵盖 电脑端代理工具手机端抓包工具,并针对不同场景(如 SSL Pinning、高版本 Android)提供解决方案。


一、电脑端代理抓包(推荐)

适用于 开发调试、普通 HTTPS 请求,使用 Charles、Fiddler、Burp Suite 等工具。

1. 准备工作

  • 工具选择

    • Charles(跨平台,适合 HTTPS 解密)

    • Fiddler(Windows 平台,免费)

    • Burp Suite(安全测试,支持 HTTPS 拦截)

  • 环境要求

    • 电脑和手机在同一局域网(如连接同一 Wi-Fi)。

    • 关闭防火墙或允许代理端口通信。

2. 配置步骤(以 Charles 为例)

(1) 电脑端设置

  1. 启动 Charles,进入 Proxy > Proxy Settings,记录代理端口(默认 8888)。

  2. 启用 HTTPS 解密

    • Proxy > SSL Proxying Settings > Add,输入 *(拦截所有 HTTPS 流量)。

  3. 获取电脑 IP

    • Windows:ipconfig 查看 IPv4 地址。

    • macOS:ifconfig | grep "inet "

(2) 手机端设置

  1. 配置代理

    • 进入 Wi-Fi 设置 → 手动代理 → 输入电脑 IP 和端口(如 192.168.1.100:8888)。

  2. 安装 Charles 证书

    • iOS:Safari 访问 http://chls.pro/ssl 下载证书 → 信任证书(设置 > 通用 > 证书信任设置)。

    • Android:浏览器访问 http://<电脑IP>:8888 下载证书 → 安装到 设置 > 安全 > 加密与凭据

(3) 开始抓包

  • 在 Charles 中点击 Start Recording,操作 APP,所有 HTTP/HTTPS 请求将显示在 Charles 界面。


二、手机端直接抓包(无需电脑)

适用于 快速抓包、无代理环境,使用 HttpCanary(Android)、Stream(iOS)

1. Android:HttpCanary(小黄鸟)

  1. 安装 HttpCanary(需 Android 设备)。

  2. 安装证书

    • 导出根证书(.pem),重命名为哈希值 .0(如 c8750f0d.0)。

    • 复制到 /system/etc/security/cacerts/(需 Root)。

  3. 开始抓包

    • 启动 VPN 模式,选择目标 APP,自动解密 HTTPS 流量。

2. iOS:Stream

  1. 安装 Stream(需越狱或 TestFlight 版本)。

  2. 信任证书

    • 设置 > 通用 > VPN 与设备管理 安装 Stream 证书。

  3. 开始抓包

    • 启动代理,选择目标 APP,捕获 HTTPS 请求。


三、高级场景解决方案

1. 绕过 SSL Pinning(HTTPS 证书绑定)

部分 APP(如金融类)会校验服务器证书,导致代理工具无法解密。解决方案:

  • 使用 Frida/Objection 动态 Hook 证书校验逻辑。

  • Sniffmaster(iOS):直接连接设备,绕过代理限制,支持 HTTPS 双向认证破解。

  • Magisk 模块(Android):安装 Move Certificates 模块,将用户证书转为系统证书。

2. 高版本 Android(≥7.0)HTTPS 抓包

Android 7+ 默认不信任用户证书,需额外操作:

  • 方法 1(Root)

    • 将证书复制到 /system/etc/security/cacerts/,修改权限为 644

  • 方法 2(无 Root)

    • 使用模拟器(如 MuMu 模拟器),安装证书到系统目录。

    • 或使用 Packet Capture(VPN 模式,无需 Root)。


四、常见问题与排查

  1. 抓不到包

    • 检查代理配置是否正确。

    • 关闭 VPN/ 广告拦截器。

    • 重启抓包工具或手机。

  2. HTTPS 无法解密

    • 重新安装证书。

    • 检查 Charles/Fiddler 的 SSL Proxying 设置是否包含目标域名。

  3. 数据加密或乱码

    • 禁用 HTTP/2(Charles 中取消勾选 Enable HTTP/2)。

    • 使用 Wireshark 分析原始 TCP 流量。


五、安全与法律注意事项

  • 仅限合法用途:抓包行为需符合隐私政策和法律法规,禁止非法篡改数据。

  • 及时清理证书:抓包完成后卸载证书,避免安全风险。

  • 生产环境谨慎使用:避免泄露敏感数据。


工具对比与推荐

场景

推荐工具

特点

普通 HTTPS 抓包

Charles/Fiddler

图形化界面,适合调试

SSL Pinning 绕过

Sniffmaster/Frida

支持双向认证破解

Android 高版本

HttpCanary/MuMu 模拟器

无需 Root,VPN 模式

iOS 无越狱

Stream/Proxyman

需 TestFlight 版本

通过上述方法,你可以成功对 APP 进行 HTTPS 监听和抓包。如需更高级的流量分析(如 TCP 层),可结合 Wireshark 或 Burp Suite。


如何对 APP 进行 HTTPS 监听并抓包
https://uniomo.com/archives/ru-he-dui-app-jin-xing-https-jian-ting-bing-zhua-bao
作者
雨落秋垣
发布于
2025年09月01日
许可协议