问题标签 [android-vpn-service]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
83775 浏览

android - Android:使用 VPNService API 在 Android 4.0 中连接到 VPN 的示例代码

我是 android 新手,我正在尝试以编程方式建立并连接到我们自己的(不是Android 中存在vpn的默认vpn提供程序,即PPTP,等)。L2TPSetting -> Wireless and Networks

我的情况是,我有按钮,当我单击按钮时,我需要配置自己的按钮,vpn并且链接(比如 www.google.com)应该通过VPN我配置的链接。

有没有示例代码?

0 投票
1 回答
9823 浏览

android - 以编程方式在 Android 上设置 vpn

我找到了以下代码以编程方式建立一个新的 vpn,但我不知道如何使用它来创建我的应用程序

谁能帮我提供一个示例代码?甚至有可能实现dis吗?

0 投票
1 回答
229 浏览

java - 在带有 VPN 服务的 Android 上使用 Netty4 时保护 Socket

我正在尝试使用 Android 中的内置 VpnService 来捕获流量并将其发送到远程服务器。我正在尝试使用Netty,但似乎陷入了僵局。

为了将数据从手机发送到服务器,我需要在套接字上调用 Protect(),否则我传输的所有数据都将被循环回 VpnService。但是我不确定在使用 Netty4 时是否可以获取 Socket 对象或其文件描述符。

0 投票
1 回答
5546 浏览

android - Android:使用 VPNService 的 VPN 连接

我正在尝试以编程方式建立并连接到我们自己的 vpn(不是默认的 vpn 提供程序,即 PPTP、L2TP 等,它存在于 Android 设置 -> 无线和网络中)。

我想知道这在 2017 年是否已经可行。

有参考我用

  1. http://www.thegeekstuff.com/2014/06/android-vpn-service/
  2. https://android.googlesource.com/platform/development/+/master/samples/ToyVpn/src/com/example/android/toyvpn

在使用数据报通道时,我得到一个 PortUnreachableException。这就是我的代码的样子:

和错误信息:

我的VPN服务:

}

更新:

一个。ToyVPN 不使用 PPTP 协议(​​它使用自己的)

湾。ToyVPN 只是一个概念验证演示,它不支持多个 {username, password} 对。

C。API 是 OpenVPN 的一种:http ://code.google.com/p/ics-openvpn/ 这提供了一种潜在的 VPN 解决方案,您可以完全控制(服务器也是开源的),但它不是 PPTP或 IPSec。如果你了解 PPTP 协议,应该可以以此为模型来实现这样的 VPN 客户端。

ToyVPN 和 OpenVPN 不起作用。

0 投票
1 回答
1415 浏览

java - Android VpnService protect socket that's stored in native code?

I'm writing a VPN application and the socket used for the VPN Connection is handled in my native C code, not in java. How do I use VpnService.protect() on that socket? I noticed that it has a VpnService.protect(int) overload, could I return the int that socket returns from the native code to Java and protect it that way?

Example


Edit

I did find this question that describes how the protect function works, and it looks like it might have a pretty simple implementation in C since it appears it's just using a setsockopt call. But I'm also relatively new to C so I can't quite follow how to replicate it.

0 投票
1 回答
489 浏览

android - 如何使用 VPNService 阻止应用程序网络请求?

我希望你们一切都好。

我在我的应用程序中实现了 VPNService。我参考了https://github.com/hexene/LocalVPN github 代码来创建 VPN。

我想知道请求/响应,

如何使用 VPNService 知道哪个应用程序发送请求或哪个应用程序接收响应。

我想阻止 VPNService 中的一些应用程序请求。

提前致谢。

0 投票
1 回答
1909 浏览

android - Android VpnService.Builder.establish() 偶尔为空

当我尝试为我的 VpnService 创建隧道接口时,我收到以下错误:

我目前唯一的解决办法是在发生这种情况时重新启动设备。如果我不这样做,我根本无法创建隧道。

我创建隧道的代码:

编辑:

