作为开发者或测试工程师,抓包调试是日常工作中不可或缺的一环…
【重新整理】本文以 Charles
为例,介绍强大的代理工具,如何帮助我们轻松查看、分析和修改网络请求。
一、Charles
背景:用 Charles
调试 iOS 测试机
,并详细介绍 HTTP
和 HTTPS
两种协议的配置方法。
1.准备工作
开始前,请确保以下两点:
- 电脑(macOS 或 Windows)已安装并运行 Charles。
- iOS 设备(iPhone 或 iPad)和电脑连接在 同一个 Wi-Fi 网络。
第一步:电脑端配置 Charles
首先,需要 配置 Charles 允许外部设备连接。
- i. 确认端口号:
打开 Charles,点击菜单栏的 Proxy > Proxy Settings…。在
Proxies
标签下,确认HTTP Proxy Port
为 8888。这是 Charles 默认的代理端口,你可以根据需要修改。 - ii. 获取本机 IP:
点击菜单栏的 Help > Local IP Addresses…。你会看到一个弹窗,其中列出了你电脑在当前网络中的所有 IP 地址。找到你的 Wi-Fi IP 地址,例如
192.168.1.100
。稍后在手机上设置代理时会用到这个 IP。 - iii. 允许外部连接: 当你的 iOS 设备第一次尝试通过 Charles 代理连接时,Charles 会弹出防火墙提示。请务必点击 Allow 允许连接,否则手机无法通过代理上网。
第二步:iOS 测试机配置
接下来,需要 在iPhone或iPad上设置代理。
2. HTTP 协议配置
对于 HTTP 请求,配置非常简单,只需设置代理即可。
- i. 打开 iPhone 的 设置 > 无线局域网(Wi-Fi)。
- ii. 点击你当前连接的 Wi-Fi 名称旁边的 蓝色 “i” 图标。
- iii. 滚动到底部,找到 “HTTP 代理” 选项。
- iv. 选择 “手动”,然后在 “服务器” 栏填入你电脑的 IP 地址,在 “端口” 栏填入
8888
。
完成以上设置后,你的 iPhone 所有 HTTP 请求都会通过 Charles,可以在 Charles 界面看到请求的详细信息。
3. HTTPS 协议配置
因为加密机制,HTTPS协议
需要 额外安装并信任 Charles 的 SSL 证书 才能抓包。
i.保持代理设置: 请确保你已经完成了上述 HTTP 代理的配置。
ii. 电脑安装证书:
Help -> SSL Proxying -> Install Charles Root Certificate
iii. 下载并安装证书: 在 iPhone 上,打开 Safari 浏览器,输入网址
chls.pro/ssl
并回车。Safari 会提示你下载一个描述文件,点击 “允许”。(配图:手机上 Safari 弹窗,提示下载描述文件)
iv. 安装描述文件: 下载完成后,进入 iPhone 的 设置 > 通用 > VPN 与设备管理。你会看到一个已下载的描述文件,名称为 “Charles Proxy SSL Proxying”。点击它,然后点击右上角的 “安装”。
v. 信任证书: 证书安装后还不能立即使用。回到 设置 > 通用 > 关于本机,滚动到最底部,点击 “证书信任设置”。在列表中找到 “Charles Proxy CA”,打开其旁边的开关,系统会弹窗提示,点击 “继续” 即可。
(配图:证书信任设置界面,Charles Proxy 开关已打开)
至此,所有配置工作都已完成。你的 iOS 设备现在可以正常通过 Charles 代理抓取和分析 HTTPS 请求了。
常见问题
配置后手机无法上网?
- 检查你的电脑和手机是否在同一个 Wi-Fi 网络下。
- 检查 Charles 客户端是否正在运行,如果 Charles 关闭,代理将失效。
- 确保电脑防火墙没有阻止 Charles 的连接。
部分应用无法抓取 HTTPS 请求?
- 一些应用为了提高安全性,会使用 SSL Pinning 技术。这意味着应用会自己验证服务器证书,忽略系统代理设置。遇到这种情况,你需要使用其他专门的工具或方法来绕过 SSL Pinning。
参考
最后, 希望大家早日实现:成为编程高手的伟大梦想!
欢迎交流~

本文版权归原作者曜灵所有!未经允许,严禁转载!对非法转载者, 原作者保留采用法律手段追究的权利!
若需转载,请联系微信公众号:连先生有猫病,可获取作者联系方式!