监控 iPhone 或者IOS系统 网络流量的3种方法

一、抓包

我发现数据包嗅探的最佳解决方案(尽管它仅适用于实际的iOS设备,而不适用于模拟器)是使用。这篇博客文章写得很好。基本上你这样做:rvictl

rvictl -s <iphone-uid-from-xcode-organizer>

然后,您嗅探它使用Wireshark(或您喜欢的工具)创建的界面,并在完成后关闭界面:

rvictl -x <iphone-uid-from-xcode-organizer>

这很好,因为如果您想对模拟器进行数据包嗅探,您还必须通过流量跋涉到本地Mac,但是会创建一个虚拟界面,该界面仅向您显示已插入USB端口的iOS设备的流量。rvictl

二、中间人代理

我所做的是使用代理。我使用SquidManSquid的一个独立实现

我在Mac上启动SquidMan,然后在iPhone上输入常规/ Wifi设置中的代理参数。

然后,我可以在控制台应用程序中观看HTTP trafic,查看squid访问.log如果我需要更多信息,我会切换到tcpdump,但我认为WireShark也应该工作。


三、Charles代理

我使用Charles Web调试代理,它的成本很高,但他们有一个试用版。

如果您的iPhone / iPad与Mac共享相同的Wifi网络,则设置非常简单。

  1. 在 Mac 上安装 Charles
  2. 获取Mac的IP地址 - 使用Mac的“网络实用程序”
  3. 在iPhone / iPad上打开Wifi设置,然后在“HTTP代理”下更改为手动,然后输入步骤(2)中的IP,然后端口到8888(Charles默认端口)
  4. 打开 Charles,然后在“代理设置”对话框下确定已勾选“启用 Mac OS X 代理”和“使用 HTTP 代理”
  5. 您现在应该看到流量出现在查尔斯体内
  6. 如果您想查看HTTPS流量,则需要执行额外的2个步骤下载Charles证书捆绑包,然后将.crt文件通过电子邮件发送到iPhone / iPad并进行安装。
  7. 在“代理设置对话框 SSL”选项卡中,添加要使用端口 443 进行探查的特定 https 顶级域。

如果您的Mac和iOS设备不在同一Wifi网络上,您可以使用“系统偏好设置”中“共享”下的“互联网共享”选项将Mac设置为Wifi路由器。然后,您将设备连接到该“Wifi”网络,然后按照上述步骤操作。



Comments

Popular posts from this blog

Python Receiving and parse JSON Data via UDP protocol

ubus lua client method and event registration code demo/example