引言
在移动应用开发与调试过程中,我们常常需要查看网络请求的详细内容,尤其是在调试接口请求、分析 HTTPS 报文时,一个强大稳定的抓包工具能极大提升效率。Charles 就是这样一款广泛使用的 HTTP 抓包工具,它支持对 HTTP 和 HTTPS 请求的拦截、查看、修改等功能,尤其适用于 移动端 App 调试、接口排查、网络请求分析等场景。
本文将带你一步步完成 Charles 的基础配置,包括:
- Charles 的下载安装。
- 根证书的初始化与信任设置(电脑端)。
- 手机端证书安装与信任。
- 开启并配置 SSL Proxying,实现 HTTPS 抓包。
通过这篇教程,你将能够顺利完成手机与 Charles 的抓包联调环境搭建,为后续的调试工作打下坚实的基础。
Charles 的下载 安装
建议前往官方网站下载最新版本 Charles。
官网地址:https://www.charlesproxy.com/
在Charles 动态码生成网站注册动态码。
账号可以自己填写注册后会生成密码,保存账号密码在Charles进行注册。
Charles 和 账号密码都准备好之后,打开 Charles 点击顶部菜单栏的 Help -> Register Charles,然后输入用户名和密码就可以正常使用了。
根证书的初始化与信任(电脑端)
Charles 可以正常启动之后我们首先需要做的是在电脑端安装证书。
打开 Charles → Help → SSL Proxying → Install Charles Root Certificate。
此时macOS会自动调起钥匙串访问(Keychain Access)。
选择 登录->证书,找到Charles证书查看信任状态。
如果证书是未信任的状态,右击证书->显示简介。
打开证书的信任选项选择始终信任。
手机端配置 Charles 抓包
首先确保手机和电脑在同一Wi-Fi网络下。
查找Charles代理地址和端口
通过Charles查看当前电脑的 IP 地址,Help -> Local IP Address。
通过Charles 查看Charles的代理端口,Charles → Proxy → Proxy Settings → HTTP Proxy(默认是8888可以不用修改)。
设置手机Wi-Fi代理
- iOS:设置 → Wi-Fi → 当前连接 → 配置代理 → 手动
- Android:Wi-Fi → 修改网络 → 显示高级选项 → 代理设置
填写服务器及端口地址。
安装手机端证书
通过Charles->Help->SSL Proxying-> Install Charles Root Certificate on a Mobile Device or Remote Brower。
获取手机安装证书的方法。
会有一个弹窗来提示我们如何在手机端安装证书以及如何信任证书。
手机端链接好Charles之后,在浏览器内输入 chls.pro/ssl,会提示下载一个证书,允许下载后。
点击 设置->通用->VPN与设备管理,安装Charles证书。
点击 设置->通用->关机本机->证书信任,信任Charles证书。
到这一步,手机与电脑段的链接就已经建立成功了。
配置 Charles 的 SSL Proxying
但是要想正常抓取到https的数据,我们还需要进行一些配置。
开启SLL Proxying.
Charles → Proxy → SSL Proxying Settings → 勾选 “Enable SSL Proxying”
并点击加号添加需要抓包的域名或者使用通配符如(*.yourdomain.com)。
建议精准配置奥,否则会出现其它地址访问不了的情况,比如安装APP时提示无法认证。
结语
通过以上步骤,我们完成了 Charles 的安装、证书配置以及手机端的抓包环境搭建,能够成功拦截和查看移动端的 HTTPS 请求内容。这对于开发者来说,是定位接口问题、验证请求参数、分析第三方 SDK 网络行为的重要工具。
当然,在实际使用中,也可能会遇到一些抓包失败的情况,下面列出几个常见问题及排查建议:
抓不到包 / 手机不通
- 检查手机和电脑是否处于同一 Wi-Fi 网络
- 确认手机端的代理地址和端口是否正确设置
- Charles 是否开启了代理(Proxy → Start Recording)
HTTPS 请求显示为 Tunnel 或无法解密
- 检查是否安装并信任了 Charles 的根证书(电脑和手机)
- 是否正确开启了 SSL Proxying
- 目标域名是否已添加到 Charles 的 SSL Proxying 域名列表中
证书信任设置未生效(iOS)
- 安装描述文件后,需要手动在设置 → 关于本机 → 证书信任设置中启用 Charles 证书
最后提醒一句:不要在公共网络或他人设备上随意使用抓包工具,以免造成信息泄露风险。