如何在iOS中列出TCP / UDP连接

我有兴趣在iOS 4.3设备上获取活动的TCP / UDPnetworking连接列表。 基本上,我正在寻找与在OS X Darwin下发布“netstat -anp tcp”(或者相同,但是使用udp)命令相同的信息。

我search了苹果的iOS开发者库(特别是NSNetServices,CFNetServices和iOS手册页)和互联网,但没有好的结果。 然而,有一个iOS Netstat应用程序(请参阅http://itunes.apple.com/us/app/netstat/id400071873?mt=8&ign-mpt=uo%3D2 ),所以它似乎是可能的。

提前感谢任何有用的指针/build议/想法。

我相信我现在已经回答了我自己的问题。 以为我已经采取了足够接近的sysctl()库函数,但我没有! 例如,以下将产生关于当前TCP连接的信息:

sysctlbyname("net.inet.tcp.pcblist", ...) 

要获得有关UDP连接的信息,只需使用不同的pipe理信息库(MIB)名称:net.inet.udp.pcblist。

为了方便起见,这里有一个指向相应的iOS手册页的链接:

 http://developer.apple.com/library/ios/#documentation/System/Conceptual/ManPages_iPhoneOS/man3/sysctlbyname.3.html