我希望你们一切顺利。
我在我的应用程序中实现了VPNService。我已经引用https://github.com/hexene/LocalVPN github代码来创建VPN。
我想知道请求/响应,
如何知道哪个应用程序使用VPNService发送请求或哪个应用程序接收响应。
我想在VPNService中阻止一些应用程序请求。
提前致谢。
答案 0 :(得分:0)
如果您只需要一个简单的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一样对数据包进行低级访问,那么我不确定该怎么做。如果您发现了问题,请发布有关完成此操作的任何提示,因为我目前正在尝试自己解决这个问题!