参考:
Android 4.0有一个用于构建VPN服务的API .
一个这样的VPN服务应用程序是NetMotion Mobility® (Google Play)
从“Lollipop”版本开始,Android提供了一种新的VPN类型,它提供有关VPN连接状态,请求是否通过VPN等的信息 .
测试结果
(连接到VPN)
-
Android <= 5.0(Android Lollipop)
-
使用WIFI(Wlan)和Cellular(rmnet)接口IP连接成功 .
-
使用VPN(tun)接口IP地址成功连接但未获得VPN连接/断开事件 .
-
Android> 5.0(Android Lollipop 5.1和6.0)
-
连接 not 成功使用WIFI(Wlan)和Cellular(rmnet)接口IP .
-
使用VPN(tun)接口IP的地址成功连接,并获得VPN连接/断开事件 .
tun接口IP:
表示此网络不是VPN . 此功能默认设置,应明确清除VPN网络 . 常数值:15(0x0000000f)
问题:
-
当设备上的VPN服务处于活动状态时,请求如何从WhatsApp,Skype或浏览器等第三方应用程序中运行?
-
当连接VPN时,设备IP堆栈究竟发生了什么?
-
VPN隧道如何在Android中运行?
-
绑定到活动IP并发送请求的应用程序的设计是什么?
-
棒棒糖(5.0)中的VPN API不稳定吗?
-
如果bindProcessToNetwork是通过Celluar网络完成的,并且WiFi已连接到设备中,VPN将使用哪个网络?
1 回答
将尝试回答几个问题:
1 . VPN不会影响其他应用程序流 - 它只是"virtually"将您的设备放在另一个网络中 . 例如一些公司的私人网络 . 这意味着通过VPN连接发送的所有请求都将转到该网络,并且在该网络内应用的所有规则/过滤器都适用于手机生成的流量 - 这可能会导致第三方应用程序出现问题 .
2 . 当流量通过VPN连接时的真实IP地址被VPN替换's IP addresses assigned by VPN server. Web servers that you connect with won't看到您的真实IP地址;他们会看到你连接的VPN网络网关的IP .
5 . 借助Android 5.0 Lollipop,VPN客户端最终可以精确控制哪些应用通过安全网络进行通信,以及哪些应用直接连接到Internet . 也许这会引起问题 .
对于VPN API的用法,您可以检查此项目:OpenVPN for Android