2012-02-16 3 views
3

Я пытаюсь полностью скрыть весь трафик на своем телефоне от поставщика услуг беспроводной связи.Прямой ВСЕ-андроидный трафик через SSH-туннель

Я хотел бы сделать это, направляя трафик через туннель SSH на мой домашний маршрутизатор через iptables (не уверены, если они помогут?).

Телефон укоренен и работает CyanogenMod 7.1 (и, следовательно, способен работать с iptables).

Я просмотрел this question, но я все еще нехорошо отношусь к деталям. Этот вопрос описывает, как это сделать для одного порта, но как я могу это сделать для каждого отдельного пакета на каждом отдельном порту?

Этот вопрос имеет практический и академический интерес. Спасибо.

ответ

3

Вы пытались использовать sshtunnel? Для Iptables недостаточно.

Что касается обзора, как это на самом деле сделано:

  1. Войти на сервер с SSH и направляет HTTP прокси-порт на Android устройства. Таким образом, любой трафик, идущий к localhost:3128, фактически отправится на удаленный компьютер (ваш домашний маршрутизатор).
  2. Поскольку у Android нет глобальной настройки прокси-сервера, вы перенаправляете весь трафик на порт 80 (и 443 для HTTPS) на localhost:3128. Вот где Iptables приходит в:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to localhost:3128

Если вы хотите переадресовать другие протоколы тоже вы используете прокси-сервер SOCKS с подобной установкой. Чтобы перенаправить DNS, перенаправить порт 53 через туннель и т. Д.

В целом, чтобы скрыть «весь трафик», это не так просто, поэтому просто используйте приложение. Если вы хотите установить Cyanogenmod для этого, посмотрите на источник и измените сценарии запуска.

+0

У меня нет, потому что это просто приложение, которое работает в пользовательском пространстве. Я хочу зашифровать каждый пакет, начиная с загрузки и заканчивая завершением работы. С этим приложением пакеты будут проходить через носитель, как обычно, до тех пор, пока я не включу приложение. – CatZilla

+0

В этом случае вам необходимо создать собственную прошивку. Посмотрите источник sshtunnel, проверьте, какие команды он запускает (настройка туннеля, работа, прокси, перенаправление и т. Д.), И добавьте их в сценарии запуска. Часть «userpace» - это всего лишь графический интерфейс для запуска всего процесса. По сути, это прозрачный прокси-сервер, а iptables используется для перенаправления всего трафика на прокси-сервер. –

+0

Кстати, у него есть опция «Автосоединение», она позволит туннелю, когда сеть будет доступна, так что вам действительно не нужно запускать приложение вручную. –

Смежные вопросы