可在Telegram上免费试用:法国 、英国 或新加坡 加入Telegram •
iOS 调试指南

如何在 iPhone 上设置 Charles 代理

在 iPhone 和 iPad 上配置 Charles Proxy 的分步教程。配置手动 Wi-Fi 代理,通过 chls.pro/ssl 安装证书配置文件,启用“完全信任”,并解密 HTTPS 数据流。

iOS 14–18+ September 23, 2026 阅读时间 8 分钟
Port 8888 默认的 Charles 监听器
chls.pro/ssl iOS 配置文件
Full Trust 证书信任设置
7+ 承运商网点
  • iOS Wi-Fi 手动配置 — 将您的 iPhone 或 iPad 配置为通过计算机的局域网 IP 地址(默认端口 8888)转发流量。
  • 通过 Safari 安装配置文件 — 直接从 chls.pro/ssl 下载 Charles 配置文件,并在“VPN 和设备管理”中批准。
  • 为根证书启用完全信任 — 在“设置” > “通用” > “关于” > “证书信任设置”中启用 100%% 的 TLS 拦截信任。
  • 上游运营商代理链路 — 通过PXM2 4G/5G运营商IP转发Charles解密后的请求,以审计基于地理位置的移动应用,同时避免被反机器人机制拦截。
iOS 流量检测 SSL/TLS 解密
默认代理端口8888 (TCP)
轮廓类型Apple Configuration Profile (.mobileconfig)
iOS 版本iOS 12, 13, 14, 15, 16, 17, 18+
上游链式处理HTTP 和 SOCKS5 外部代理
完整的 iOS 流量记录

HTTPS 解密(中间人攻击)

上游移动链路

什么是 Charles Proxy?为什么要通过它转发 iPhone 的流量?

Charles Proxy 是一款可在桌面工作站(macOS、Windows 或 Linux)上运行的 HTTP/HTTPS 代理和流量分析工具。通过将 iPhone 的 Wi-Fi 连接指向 Charles,您可以记录、检查和分析由 iOS 应用程序、Safari 网页标签页以及后台任务发起的全部出站网络请求。

在 iOS 设备上,由于苹果严格的沙箱安全模型,直接在手机上检查网络流量十分繁琐。Charles 通过充当无中介的中间人(MITM)代理,消除了这一限制。借助 Charles,移动开发人员和质量保证工程师可以:

检查原生 iOS 应用

监控任何 iOS 应用生成的 REST 和 GraphQL 请求、Bearer 授权令牌、Cookie、跟踪标签以及 API 有效载荷。

解密 HTTPS 数据流

生成并信任一个即时生成的 Charles Root CA 证书,以便以明文 JSON 或 XML 格式读取加密的 TLS 1.3 流量。

重写与限流请求

模拟信号不佳的蜂窝网络(3G/4G有损环境),模拟API错误响应(429、500),并注入自定义标头字段。

网络要求:您的 iPhone 和运行 Charles Proxy 的计算机必须连接到完全相同的 Wi-Fi 网络。启用了“客户端隔离”功能的公共咖啡馆网络会阻止您的 iPhone 与计算机通信。

先决条件及如何查找计算机的本地 IP 地址

在配置 iPhone 之前,请先在 Mac 或 Windows 电脑上安装 Charles Proxy。Charles 默认监听 TCP 端口 8888。您的 iPhone 需要知道您的电脑在 Wi-Fi 子网中的本地 IPv4 地址。

请使用以下任一方法查找计算机的本地 IP 地址:

  1. 在查尔斯代理(最快)中

    点击顶部菜单中的“帮助”>“本地 IP 地址”。此时将弹出一个小对话框,显示您当前的本地网络 IPv4 地址(例如 192.168.1.100 或 10.0.0.15)。

  2. 在 macOS 系统设置中

    打开“系统设置” > “Wi-Fi” > 点击当前连接网络旁边的“详细信息”,即可查看您的 IPv4 地址。

  3. 在 Windows Terminal 中

    打开 PowerShell 或命令提示符,运行 ipconfig 命令,并记下当前活动的 Wi-Fi 适配器下的 IPv4 地址。

在终端中检查计算机本地 IP 地址
# macOS terminal command:
ipconfig getifaddr en0

# Windows Command Prompt:
ipconfig | findstr /i "IPv4"
请记下这个 IPv4 地址;您需要在 iPhone 的 Wi-Fi 设置中将其作为服务器主机名输入

步骤 1:配置 iPhone Wi-Fi 手动代理

