Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用VPN服务阻止应用程序网络请求?_Android_Networking_Android Vpn Service - Fatal编程技术网

Android 如何使用VPN服务阻止应用程序网络请求?

Android 如何使用VPN服务阻止应用程序网络请求?,android,networking,android-vpn-service,Android,Networking,Android Vpn Service,我希望你们都好 我已经在我的应用程序中实现了VPN服务。我已经参考了github代码来创建VPN 我想知道有关请求/响应的信息 如何知道哪个应用程序使用VPN服务发送请求或哪个应用程序接收响应 我想阻止VPN服务中的一些应用程序请求 提前感谢。如果您只需要一个简单的VPN服务来阻止应用程序通信,而不需要处理LocalVPN提供的数据包tcp/udp报头的额外功能,那么您可以使用ToyVPN()和builder.addAllowedApplication或builder.addDisallowed

我希望你们都好

我已经在我的应用程序中实现了VPN服务。我已经参考了github代码来创建VPN

我想知道有关请求/响应的信息

如何知道哪个应用程序使用VPN服务发送请求或哪个应用程序接收响应

我想阻止VPN服务中的一些应用程序请求


提前感谢。

如果您只需要一个简单的VPN服务来阻止应用程序通信,而不需要处理LocalVPN提供的数据包tcp/udp报头的额外功能,那么您可以使用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一样对数据包进行低级别访问,那么我不确定如何做到这一点。如果你发现了,请发表一些关于实现这一点的建议,因为我目前正试图自己解决这个问题

有人知道吗?