使用 Charles Proxy Socks 功能调试 iPhone 流量?

Posted

技术标签:

【中文标题】使用 Charles Proxy Socks 功能调试 iPhone 流量?【英文标题】:Debugging iPhone traffic using Charles Proxy Socks feature? 【发布时间】:2011-06-06 06:52:49 【问题描述】:

我正在尝试使用 Charles Proxy 来调试我的 iPhone 上的一些性能问题。我使用“http 代理模式”完成了所有工作,但使用“socks 代理模式”却没有这样做。由于 ios 在 http 代理下的行为与现实生活中不同(请参阅http://www.charlesproxy.com/documentation/configuration/proxy-settings/),我真的很想让 socks 代理工作。

在我的 iPhone 上配置 socks 代理后,我无法连接到任何站点,并且在运行 Charles 的机器上进行嗅探表明,每当我尝试连接时,我都会重置。我错过了什么步骤?

非常感谢您解释如何使其在 Mac 或 Windows 上运行!

【问题讨论】:

你找到答案了吗? 【参考方案1】:

使用 PAC 文件为 iOS 设置 Socks 代理

在您的 Mac 或网络上的某处启动 Apache 服务器(原始的gist 可以工作)。创建一个简单的 PAC 文件。

proxy.pac

function FindProxyForURL(url, host) 
   return "SOCKS <Address of Charles-The-Proxy>:<SOCKS port>";

然后将网络连接下的 iPhone 代理设置指向HTTP Proxy-&gt; Auto-&gt; http://&lt;addressOfWebServer&gt;/proxy.pac

最后说明

完成后不要忘记撤消代理设置。

【讨论】:

【参考方案2】:

根据查尔斯文档:https://www.charlesproxy.com/documentation/configuration/browser-and-system-configuration/

自动配置

您还可以提供自动配置 URL,而不是输入手动配置。这种方法将使您的设备首先尝试使用 Charles,然后在 Charles 未运行时回退到使用直接连接。这是一种实验方法!

对于自动配置 URL,输入:

https://chls.pro/X.X.X.X.pac 将 X.X.X.X 替换为运行 Charles 的计算机的 IP 地址。这默认为端口 8888。如果您使用不同的端口,只需包含该端口,例如https://chls.pro/X.X.X.X:XXXX.pac

您也可以使用自动配置规则在 iOS 的 SOCKS 代理模式下使用 Charles,尽管这不能作为手动设置使用。输入自动配置 URL 如下:

https://chls.pro/X.X.X.X:XXXX.socks.pac

【讨论】:

以上是关于使用 Charles Proxy Socks 功能调试 iPhone 流量?的主要内容,如果未能解决你的问题,请参考以下文章

常用代理工具

http调试工具Charles Proxy用法详解

Charles Proxy 导致隐私错误

如何使用 Charles Proxy 配置 Appium Android?

设置 proxy.socks.port 硒

Socks5代理Socks5 Proxy