根据文档,如果 VpnService 尚未准备好,该establish函数将返回,但是我在运行上述函数之前使用它来准备它。null

我用于调试的电话

Google Nexus 5 Running Android 5.0.1

编辑

我想出了如何复制它,这样它就不再是零星的了。基本上,如果我在连接 VPN 时卸载应用程序,然后重新安装它并尝试重新启动它,我会在运行时收到空响应builder.establish()。我担心当应用程序通过 Google Play 商店更新时,这可能会带来潜在的问题。

除此之外,请不要将此问题标记为重复。关于这个问题的所有其他问题都得到了答案,即在建立构建器之前需要准备服务,但是我正在准备它,并且我的问题有不同的原因。任何帮助,将不胜感激。

0 投票
0 回答
1130 浏览

android - 尝试建立 VPN 连接时应用程序崩溃?

根据 docVpnService.prepare(context)用于在 android 中建立 VPN 连接,除了特定型号(Oppo X9076 Android 5.0)之外,几乎所有设备型号都可以做到这一点。根据 crashlytics 调用中的日志,VpnService.prepare(context)导致 SDK 在内部中断。不确定是设备特定问题还是什么!下面是 crashlytics 的日志。

我已经付出了一切,也不是为了免除在网络上的广泛搜索,而是为了寻找出路。PL。帮帮我,我一直卡在这里。

FYR

0 投票
0 回答
139 浏览

android - 为什么看不到热点流量?

我想知道如何管理连接到我的 android 热点的客户端的流量。我想要实现的两个主要功能是:

  • 拒绝/允许客户端访问 Internet。
  • 衡量客户端消耗的数据量。

我正在使用 VpnService,它允许我将所有设备流量指向一个 tun 接口。我可以看到每个 IP 数据包都通过来自我的设备的隧道通过,但是在尝试了很多(很多天)之后,我认为不可能看到 android 热点的流量。据我所知,这可能是因为android热点的层位于VpnService之下,并且数据包透明地发送出隧道。我对吗 ?

VPN接口构建为:

拜托,有人知道我如何使用(或不使用)VpnService 或其他解决方案来实现这些功能?

谢谢

PS。答案必须适用于非根设备

0 投票
0 回答
1671 浏览

java - 如何从不受嗅探保护的应用程序中捕获数据包

我正在从 Facebook android 应用程序中嗅探数据包。我想在研究社交网络上的用户行为时使用嗅探到的数据。

我在过去两个月学到的是,我必须创建一个 vpn 服务并用它来嗅探数据。互联网上有很多有用的代码,我试图理解和运行。我设法使用这些代码嗅探了一些应用程序的数据,它们都使用相同的概念。

当使用上述每一个代码并稍作修改时,我设法捕获了所有应用程序的数据包,但是对于像 facebook 这样的应用程序,vpnService 使这些应用程序停止工作;当我创建 vpn 服务并尝试例如对帖子发表评论或进行任何需要在 Facebook 应用程序和 Facebook 服务器之间发送/接收数据的操作时,此操作不会发生;看起来 Facebook 应用程序以某种方式知道有人在嗅他。

在过去的两个月里,我一直在尝试寻找一种在不破坏 Facebook 应用程序功能的情况下捕获 Facebook 应用程序数据包的方法。

我尝试在 android 示例中的KeyChain 演示之后安装证书,但它不适用于我。

从我的搜索中,我知道/我确定我缺少一些东西;我搜索了一些应用程序,这些应用程序可以完成我想要完成的工作,而不会让 facebook 等应用程序检测到它。我在 google play 上找到了 LostNetNoRootFirewall 。

使用LostNetNoRootFirewall,我设法创建了一个 vpn 服务并嗅探数据包,而 facebook 应用程序就像一个魅力一样工作!

我的问题

我应该在我的应用程序中添加什么才能创建 vpnService 并防止像 facebook 这样的应用程序检测到我的服务正在嗅探它的数据包?

我正在使用的当前代码。【原文出处