Frage

Ich versuche, den gesamten Verkehr auf meinem Telefon vollständig vor dem Mobilfunkanbieter zu verbergen.

Ich möchte dies tun, indem ich den Verkehr über einen SSH -Tunnel durch Iptables zu meinem Heimrouter lenkt (nicht sicher, ob sie helfen?).

Das Telefon ist verwurzelt und führt Cyanogenmod 7.1 aus (und ist daher iptables fähig).

Ich habe mich angesehen diese Frage, aber ich bin immer noch irgendwie wackelig in den Details. Diese Frage beschreibt, wie man dies für einen einzelnen Port macht - aber wie kann ich dies für jedes einzelne Paket an jedem einzelnen Port tun?

Diese Frage ist sowohl von praktischem als auch von akademischem Interesse. Vielen Dank.

War es hilfreich?

Lösung

Haben Sie versucht zu verwenden sshtunnel? Iptables allein reicht nicht aus, um dies zu tun.

Einen Überblick darüber, wie es tatsächlich gemacht wird:

  1. Melden Sie sich mit SSH bei Ihrem Server an und leiten Sie den HTTP -Proxy -Port an das Android -Gerät weiter. So fährt jeder Verkehr zu localhost:3128 Gehen Sie tatsächlich zum Remote -Computer (Ihr Heimrouter).
  2. Da Android keine globale Proxy -Einstellung hat, leiten Sie den gesamten Datenverkehr nach Port 80 (und 443 für HTTPS) um. localhost:3128. Dort kommt Iptables ins Spiel:

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

Wenn Sie auch andere Protokolle umleiten möchten, verwenden Sie einen Socken -Proxy mit einem ähnlichen Setup. Um DNs umzuleiten, Port 53 durch den Tunnel umzuleiten, usw.

Alles in allem ist es nicht so einfach, "All -Traffic" zu verbergen. Verwenden Sie also einfach die App. Wenn Sie dazu Cyanogenmod patchen möchten, schauen Sie sich die Quelle an und ändern Sie die Startskripte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top