我正在开发一个应用程序,想要监控我的 iPhone 上的网络活动。iOS是否支持类似 netstat 的命令或其他类似命令,可以告诉我哪些入站和出站连接是活动的?
我正在开发一个应用程序,想要监控我的 iPhone 上的网络活动。iOS是否支持类似 netstat 的命令或其他类似命令,可以告诉我哪些入站和出站连接是活动的?
经过一番搜索,我找到了用于 netstat 的苹果代码 Apple's code used for netstat。
在 void protopr(uint32_t proto, char *name, int af)
函数中,您可以找到所需的全部内容。
我在设备上测试过 sysctlbyname("net.inet.tcp.pcblist_n",...)
是有效的。
这应该就是您所需要的全部信息了。
printf(" %7.7s[%1d] %7.7s[%1d]", "rxbytes", prioflag, "txbytes", prioflag);
进行计算和打印。但是我对 C 不是很熟悉,你知道如何解释 sysctlbyname
返回的数据吗? - Zebs我无法进行测试,但据我了解,您需要使用sysctl
与sysctlnametomib
结合使用,或者选择sysctlbyname
来完成此操作:
sysctlbyname("net.inet.tcp.pcblist", ...)
和/或
sysctlbyname("net.inet.udp.pcblist", ...)
你可以使用Burp Suite来达到这个目的,通过它你可以检查所有通过手机的HTTP数据。
你需要在你的Mac/Ubuntu/Windows电脑上安装它,并且使用该工具创建一个代理服务器,然后修改你的iPhone/Android手机的Wifi设置,将你的电脑作为代理服务器,这样它就可以捕获所有的输入和输出流量。
点击此处阅读完整的说明 - http://www.engadget.com/2011/02/21/how-to-inspect-ioss-http-traffic-without-spending-a-dime/