在 Charles 运行且已确认计算机 IP 地址后,请将 iPhone 配置为将所有出站 HTTP/HTTPS 流量转发至 Charles。

  1. 打开 iPhone 的 Wi-Fi 设置

    在 iPhone 上,进入“设置”>“Wi-Fi”。请确保您的 iPhone 与电脑连接到了同一个 Wi-Fi 网络。

  2. 开放网络信息

    点击已连接的 Wi-Fi 网络名称旁边的蓝色 (i) 信息图标。

  3. 将“配置代理”设置为“手动”

    Scroll to the bottom of the screen and tap "Configure Proxy". Select "Manual".

  4. 输入服务器 IP 地址和端口 8888

    在“服务器”下,输入您计算机的本地 IP 地址(例如 192.168.1.100)。在“端口”下,输入 8888。确保“身份验证”处于关闭状态。点击右上角的“保存”。

iPhone Wi-Fi 手动代理配置界面
图1: iPhone“配置代理”界面:选择“手动”,服务器设置为计算机IP地址,端口为8888。
Charles 代理设置中显示 HTTP 代理端口为 8888
图2: 计算机上的 Charles 代理设置:默认 HTTP 代理端口为 8888。

步骤 2:在 Charles 中允许 iPhone 连接

当您的 iPhone 通过代理发送第一个网络请求时,Charles 会检测到来自一个新本地 IP 地址的传入连接。

A prompt will appear on your desktop screen: "A connection attempt from [iPhone IP] was received. Do you want to allow it?"

  1. 点击“允许”

    Click "Allow" immediately on your computer. Charles will register your iPhone's IP address in its Access Control list.

  2. 验证访问控制设置(如果未显示提示)

    If you accidentally clicked "Deny" or the prompt was missed, go to Proxy > Access Control Settings in Charles. Click "Add" and enter your iPhone's IP or subnet (e.g. 192.168.1.0/24).

Charles Proxy 请求允许建立 iPhone 连接
图3: Charles connection alert: Click "Allow" to authorize your iPhone to route packets.
Charles 代理访问控制设置(包含允许的 IP 地址)
图4: 访问控制设置:将您的设备 IP 加入白名单,或添加子网通配符。

第 3 步:在 iOS 上下载并安装 Charles Profile

此时,普通 HTTP 请求会显示在 Charles 中。然而,所有 HTTPS 流量都会以带有挂锁图标的加密 CONNECT 隧道形式出现。要解密 SSL/TLS 流量,iOS 必须安装 Charles 根证书配置文件。

  1. 在 iPhone 上打开 Safari

    启用 Wi-Fi 代理后,打开 Safari。(此步骤请勿使用 Chrome 等第三方浏览器,因为 Safari 可与 Apple 的“配置文件安装程序”直接集成)。

  2. 访问 chls.pro/ssl

    在 Safari 的地址栏中,输入 https://chls.pro/ssl(或 http://chls.pro/ssl)。Charles 将拦截此 URL 并提供配置文件。

  3. 允许下载个人资料

    Safari will display a popup: "This website is trying to download a configuration profile. Do you want to allow this?" Tap "Allow", then tap "Close".

  4. 在 iOS 设置中安装配置文件

    Open iPhone Settings > General > VPN & Device Management (or "Profile Downloaded" at the top of the Settings main page). Tap "Charles Proxy CA", then tap "Install" in the top-right corner, enter your passcode, and confirm the warning.

步骤 4:在“证书信任设置”中启用“完全信任”

关键步骤:安装配置文件并不会在 iOS 上自动启用 HTTPS 解密。苹果要求您在另一个设置界面中明确开启“完全根信任”选项,以防止未经授权的中间人(MITM)拦截。

  1. 打开“证书信任设置”

    在 iPhone 上,进入“设置” > “通用” > “关于本机” > “证书信任设置”(位于“关于本机”页面最底部)。

  2. 为 Charles Proxy CA 启用“完全信任”

    Under "Enable full trust for root certificates", locate "Charles Proxy CA" and toggle the switch to ON (green).

  3. 确认根证书警告

    iOS will display a warning dialog: "Enabling a root certificate for SSL will allow third parties to view private data...". Tap "Continue".

在 iOS“设置”中安装 Charles Proxy 配置文件
图5: Settings > VPN & Device Management: Tap "Install" to register the Charles Proxy CA profile.
在 iPhone 上为 Charles 根证书启用完全信任
图6: “设置” > “通用” > “关于” > “证书信任设置”:为 Charles CA 启用完全信任。

第 5 步:在 Charles 中启用 SSL 代理以解密 HTTPS 流量

您的 iPhone 现已信任 Charles,允许其代表外部域签署证书。最后一步是指示 Charles 对目标主机执行 SSL 代理。

  1. 在 Charles 中打开 OpenSSL 代理设置

    在计算机上的 Charles 中,请导航至“代理”>“SSL 代理设置”。

  2. 启用 SSL 代理

    Check the checkbox for "Enable SSL Proxying".

  3. 添加通配符或目标主机

    Under the Include tab, click "Add". For broad mobile testing, enter Host: * and Port: 443 (or Port: *). Alternatively, restrict to specific target domains (e.g. *.example.com) to prevent decrypting unrelated traffic.

