Как направить весь трафик, идущий от модема?
Я работаю над тестовым проектом, в основном я хочу направить весь трафик, когда я нахожусь в режиме горячей точки на фиксированный адрес. У меня есть диапазон IP-адресов, например 192.168.0.0/24. Я не знаю, смогу ли я использовать iptables без функций root или JNI (не могу найти ни одного, соответствующего тому, что я хочу) Думать "из коробки" очень приветствуется (DNS, низкоуровневая передача пакетов на клиентском компьютере и т. д.
Любая идея?
РЕДАКТИРОВАТЬ: Как Android и iOS обнаруживают сетевой портал?
источник: https://sudoroom.org/wiki/Mesh/Firmware/Splash_page Они пытаются HTTP GET на
iOS: http://www.apple.com/library/test/success.html и ожидайте 200, если не за порталом
Android: http://clients3.google.com/generate_204 и ожидайте статус 204, когда не находитесь за порталом, любой другой статус является порталом
Итак, как я могу правильно ответить на эти обнаружения?
1 ответ
Самый простой подход - включить прокси-сервер socks при настройке точки доступа Wi-Fi, к которой вы подключаетесь. Это зависит от версии Android, но обычно это что-то вроде:
- Нажмите и удерживайте сеть Wi-Fi, к которой вы хотите подключиться.
- Должно появиться диалоговое окно. В этом диалоговом окне выберите "Дополнительно".
- Найдите параметр прокси и введите IP-адрес и порт сервера, на который вы хотите перенаправлять трафик.
Android говорит на SOCKS, и пока ваш прокси также говорит на SOCKS, вы готовы к работе. Если вы можете получить root права на устройство (в зависимости от вашей версии Android), настройте этот прокси автоматически. См. Например, AdBlock Plus для Android, который делает именно это.
Если вы не хотите идти по маршруту прокси, вы можете вручную установить правила ebtables, если ваше устройство имеет root-права. Это значительно больше работы, так как вы должны быть осторожны, чтобы не испортить NAT, который ваше устройство уже делает.