我希望你们一切都好。
我在我的应用程序中实现了 VPNService。我参考了https://github.com/hexene/LocalVPN github 代码来创建 VPN。
我想知道请求/响应,
如何使用 VPNService 知道哪个应用程序发送请求或哪个应用程序接收响应。
我想阻止 VPNService 中的一些应用程序请求。
提前致谢。
我希望你们一切都好。
我在我的应用程序中实现了 VPNService。我参考了https://github.com/hexene/LocalVPN github 代码来创建 VPN。
我想知道请求/响应,
如何使用 VPNService 知道哪个应用程序发送请求或哪个应用程序接收响应。
我想阻止 VPNService 中的一些应用程序请求。
提前致谢。
如果您只需要一个简单的 VpnService 来阻止应用程序流量,而不需要处理 LocalVPN 提供的数据包 tcp/udp 标头的额外功能,您可以使用 ToyVPN ( https://android.googlesource.com/platform/development/+ /master/samples/ToyVpn)并使用 builder.addAllowedApplication 或 builder.addDisallowedApplication。
ToyVpnConnection.java:
for (String packageName : mPackages) {
try {
if (mAllow) {
builder.addAllowedApplication(packageName);
} else {
builder.addDisallowedApplication(packageName);
}
} catch (PackageManager.NameNotFoundException e){
Log.w(getTag(), "Package not available: " + packageName, e);
}
}
但是,如果您需要像 LocalVPN 那样对数据包进行低级别访问,那么我不确定如何执行此操作。如果您发现了,请发布有关完成此操作的任何提示,因为我目前正在尝试自己解决此问题!