在Mac OS X上有选择地为iOS模拟器使用Charles Proxy

时间:2012-06-07 19:31:33

标签: ios http proxy simulator charles-proxy

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

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

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

4 个答案:

答案 0 :(得分:30)

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

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

enter image description here

答案 1 :(得分:16)

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

enter image description here

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

答案 2 :(得分:7)

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

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

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

enter image description here

答案 3 :(得分:0)

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

  1. 检查您的IP,确保设备和Mac在同一网络中(可以在上述查尔帮助的“安装Charles Root证书...”中检查您的IP。
  2. 在设备上打开chls.pro/ssl并将证书安装在设备上。
  3. 确保关闭了证书固定(如果您使用某种证书)。
  4. 按常规检查您的代理> SSL代理设置(确保要跟踪的所有主机都在其中)。
  5. 运行该应用。
  6. 在询问时接受来自您的设备在Charles中即将到来的流量。
  7. 保存会话并在Charles外部进行过滤,因为在Charles中仍然没有可过滤的客户地址/客户IP。另外,查看来自应用程序中列出的设备的流量并与127.0.0.1和“其他任何内容”区分开来也很容易。

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