你是否了解你的 iPhone 时刻都在发送和接收各种数据,从短信到网站缓存? 然而,你并不总是能看到这些幕后活动。与 Mac 不同,iPhone 没有专门的“活动监视器”来跟踪后台进程。对于开发者和测试人员来说,这是一个问题。无论你是调试应用程序、分析 API 请求还是监视网络流量,都需要一种能够实时检查正在发生的事情的方法。这就是你可能需要 Charles Proxy for iOS 的原因。
设置它不像安装一个应用程序那么简单。你需要配置你的网络设置、安装 SSL 证书并调整代理设置才能开始捕获流量。我们将引导你完成每个步骤。
什么是 Charles Proxy?
Charles Proxy 是一款 Web 调试工具,允许开发者监视其设备与互联网之间的网络流量。它充当一个中介,能够检查和修改请求和响应。该平台对于调试网络请求、分析 API 交互以及验证是否符合数据传输安全标准的开发者很有帮助。
需要注意的是,某些 iOS 应用程序实现了 SSL 证书绑定(SSL certificate pinning),这是一种安全措施,可以防止拦截其流量,即使使用像 Charles Proxy 这样的工具也不行。 此外,iOS 更新中的更改可能会影响代理工具的功能。 这种证书绑定策略,加上 iOS 系统本身对安全的高度重视,使得网络抓包和分析的难度大大增加,开发者需要在安全与调试效率之间找到平衡。
如何在 iPhone 上设置 Charles Proxy
所需时间:20 分钟
这个过程有点复杂,请仔细按照说明进行操作。 否则,可能会损坏你的设备。 在继续之前,请准备好你的 Mac(或 PC)和 iPhone。
- 在你的计算机上打开 Charles 应用程序,然后选择Proxy 菜单 > Proxy 设置。
- 在Proxies 选项卡中,确认已启用 HTTP Proxy,并记下 Port number(默认为 8888)。
- 转到 Proxy > SSL Proxying 设置。
- 勾选 Enable SSL Proxying 的复选框。
- 点击 Add 并在 Host 字段中输入 *,在 Port 字段中输入 * 以捕获所有 SSL 流量。
- 在你的 iOS 设备上,进入设置 > Wi-Fi。
- 确认你已连接到与你的计算机相同的网络。
- 点击你连接的 Wi-Fi 网络旁边的信息图标 (i)。
- 向下滚动到 HTTP Proxy 并选择 手动。
- 在服务器字段中,输入你的计算机的 IP 地址(可以在 Charles 中 “Help” > “Local IP Address” 下找到)。
- 在端口字段中,输入之前记下的端口号(默认为 8888)。
- 让Authentication 设置为 Off。
- 在你的 iOS 设备上,打开 Safari 并转到 http://chls.pro/ssl。
- 当出现提示时,下载配置文件。
- 进入 设置 > 通用 > Profile(或 Profiles & Device Management)。
- 点击 Charles Proxy CA 配置文件,然后选择 安装。
- 安装完成后,导航到 设置 > 通用 > 关于本机 > 证书信任设置。
- 为 Charles Proxy CA 证书启用完全信任。
- 返回你的计算机。 当你的 iOS 设备尝试连接时,Charles 将提示你允许连接。
- 选择Allow。
- 在你的 iOS 设备上,打开 Safari 并导航到任何网站。
- 在 Charles 中,你应该会看到正在记录来自你设备的网络流量。
如何在 iOS 上设置 Charles Proxy 时修复常见错误
即使正确设置 Charles Proxy 后,你可能仍然会遇到未记录流量或某些应用程序停止工作等错误。 以下是如何修复最常见的问题:
Charles Proxy 未记录任何流量
如果 Charles 未捕获网络活动,则你的设备可能未通过代理路由流量。
- 确保你的 iPhone 和 Mac 连接到同一个 Wi-Fi 网络。
- 在 iPhone 上打开 设置 > Wi-Fi,点击你的网络旁边的信息图标 (i),然后验证 HTTP Proxy 是否设置为 手动,并且包含你 Mac 的本地 IP 地址和端口
8888
。 - 重新启动你的 iPhone 和 Charles Proxy。
- 禁用任何活动的 VPN 或 iCloud Private Relay,因为这些可能会阻止流量通过 Charles 路由。 VPN 通过加密和隧道技术改变网络流量的路由,而 iCloud Private Relay 则是苹果推出的一项保护用户隐私的功能,它通过双重代理隐藏用户的 IP 地址和浏览活动。 这两项技术都会干扰 Charles Proxy 的流量捕获。
Charles 中缺少 HTTPS 请求
由于大多数现代应用程序和网站都使用 HTTPS,因此 Charles 需要额外的配置才能拦截加密的流量。
- 在 Charles 中,转到 Proxy > SSL Proxying Settings。
- 查看是否勾选了 Enable SSL Proxying。
如果 HTTPS 请求仍然没有出现,请重新安装 Charles SSL 证书:
- 转到 设置 > 通用 > Profile & Device Management,点击 Charles Proxy CA,然后安装它。
- 在 设置 >
免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,可联系本站进行二次审核删除:fireflyrqh@163.com。