24

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

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

任何指针将不胜感激。谢谢!

4

4 回答 4

30

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

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

在此处输入图像描述

于 2012-06-07T19:42:48.790 回答
18

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

在此处输入图像描述

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

于 2012-06-23T08:17:20.280 回答
8

I was trying to do something similar. Consider this as an alternative. If you have an iOS device, you can run your app on the device and configure Charles to only show traffic from remote clients by disabling the "Mac OS X proxy"

Here is an example setup: Using one remote client (say an iPad in this case) and a Mac running Charles as your proxy host, disable the "Mac OS X proxy" by deselecting the checkbox in Proxy Settings >> Mac OS X Tab >> Enable Mac OS X proxy (See image below.)

By doing so, you essentially filter your simple setup to only display traffic that is coming from remote client (the iPad).

enter image description here

于 2014-07-15T21:28:26.317 回答
0

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

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

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

于 2019-05-23T06:37:49.117 回答