我正在尝试从我正在开发的应用程序中监控我的 iPhone 上的网络活动。iOS 是否支持类似 netstat 的命令或类似的命令,可以告诉我哪些入站和出站连接处于活动状态?
3 回答
After some searching I found Apple's code used for netstat.
Everything you need in the void protopr(uint32_t proto, char *name, int af)
function.
I tested on the device and sysctlbyname("net.inet.tcp.pcblist_n",...)
works.
That should be all you need.
我无法对此进行测试,但据我所知,您将不得不sysctl
结合使用sysctlnametomib
或替代 sysctlbyname
使用:
sysctlbyname("net.inet.tcp.pcblist", ...)
和/或
sysctlbyname("net.inet.udp.pcblist", ...)
您可以为此目的使用 burp 套件,通过它您可以检查通过手机的所有 http 数据。你必须在你的 mac/ubuntu/windows 机器上安装它,然后在这个工具的帮助下创建一个代理服务器,然后在 iphone/android 手机中修改你的 wifi 设置以使用你的电脑作为代理,然后它将捕获所有输入/输出流量。
在此处阅读完整说明 - http://www.engadget.com/2011/02/21/how-to-inspect-ioss-http-traffic-without-spending-a-dime/