Intereting Posts

Класс Android VpnService и его класс-строитель

У меня есть два вопроса относительно класса VpnService.Builder .

Предположим, я знаю, что приложение общается со своим сервером www.somedomain.com , я знаю, что IP-адрес сервера 210.32.204.165 .

  1. О функции addAddress (String address, int prefixLength) . В документации говорится, что эта функция «добавляет сетевой адрес в интерфейс VPN», что это значит? Означает ли это, что трафик идет по этому адресу (IP-адрес сервера приложения) будет проходить через VPN или трафик с этого адреса (IP-адрес устройства) будет проходить через VPN?

  2. Существует функция addAllowedApplication (String packageName), которая указывает, какой трафик приложения проходит через туннель VPN. Есть ли способ или функция, чтобы принудительно отправить весь трафик на сервер www.somedomain.com через VPN-туннель?

Solutions Collecting From Web of "Класс Android VpnService и его класс-строитель"

  1. Это означает, что трафик идет по этому адресу (IP-адрес сервера приложения) будет проходить через VPN

  2. Link : если этот метод никогда не вызывается, все приложения разрешены по умолчанию. Если некоторые приложения добавлены, другие, не добавленные приложения будут использовать сеть, как если бы VPN не выполнялся. Поэтому вы никогда не сможете вызвать этот метод, и все приложения будут использовать VPN

Я не тестировал эту функцию, но приложение NetGuard имеет функцию пересылки портов.

Это приложение действует как брандмауэр для маршрутизации трафика другого приложения через VPN.

Его проект с открытым исходным кодом. Вы можете найти его на github.