我们正在寻找一款类似Wireshark的工具,可用于iPhone上,在与第三方合作之前测试第三方应用程序。 有什么建议吗?
我们正在寻找一款类似Wireshark的工具,可用于iPhone上,在与第三方合作之前测试第三方应用程序。 有什么建议吗?
就像其他回答所建议的那样,中间人代理是一个很好的解决方案,如果你只想查看HTTP/HTTPS流量。
对于数据包嗅探,最好的解决方案(虽然它仅适用于实际的iOS设备,而不是模拟器)是使用rvictl
。 这篇博客文章有一个不错的介绍。基本上你需要执行以下操作:
rvictl -s <iphone-uid-from-xcode-organizer>
然后使用Wireshark(或您喜欢的工具)嗅探它创建的接口,完成后使用以下命令关闭接口:
Then you sniff the interface it creates with with Wireshark (or your favorite tool), and when you're done shut down the interface with:
rvictl -x <iphone-uid-from-xcode-organizer>
如果你想要对模拟器进行数据包嗅探,这个方法非常实用。使用rvictl
可以创建一个虚拟接口,只会显示从插入到USB端口的iOS设备传输的流量,这样就避免了需要穿行整个本地Mac网络的麻烦。
注:此方法仅适用于Mac。
如果您的Mac和iOS设备不在同一个Wifi网络上,您可以使用系统偏好设置中的“共享”下的“Internet Sharing”选项将您的Mac设置为Wifi路由器。然后将您的设备连接到该“Wifi”网络,并按照上述步骤操作。
i
符号 > 在底部找到代理,将其设为手动,然后将服务器设置为您正在使用的计算机的IP地址,端口设置为8888,因为这是这些应用程序的默认端口。最后一部分的一般注意事项,如果您想嗅探所有网络流量,则需要使用ARP欺骗将所有流量从iOS转发到笔记本电脑/台式计算机。 有多个工具可用于ARP欺骗,需要进行所有细节的研究。 这将允许您查看路由器将发送到iOS设备的所有数据,然后您将自动将此数据转发到iOS设备。
请注意,我只建议作为最后的手段使用此方法。
rvictl -s UDID -(设备20个字符的id,您可以在iTunes或Xcode的组织者中找到它)
sudo launchctl list com.apple.rpmuxd
sudo tcpdump -n -t -i rvi0 -q tcp
或只需sudo tcpdump -i rvi0 -n
http://useyourloaf.com/blog/2012/02/07/remote-packet-capture-for-ios-devices.html
如果不知道您的具体要求,以下是我查看iPhone传输数据包的方法:将Mac连接到以太网,通过共享网络连接Wi-Fi并连接到该无线网络的iPhone。在Mac上运行Wireshark或Packet Peeper。
根据您想要达成的目的,通过代理运行可能不是理想的选择。透明代理可能会正常工作,只要数据包没有被篡改。
我即将反转从 iPhone 传输到 iPad 上的 GPS 数据,以获取最佳结果的基本数据。获取干净的网络转储的最佳方式是使用“tcpdump”和/或如先前建议的“pirni”。
在我们想要获取被连接数据的这种情况下,它需要尽可能地透明。显然,您需要对您的手机进行越狱才能使其工作。
system_profiler SPUSBDataType | grep -A 10 iPhone | grep Serial
:P - Randall Huntsystem_profiler
的解决方案,它可以在命令行上自动化,而 XCode 的解决方案则不行! - Noah Sussman