gpt4 book ai didi

Android:无法通过 ToyVpn 应用程序连接到 VPN 服务器;获取端口不可达异常

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:16:37 27 4
gpt4 key购买 nike

我正在尝试在安卓上创建一个 VPN 客户端。我查看了 android 示例应用程序“ToyVpn”,我尝试从该应用程序连接到我的 PC(Windows 7),但出现端口无法访问的异​​常。

E/ToyVpnService(2302): Got java.net.PortUnreachableException: 
E/ToyVpnService(2302): Got java.net.SocketException: sendto failed: ECONNREFUSED (Connection refused)

但是当我通过 Android 的默认 vpn 客户端连接到我的 PC 时,它连接成功。通过在命令行中输入“netstat”,我观察到我的电脑的端口 1723 连接到手机的端口 36302。因此,offcourse 端口可以访问。

这是示例应用程序,它应该可以工作...但是我也看到了一些其他链接,其中提到他们无法通过此应用程序连接到服务器。

这个示例是否有效?这个 API 需要 root 手机吗?

除此之外,我没有找到任何示例或教程来展示如何正确使用“android.net.VpnService”。

任何人都可以指导我这件事......吗?

最佳答案

ToyVpnService 是简单自定义 VPN 的示例实现。它不符合标准。如果您想要符合标准的 VPN,您应该使用内置的 VPN。

如果你想测试示例,有一个 linux 服务器可以理解与 ToyVPN 示例一起打包的 ToyVPN 协议(protocol)。

https://github.com/android/platform_development/tree/master/samples/ToyVpn

之所以称为 ToyVPN,是因为它就是这样。

  • 不加密
  • 它不进行相互认证
  • 它以明文形式发送预共享身份验证 key
  • 它不能优雅地处理意外数据包
  • 它不保证数据包的完整性或来源

它只展示了 VpnService API 如何从手机上的应用程序捕获数据包到互联网并将它们推送到隧道。同样,如何将数据包注入(inject)应用程序,就像它们来自网络一样。

剩下的就交给开发者去实现了。

关于Android:无法通过 ToyVpn 应用程序连接到 VPN 服务器;获取端口不可达异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13195879/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com