如何在Android中使用VPN?

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

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

  2. 我遇到了一个示例代码,即ToyVpn.I运行应用程序,但我不知道我需要以该应用程序显示的forms给出什么数据,考虑我有一个带有IP地址的VPN服务器(比如10.162.1.2),我该怎么办需要在该应用程序中使该应用程序工作?

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

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

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

Android SDK捆绑了一个示例; 在android-16示例目录中查看ToyVpn。 另请参阅VpnService和VpnService.Builder的文档。

我遇到了一个示例代码,即ToyVpn.I运行应用程序,但我不知道我需要以该应用程序显示的forms给出什么数据,考虑我有一个带有ip-address的VPN服务器(比如10.162.1.2),我是什么需要在该应用程序中使该应用程序工作。

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

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

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