【问题标题】:Charles web debugging proxy not detecting vpn connectionCharles Web 调试代理未检测到 vpn 连接
【发布时间】:2011-12-18 01:19:08
【问题描述】:

我有一个 VPN 连接,我正在使用 Charles Web 调试代理测试一些网站,但 Charles 似乎没有检测到我的 VPN 连接,因为它没有检测到我在 VPN 网络上运行的网站.请问有什么帮助吗?

谢谢

【问题讨论】:

    标签: debugging testing proxy charles-proxy


    【解决方案1】:

    【讨论】:

    • 我遇到了和 OP 一样的问题,这个建议没有帮助。
    【解决方案2】:

    我在我的 Mac 上遇到了同样的问题,但能够解决它。基本上在连接到 VPN 之后,Charles 将停止记录所有 http 流量,无论它是在 VPN 连接建立之前还是之后启动的

    问题在于系统级别的自动代理配置。

    我在“系统偏好设置”>“网络设置”>“你的网络”>“高级”中打开了“自动代理配置”和“自动代理配置”

    我无法通过 UI 关闭它们,因为它们被 VPN 机器上的公司政策禁用/灰显,但我能够从终端运行 2 个 shell 命令,尽管在启动 Charles 和在连接到 VPN 之前(我想您需要对您的帐户进行管理员访问才能运行这些)。

    networksetup -setautoproxystate Wi-Fi off
    networksetup -setproxyautodiscovery Wi-Fi off
    

    Wi-Fi 恰好是我正在运行的网络接口的名称。如果你是硬连线,你的可能是以太网。

    这基本上取消了网络设置中的两个选项,使自动代理的 URL 保持不变。如果您可以通过 UI 取消选中这两个复选框 - 那就更好了。

    到目前为止很棒,但您还没有完成!

    您需要找出公司代理的真实 IP 地址,然后在 Charles 的外部代理设置下输入它。您的 VPN 配置可能指向外部配置文件。当您取消选中“自动代理配置”时,配置的 URL 应显示在“代理配置文件”文本框中。下载该文件,找到代理设置,然后在 Charles 的外部代理设置中输入这些设置。

    瞧 - 启动 Charles,启动 VPN - 即使我在 VPN 上,所有 HTTP 流量都流经 Charles - 这正是我所需要的。

    希望这会有所帮助,并且您正在 MAC 上运行它:)

    【讨论】:

    • 我的已经被取消选中...但仍然无法在优胜美地工作
    • @MattH 你说:下载那个文件,找到代理设置,然后在 Charles 的外部代理设置中输入这些设置。 但是,我的 .pac 文件相当复杂和其中的动态逻辑,这使得无法找到代理设置。有没有办法用.pac 将Charles 指向URL,然后执行FindProxyForURL 函数并即时找出正确的代理?
    • @pprochazka72 我不知道有什么办法。我拥有的.pac 也很复杂,我花了一段时间才弄清楚我必须使用哪些设置。
    【解决方案3】:

    使用 Chrome 和 Viscosity 作为我的 VPN 客户端,当 VPN 连接时,我无法从 Chrome 获得任何流量通过 Charles。

    我的解决方案是使用 Firefox。这可能是因为 Firefox 建立了自己的代理连接(因此有自己的代理设置),而 Chrome 和 Safari 遵循 MacOS 来建立 HTTP 连接。

    【讨论】:

    • 这行得通 - 只需记住激活 Charles 以使用 Firefox 代理 - Go to Charles, open Proxy menu, select `Mozilla Firefox Proxy 太好了,不再需要打开和关闭 VPN 来测试代码更改!
    【解决方案4】:

    粘度:

    添加这个

    dhcp-option HTTPPROXY 127.0.0.1:8888
    dhcp-option HTTPSPROXY 127.0.0.1:8888
    

    在“高级”选项卡下的连接设置中。

    Charles 现在将使用 Viscosity :)

    【讨论】:

    • 谢谢 - 这使我能够在将 Viscosity 用于公司 VPN 时看到 Charles 中的网络流量,而之前 Charles 看不到它。
    • 在我尝试过的所有建议中,这个确实有效。小旁注:它仅在查尔斯运行时才有效。此外,保存后文本会从高级选项卡中消失(尽管它仍然存在于连接的配置文件中),因此很难删除。我建议在添加之前复制您的连接。
    【解决方案5】:

    我设法让 Charles 使用我的 VPN 进行以下设置:

    1. 打开 charles -> 帮助 -> SSL 代理 -> “安装 Charles Root 移动设备或远程浏览器上的证书”。这应该显示 与代理 IP 和端口对话
    2. 打开“系统偏好设置”-> 网络。选择您的 VPN 并按 “高级”
    3. 转到“代理”,然后为“Web 代理”、“安全 Web 代理”执行下一步 和“袜子代理”:
      • 勾选复选框
      • 对于“网络代理服务器”输入“127.0.0.1”
      • 对于端口,从 Charles 帮助对话框中输入端口

    它应该在 VPN 和 Charles 运行之前工作。 重新启动 VPN 或 Charles 后,您可以再次更改设置。 不是最好的解决方案,但至少它有效。

    【讨论】:

      【解决方案6】:

      查尔斯代理+隧道熊

      1. run Charles
      2. Charles -> Proxy -> MacOS Proxy
      3. Charles -> Stop Recording
      4. Charles -> Stop SSL Proxying 
      
      5. run Tunnel Bear
      
      6. Charles -> Start Recording
      7. Charles -> Start SSL Proxying 
      

      【讨论】:

      • 这也适用于 Windows。只需在步骤 2 中为 MacOS 代理子 Windows 代理。
      猜你喜欢
      • 1970-01-01
      • 2011-06-21
      • 2022-11-09
      • 1970-01-01
      • 1970-01-01
      • 2015-07-10
      • 1970-01-01
      • 1970-01-01
      • 2016-11-29
      相关资源
      最近更新 更多