прозрачный шлюз в приложении - PullRequest
0 голосов
/ 02 мая 2018

надеюсь, что вы можете указать мне правильное направление.

Я создаю библиотеку Android (без использования VPNService), которая при интеграции в приложение перенаправляет весь трафик tcp / udp этого приложения на мой прокси-сервер. Библиотека также должна работать на некорневых устройствах, что означает, что использование iptables не вариант.

Поскольку сценарий использования предназначен для прозрачного шлюза в приложении, библиотеке не нужно перенаправлять трафик приложения, кроме того, с которым он интегрирован.

Я исследовал, и обычное решение, которое я нахожу, использует VPNService, который тоже не вариант. Также найдено mitmproxy.org , но я не уверен, с чего начать.

Таким образом, без изменения приложения, как я могу перенаправить трафик на мой прокси-сервер и все же ... 1. не использовать VPN 2. не использовать iptables и не требовать root-доступа

Большое спасибо!

1 Ответ

0 голосов
/ 02 мая 2018

Таким образом, без изменения приложения, как я могу перенаправить трафик на мой прокси-сервер

Это невозможно, извините. Приложения используют широкий спектр средств для доступа к сетям, включая:

  • API-интерфейсы клиента HTTP (например, HttpUrlConnection)
  • работа с Socket напрямую в Java / Kotlin
  • работа с POSIX-сокетами непосредственно в C / C ++ с использованием NDK
  • WebView
  • и т.д.

У вас нет средств прозрачного перехвата большей части этого, не говоря уже о перенаправлении его через прокси.

Вы можете предлагать API, позволяющие разработчикам настраивать свои приложения для использования прокси в некоторых ситуациях. NetCipher делает это, чтобы помочь разработчикам интегрироваться с прокси-сервером Orbot, например.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...