Charles Proxy macOS SSL 代理设置对话框
图7: Charles SSL Proxying Settings: "Enable SSL Proxying" checked with wildcard (*:443) or targeted domain rules.

第 6 步:检查已解密 iOS 应用和 Safari 的实时流量

在 iPhone 上打开 Safari 或任何原生应用,并执行相关操作(例如搜索、登录、浏览)。然后返回桌面端的 Charles:

  1. 结构面板

    请求按主机域名进行分组(例如 https://api.twitter.com 或 https://instagram.com)。蓝色闪电图标表示 SSL 代理解密成功。

  2. 请求/响应有效载荷

    选择任意端点,即可查看以 JSON、XML 或文本格式呈现的请求头、Cookie、查询参数和响应正文。

  3. 重复 / 编辑并执行

    Right-click any request and choose "Repeat" to replay the call, or "Compose" to edit headers and payload values before firing.

第 7 步:iOS SSL 证书固定与应用限制详解

While Safari and standard web views decrypt immediately once Certificate Trust is enabled, some third-party iOS apps may fail with connection errors or "SSL Pinning Failure". Understanding why this occurs saves hours of debugging:

交通类别 与查尔斯相处 技术原因及解决方案
Safari 和移动浏览器 100% 已解密 Safari 会无条件地遵循“证书信任设置”中 iOS 用户信任的根证书颁发机构。
使用 System NSURLSession 的应用程序 已解密 标准的 iOS 网络库默认信任用户安装的根证书颁发机构(CA)。
包含硬编码 SSL 固定地址的应用程序 连接失败 应用程序会将远程公钥与捆绑的哈希值进行比对(例如 TrustKit、AlamoFire ServerTrustPolicy)。要绕过此验证,需要使用已越狱且安装了 Frida/SSLKillSwitch2 的设备,或者针对内部开发版本进行测试。
苹果核心服务(Siri、iCloud) 已设为私密 / 已置顶 苹果在操作系统层面对其内部基础设施证书进行了固定。

第 8 步:将 Charles 与 PXM2 4G/5G 移动代理串联使用

在调试移动应用时,如果使用家庭或办公室宽带的 IP 地址进行测试,将限制您对基于地理位置的 API、本地化定价、广告活动以及反欺诈评分进行验证的能力。移动应用需要基于移动运营商的网络覆盖范围(例如 AT&T、Verizon、Vodafone、Orange)。

通过将 Charles Proxy 作为上游设备,经由 PXM2 专用 4G/5G 移动调制解调器进行链路连接,您可以在 Charles 中本地检查和处理请求,同时向远程服务器展示真实的蜂窝网络 IP 地址。

架构:iPhone + Charles Local MITM + PXM2 4G/5G 蜂窝网网关
在通过高可信度的移动运营商网络连接的同时,在桌面端本地检查 iOS 请求。
IPHONE / IPAD iOS App / Safari Wi-Fi Proxy :8888 Full Trust Enabled LAN TCP CHARLES PROXY macOS / Windows Workstation Decrypt & Inspect External: PXM2 Gateway CONNECT PXM2 4G/5G MODEM Real Carrier Gateway gate.pxm2.io:8000 Dynamic CGNAT Rotation LTE/5G TARGET API Remote Web Server 200 OK Sees Mobile IP

通过桌面端的Charles和PXM2专用载波调制解调器将iPhone进行链路连接。

要在 Charles 中配置上游链路,请:

  1. 打开外部代理设置

    在 Charles 中,转到“代理”>“外部代理设置”。

  2. 启用外部代理

    Check "Use external proxy servers". Check "Web Proxy (HTTP)" and "Secure Web Proxy (HTTPS)".

  3. 输入 PXM2 端点和凭据

    Enter your assigned PXM2 gateway hostname and port (e.g. gate.pxm2.io:8000). Check "External proxy requires authentication", then input your proxy username and password.

第 9 步:禁用代理及故障排除指南

当调试会话结束时,请务必关闭 iPhone 上的代理。如果 iPhone 的代理设置为“手动”时,您在工作站上关闭了 Charles,您的手机将无法加载任何网页或应用程序。

若要恢复原状:进入“设置” > “Wi-Fi” > 点击 (i) > “配置代理” > 选择“关闭” > 点击“保存”。

故障排除表:iPhone Charles 代理的常见问题

症状 可能的根本原因 修复操作
iPhone shows "No Internet Connection" 计算机防火墙正在阻止 8888 端口,或者 Charles 未运行。 在 Windows 防火墙/macOS 应用程序防火墙中允许端口 8888 的传入连接。请确认 Charles 正在运行。
chls.pro/ssl 显示搜索结果或超时 iPhone 的 Wi-Fi 代理未启用,或者指向了错误的 IP 地址。 在 Safari 中打开 chls.pro/ssl 之前,请确保代理设置为“手动”,端口号为 8888。
Safari shows "This Connection Is Not Private" 配置文件已安装,但“证书信任设置”未启用。 请进入“设置” > “通用” > “关于本机” > “证书信任设置”,并为 Charles Proxy CA 启用“完全信任”。
SSL Proxying shows "unknown" or red padlock in Charles SSL 代理设置中不包含主机名。 转到“代理”>“SSL 代理设置”>“包含”,然后添加 *:443。
VPN 应用导致 Charles 连接中断 已建立的 VPN 隧道会覆盖手动设置的 Wi-Fi 代理设置。 在使用 Charles Proxy 时,请断开 iPhone 上所有正在运行的 VPN 配置文件。

快速设置摘要:iPhone + Charles 检查清单

计算机任务
  • 在 8888 端口上启动 Charles Proxy
  • 帮助 > 本地 IP 地址(例如 192.168.1.100)
  • Click "Allow" on connection prompt
  • 代理 > SSL 代理设置 > 启用 *:443
iPhone 任务
  • “设置” > “Wi-Fi” > (i) > “配置代理” > “手动”
  • 服务器:[计算机 IP] | 端口:8888 | 认证:关闭
  • Safari:打开 chls.pro/ssl > 允许配置文件
  • “设置” > “通用” > “VPN 和设备管理” > “安装”
  • “设置” > “通用” > “关于本机” > “证书信任设置” > “完全信任”
🇫🇷

法国

3 名操作员 20-100 Mbps
从……开始
$4.34 1小时时长
4G
可用运算符:
Orange Bouygues SFR
🇸🇬

新加坡

2 名操作员 30-70 Mbps
从……开始
$2.99 1小时时长
4G
可用运算符:
Vivifi Singtel
🇮🇳

印度

2 名操作员 20-30 Mbps
从……开始
$2.74 1小时时长
4G
可用运算符:
Airtel Vodafone Idea (Vi)
查看所有地点 →

常见问题解答

设置代理后,为什么我的 iPhone 会显示“无互联网连接”?

出现这种情况可能是因为 Charles 代理未运行、计算机的防火墙阻挡了 8888 端口,或者 iPhone 和计算机未连接到完全相同的 Wi-Fi 网络。此外,请确保您已在 Charles 的入站连接弹出窗口中点击了“允许”,或者已在“代理 > 访问控制设置”中添加了您的 iPhone IP 地址。

为什么Safari中的HTTPS网站会显示“此连接不安全”?

安装 Charles 配置文件只是第一步。在 iOS 上,你还必须手动启用“完全信任”:进入“设置” > “通用” > “关于本机” > “证书信任设置”,在“为根证书启用完全信任”下找到 Charles Proxy CA 证书,并将开关切换至“开”的位置。

在 iOS 15、16、17 和 18 中,下载的 Charles 配置文件保存在哪里?

在现代 iOS 版本中,使用 Safari 从 chls.pro/ssl 下载证书后,会弹出“配置文件已下载”的通知。请打开“设置” > “通用” > “VPN 与设备管理”,点击“已下载的配置文件”下的 Charles Proxy 配置文件,然后点击右上角的“安装”。

为什么有些 iOS 应用即使启用了“完全信任”仍无法解密?

一些对安全性要求较高的 iOS 应用程序(例如银行、支付和主流社交媒体应用)会使用 SSL 固定(例如通过 NSURLSessionDelegate 或 TrustKit)。 当应用程序对其证书或公钥进行固定时,它会拒绝任何代理证书,包括受信任的用户根证书颁发机构(CA)。要绕过证书固定,需要在越狱设备上运行 Frida/SSLKillSwitch2,或者使用调试版本进行测试。

如何在 iPhone 上将 Charles 与 PXM2 4G/5G 移动代理进行链式连接?

在您计算机上的 Charles 中,导航至“代理”>“外部代理设置”。 勾选“使用外部代理服务器”,启用 Web 代理 (HTTP) 和安全 Web 代理 (HTTPS),输入您的 PXM2 网关主机名和端口(例如:gate.pxm2.io:8000),并输入您的代理凭据。 您的 iPhone 流量将在 Charles 中本地解密,并通过真实的移动运营商蜂窝网络 IP 地址传输至互联网。

浏览 PXM2 网络中关于移动设备、开发环境以及网络自动化的设置教程。

移动端与平台指南

开发人员与自动化指南

使用真实的运营商 IP 地址对 iOS 移动应用进行审计

将 iOS 上的本地 Charles 调试功能与覆盖 40 多个国家的专用 4G/5G 蜂窝调制解调器相结合。提供无限流量、即时轮换端点,且数据中心 IP 地址绝不会被封禁。

获取移动代理