我需要实现一个应用程序来监控iPhone上不同应用程序的入站/出站连接。我的应用程序将使用苹果为voip和导航器提供的后台多任务功能在后台运行。我可以使用私有api,因为我的客户端在appstore上不需要这个应用程序。
谢谢。
发布于 2013-01-10 14:52:11
我挺过来了。
我不需要任何私有Api来获取入站/出站活动连接的信息。这只是你需要知道基本的C编程和一些耐心。
我写了一封信给苹果开发论坛,得到的回应是-
From my perspective most of what I have to say about this issue is covered in the post referenced below.
<https://devforums.apple.com/message/748272#748272>>
The way to make progress on this is to:
o grab the relevant headers from the Mac OS X SDK
o look at the Darwin source for netstat to see how the pieces fit together
WARNING: There are serious compatibility risks associated with shipping an app that uses this technique; it's fine to use this for debugging and so on, but I recommend against shipping code like this to end users.我一步一步做的是-
1)从BSD开源下载code of netstat -
2)将其添加到您的新iphone项目中。
3)看,ios sdk中没有一些头文件,因此您需要从opensource.apple.com复制这些头文件,并将这些文件添加到iphone sdk中的相关路径下-
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/include我的xcode版本是4.5.2。所以这是与我的xcode相关的路径。根据xcodes.Anyway的不同版本,您可以有不同的路径。记住在iosSdk和iOSSimulatorSdk中都添加这些头文件,这样代码就可以在设备和模拟器上工作了。
4)你可能会在.dont代码中发现一些与在头文件中找不到某些结构的定义有关的小错误。例如“struct xunpcb64”netstat wory。定义存在,需要在这些头文件中注释一些"#if !TARGET_OS_EMBEDDED“#else,以便ios sdk可以在这些if条件中访问定义。(需要一些try there.you error.be patient。)
5)最后你将被abe编译你的code.Cheers!!
发布于 2013-01-07 04:45:26
如果你还没有看过,我已经在我的iPhone上成功地使用了它。
https://developer.apple.com/library/ios/ipad/#qa/qa1176/_index.html
我知道这不是你想要的。
发布于 2012-12-20 01:09:39
总的来说,我同意Suneet的观点。你所需要的就是网络嗅探器。
您可以尝试将WireShark (它是开源的,可以在MacOS上工作)部分移植到iOS。iOS和OS共享大部分内核,所以如果在iOS上没有明确禁止,它应该可以为您工作。
WireShark是一个相当大的产品,所以你可能有兴趣寻找另一个在OS上工作的开源网络嗅探器。
https://stackoverflow.com/questions/13933312
复制相似问题