【问题标题】:Using Charles Proxy on Mac OS X selectively for iOS Simulator在 Mac OS X 上为 iOS 模拟器选择性地使用 Charles Proxy
【发布时间】:2012-06-11 21:49:50
【问题描述】:

有什么方法可以选择性地将 Charles 代理用于 Mac OS X 上的 iOS Simulator 等特定应用程序?目前,在监控与 iOS Simulator 一起运行的 iOS 应用程序的 HTTP 流量时,Charles 还监控来自其他应用程序(如 Chrome 和 Mail 应用程序等)的 HTTP 流量。这确实让人分心。除了在 Charles Proxy 设置下添加我们要绕过的域列表之外,还有什么方法可以做到这一点?

Chrome 确实是个问题,因为它使用 Mac OS X 代理设置。我尝试了像 Proxy Switchy 这样的扩展,但它要么没有帮助,要么我不知道如何配置它。

任何指针都将受到高度赞赏。谢谢!

【问题讨论】:

    标签: ios http proxy simulator charles-proxy


    【解决方案1】:

    您确实可以过滤 Charles 代理中的记录。只需转到代理>记录设置... 然后您可以包含或排除您需要的任何域。 这是唯一的方法。使用域、端口、路径或查询。

    如果您不想记录来自 google Chorme 的内容,只需禁用按 Cmd+Shift+P 的选项,这将禁用 Mac OS X 代理。

    【讨论】:

    • 这在 iOS 5+ 中仍然有效吗?我读到从 4.x 升级后它停止工作的地方
    • 真的没有办法让 Charles 只监控特定应用的流量吗? :-(
    【解决方案2】:

    使用序列选项卡,您可以设置过滤器:

    快速、简单,无需担心代理菜单和设置。

    【讨论】:

    • 点赞 x10,完全值得。当我看到你的屏幕截图时,我大声说“我怎么会错过这个??!!!!”
    • 请注意,这只会过滤显示的记录请求。删除此过滤器将显示所有记录的请求。要获得更大的灵活性并过滤实际记录的内容,请参阅 Arthur Neves 的回答。
    • 它仅在您的应用使用单个基本 url 时有效,但不幸的是,它不会告诉您来自应用的所有流量。所以如果我们想审计应用程序的网络是没有用的,例如检查是否符合 GDPR。
    【解决方案3】:

    我正在尝试做类似的事情。将此视为替代方案。如果你有 iOS 设备,你可以在设备上运行你的应用,并通过禁用“Mac OS X 代理”将 Charles 配置为仅显示来自远程客户端的流量

    这是一个示例设置: 使用一个远程客户端(在本例中为 iPad)和运行 Charles 作为代理主机的 Mac,通过取消选中代理设置 >> Mac OS X 选项卡 >> 启用 Mac OS X 中的复选框来禁用“Mac OS X 代理”代理(见下图。)

    通过这样做,您实质上过滤了您的简单设置,仅显示来自远程客户端(iPad)的流量。

    【讨论】:

    • 完美的答案,也是唯一可以让您隔离 iOS 流量的答案。
    • 嗯,这要么不起作用,要么不再起作用,我没有检查,仍然看到我的 Mac 的所有流量。有人知道今天可以解决这个问题的更新吗?
    【解决方案4】:

    要审核整个流量,我实际上必须使用真实设备。无法使用 iOS 模拟器轻松过滤客户端应用程序,因为模拟器和主机(您的 Mac)共享相同的 IP。但是,如果您使用设备,那就太好了。更多信息帮助 > SSL 代理 > 在移动设备或远程浏览器上安装 Charles 根证书。

    1. 检查您的 IP,确保设备和您的 mac 在同一网络中(您的 IP 可以在 Charle 帮助的上述“安装 Charles 根证书...”部分中检查。
    2. 在您的设备上打开 chls.pro/ssl 并在您的设备上安装证书。
    3. 确保您的证书固定已关闭(如果您使用某种固定方式)。
    4. 检查您的代理 > SSL 代理设置正常(确保您要跟踪的所有主机都在那里)。
    5. 运行应用程序。
    6. 如果被问到,请接受来自您设备在 Charles 中的即将到来的流量。
    7. 保存会话并从 Charles 外部过滤,因为 Charles 中仍然没有可过滤的客户端地址/客户端 IP。 ? 或者,查看应用中列出的设备的流量并区分 127.0.0.1 和“任何其他”会更容易。

    顺便说一句。为了过滤我的应用程序后端,我不喜欢使用 djibouti33 建议的基本过滤功能(在底部),而是使用 Focused Hosts(View > Focused Hosts...)。并且有一个切换/复选框可以隐藏/显示序列列表上的其他调用。很方便。

    【讨论】:

      猜你喜欢
      • 2014-10-15
      • 1970-01-01
      • 2022-09-29
      • 2012-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-19
      • 2016-06-23
      相关资源
      最近更新 更多