iOS设备上的低级网络流量访问

时间:2014-03-08 10:37:02

标签: ios iphone networking proxy vpn

我正在寻找一种开发iOS的方法,我可以在其中访问所有网络流量(我的意思是系统范围)并通过我的应用程序进行路由。像代理服务器之类的东西,但请注意我想强制路由并访问所有流量,而不仅仅是网络请求(类似VPN连接所做的事情)。

我认为这可能会超出Apple关于App Store Guidelines的限制。任何VPN API都可以访问吗?任何实用建议或关于未记录和私有API的描述都非常感谢。

P.S:This article可能有助于理解我正在寻找的东西;

2 个答案:

答案 0 :(得分:5)

为了能够创建VPN功能,你必须创建一个vpnplugin,问题是它是一个伪私有API,我说的是“伪”,因为有些公司可以访问文档并且有应用程序使用它的App Store(例如OpenVPN connect)。您可以尝试对其中一些应用插件进行逆向工程(它是扩展名为.vpnplugin的文件夹)。

顺便说一下,有人已经这样做并将vpn插件API发布到github:https://github.com/Smartype/iOS_VPNPlugIn/blob/master/iOSVPNPlugIn.h

答案 1 :(得分:3)

iOS9的网络扩展将允许自定义VPN隧道实施,而NEPacketTunnelProvider可能正是您所寻找的。

查看WWDC视频 https://developer.apple.com/videos/wwdc/2015/?id=717

您需要向Apple发送电子邮件才能访问此功能 https://github.com/shadowsocks/shadowsocks-iOS/issues/124