Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Low Level Network Traffic Access on iOS Device

I'm looking for a way to develop an iOS in which I can access all network traffic, (I mean System-Wide) and route it through my app. Something like a proxy server but notice that I want to force the route and access all the traffic not only web requests (Something like what VPN Connections do).

I think that may go a bit beyond Apple limitations regarding App Store Guidelines. Any VPN API accessible for doing that ? Any practical suggestion or description on undocumented and private APIs is really appreciated.

P.S: This article may help understanding what I'm looking for;

like image 824
Sepehrom Avatar asked Mar 08 '14 10:03

Sepehrom


People also ask

Does Iphone have packet capture?

iOS doesn't let you record a packet trace directly. However, you can use your Mac to record a packet trace on an attached iOS device using the Remote Virtual Interface (RVI) mechanism. To get started, first connect your iOS device to your Mac via USB. Next run the rvictl command in Terminal.

What is networking and wireless on Iphone?

Networking & Wireless tracks Wi-Fi usage and sends data to Apple.

Is Apple Developer safe?

Apple is committed to the privacy and security of your information. We collect only the data needed to enable developers to be successful on Apple platforms and to provide a safe experience for users.


2 Answers

To be able to do VPN functionalities you have to create a vpnplugin, the problem is that it's a pseudo-Private API, I'm saying "pseudo" because there are companies that had access to the documentation and there are apps on the App Store that uses it (OpenVPN connect for example). You can try reverse engineering some of those app plugins (it's the folder with the .vpnplugin extension).

By the way, someone already did that and published the vpn plugin API to github: https://github.com/Smartype/iOS_VPNPlugIn/blob/master/iOSVPNPlugIn.h

like image 88
fz. Avatar answered Sep 30 '22 21:09

fz.


Network Extension of iOS9 will allow custom VPN tunnel implementations and NEPacketTunnelProvider is probably what you are looking for.

Check out the WWDC video.
https://developer.apple.com/videos/wwdc/2015/?id=717

You need to send an email to apple to get access to this function.
https://github.com/shadowsocks/shadowsocks-iOS/issues/124

like image 41
takof Avatar answered Sep 30 '22 21:09

takof