Mad*_*het 103 networking xcode network-monitoring ios-simulator
我试图像Firebug一样监视从应用程序到我的服务器的调用.我找不到在iOS模拟器或xCode中查看的方法.
有没有办法在不嗅探所有流量的情况下做到这一点?如果不是,您会建议使用什么工具?
mpo*_*llo 24
如果您只想查看HTTP/HTTPS流量,那么像其他答案所建议的中间人代理是一个很好的解决方案.Burp套房非常好.但是,配置可能会很痛苦.我不确定你如何说服模拟器与之交谈.您可能必须将本地Mac上的代理设置为代理服务器的实例才能拦截,因为模拟器将使用您本地的Mac环境.
数据包嗅探的最佳解决方案(虽然它只适用于实际的 iOS设备,而不是模拟器)我发现是使用rvictl
.这篇博文有一篇很好的文章.基本上你做:
rvictl -s <iphone-uid-from-xcode-organizer>
Run Code Online (Sandbox Code Playgroud)
然后你用Wireshark(或你喜欢的工具)嗅探它创建的界面,当你完成后关闭界面:
rvictl -x <iphone-uid-from-xcode-organizer>
Run Code Online (Sandbox Code Playgroud)
这是不错的,因为如果你想分组嗅探模拟器,你不必通过交通涉水到本地的Mac为好,但rvictl
创建一个虚拟接口,只显示你从iOS设备你插入到您的USB流量港口.
要监控 https 请求,您基本上需要遵循两个主要步骤:
\n\n\n如果您只需要分步指南,请跳至最后的 TLDR。
\n
您可以使用监听所有系统\xe2\x80\x99s 流量的工具,但根据我的经验,您最终会得到太多日志,而您不知道如何导航和过滤掉这些日志。
\n更好(也更明显)的方法是仅拦截和监视来自 iOS 模拟器的流量。
\n您可以通过编辑 Xcode 项目\xe2\x80\x99s 架构来完成此操作
\n\n并定义两个变量http_proxy
\nandhttps_proxy
适当设置这些以将所有流量发送到您的代理。他们中的大多数人总是提到其代理运行的 IP 和端口。
\n如果您的应用程序不使用加密(它可能会这样做),这就是您需要做的所有事情,在这种情况下,您还需要处理加密
\n在 iOS 模拟器中下载代理工具的自签名根证书。大多数代理工具都提供一个http
端点,以便在配置代理后可以轻松地将其添加到模拟器中。\n例如,chls.pro/ssl
或proxy.man/ssl
或requestly.io/ssl
在 iOS 上,此证书旨在创建一个自定义配置文件,将 proxy\xe2\x80\x99s 证书添加到模拟器\xe2\x80\x99s 证书链中。
\n要在下载后安装配置文件,请转至Settings > General > Device Management
在这里您将看到下载的配置文件的详细信息以及安装它的选项。
\n完成后,您需要为新添加的证书启用信任。
\n为此,请转至Settings > About > Certificate Trust Settings
并启用对下载的证书的信任
现在您应该能够监控您的 http 和 https 流量,而 iOS 不会抱怨正在发生恶意事件。
\n免责声明和 TLDR:我积极维护Requestly 桌面应用程序,这里\xe2\x80\x99s 是使用 Requestly \xe2\x80\x94 设置 iOS 模拟器监控的简短分步指南https://docs.requestly.io/指南/调试-https-traffic-in-ios-simulator
\nXcode提供CFNetwork诊断日志记录。苹果文件
要启用它,请添加CFNETWORK_DIAGNOSTICS=3
“环境变量”部分:
这将显示带有标题和正文的来自应用程序的请求。注意,OS_ACTIVITY_MODE
必须将其设置为enable
如下所示。否则,控制台上不会显示任何输出。
选择您的界面
添加filter
启动capture
单击会触发 GET/POST/PUT/DELETE 请求的任何操作或按钮
你会在wireshark中看到它
如果您想了解有关某个特定数据包的更多详细信息,只需选择它并点击Follow > HTTP Stream 即可。
希望这对其他人有帮助!!
小智 5
看来这可能是最近添加的。在模拟器上点击command
++会弹出调试菜单。从该菜单中,单击。检查将显示选项卡。单击网络选项卡,这将显示正在发出的所有网络请求。control
z
Inspect
归档时间: |
|
查看次数: |
110363 次 |
最近记录: |