如何在Android中使用VPN?

Sud*_*han 4 java vpn android openvpn android-4.0-ice-cream-sandwich

我正在探索Android中的VPN连接。我是本节的新手。

  1. 我想知道如何使用应用程序在Android中设置VPN连接吗?

  2. 我遇到了一个示例代码ToyVpn。我运行了该应用程序,但我不知道我需要以该应用程序所示的形式提供哪些数据,考虑我有一个具有IP地址(例如10.162.1.2)的VPN服务器,我该怎么办?需要在该应用程序中进行操作以使该应用程序正常工作?

  3. 如果我尝试使用任何公共VPN服务器,该怎么办?

  4. 我已经从此处下载了Openvpn源,并且在ICS设备中进行了编译和运行,但是我不知道如何配置需要输入的数据。请提供使用此应用程序的确切方法。

Pau*_*sma 5

我想知道如何使用应用程序在Android中设置VPN连接吗?

Android SDK随附了一个示例。请参阅android-16示例目录中的ToyVpn。另请参阅VpnServiceVpnService.Builder的文档。

我遇到了一个示例代码ToyVpn。我运行了该应用程序,但我不知道我需要以该应用程序所示的形式提供哪些数据,请考虑iam拥有一个带IP地址的VPN服务器(例如10.162.1.2),需要在该应用程序中进行操作以使该应用程序工作。

您的VPN将需要创建一个新的套接字,使用来防止该套接字路由回到VPN中VpnService.protect(Socket),并将该套接字连接到10.162.1.2。在建立到VPN服务器的隧道连接之后,您应该继续将VpnService的接口的输入流写入隧道的输出流,然后将隧道响应写回到接口输出流。

如果我尝试使用任何公共VPN服务器,我需要做什么?

没有建立与VPN服务器的连接的标准机制。ToyVpn只是使用原始TCP数据包通过套接字进行通信。您可以像OpenVPN一样实现现有协议(请参阅RFC 4026),也可以自己编写一些东西。