Как заблокировать сетевой запрос приложения с помощью VPNService?
Надеюсь, у вас все хорошо.
Я реализовал VPNService в Моем приложении. У меня есть ссылка https://github.com/hexene/LocalVPN github code для создания VPN.
Я хочу знать о запросе / ответе,
Как узнать, какое приложение отправляет запрос или какое приложение получает ответ, используя VPNService.
Я хочу заблокировать некоторые запросы приложений в VPNService.
Заранее спасибо.
0 ответов
Если вам просто нужен простой VpnService, который блокирует трафик приложения, без дополнительной функции обработки заголовков пакетов tcp / udp, которые предлагает LocalVPN, вы можете просто использовать 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, я не знаю, как это сделать. Если вы узнаете, пожалуйста, опубликуйте какие-либо советы по выполнению этого, поскольку я сейчас пытаюсь понять это сам!