Android meldet Tethering Status an Netzbetreiber

Schon seit einigen Jahren gibt es Debatten darüber, dass viele Netzbetreiber weltweit zusätzliche Gebühren verlangen, damit Tethering genutzt werden darf, also das Smartphone als Modem am Notebook oder PC zu verwenden. Vor allem die Frage, inwiefern Netzbetreiber den Datenverkehr analysieren dürfen, um Tethering-Daten von den normalen Daten des Smartphones zu unterscheiden. Nun hat ein Open Source Entwickler entdeckt, dass bereits seit Oktober 2012 mit der Einführung von Android 4.1.2 im System Code enthalten ist, der genau diese Unterscheidung vornimmt.
Android nutzt getrennte Routing Tabellen
Wie der Entwickler Daniel Pocock, als er auf der Suche nach einem Tethering Problem bei CyanogenMod 11 war, herausfand, verwendet der Android-Kern des alternativen Smartphone Betriebssystems zwei verschiedene Netzwerk-Schnittstellen mit unterschiedlichen Routing Tabellen. Eine davon für normale mobile Daten und die Zweite für die Tethering Funktion. Aufgrund der unterschiedlichen Routing Tabellen, welche bei manchen Netzbetreibern auch unterschiedliche Zugangspunkte für das mobile Netz verwenden, kann der Netzbetreiber genau zwischen den Daten des Smartphones und des externen Gerätes unterscheiden und diese gezielt blockieren.
Offen bleiben nun Fragen, was Google dazu veranlasst, sich hier den Netzbetreibern zu beugen und auch, ob die Cyanogen Entwickler diese Funktion einfach übersehen oder bewusst aktiv gelassen haben. Wer auf seinem Smartphone Rootrechte nutzt, kann durch Löschen der alternativen Routing-Tabelle diese Funktion deaktivieren, da der Traffic dann nicht mehr zu unterscheiden ist.
Quelle: Daniel Pocock via ComputerBase
Und wie/wo kann ich mit Root diese Funktion deaktivieren?
per terminal/adb:
ip rule show
was dir so was wie
32765: from 192.168.42.0/24 lookup 60
ausgibt.
dort kannst du mittels
ip rule del pref 32765
die route löschen und dann die entsprechenden Tabellen leeren:
iptables -t nat -I natctrl_nat_POSTROUTING -s 192.168.0.0/16 -o rmnet_usb0 -j MASQUERADE
iptables -I natctrl_FORWARD -i rmmnet_usb0 -j RETURN
soweit ich das sehe, müsstest du das aber jedes mal neu machen.
Alternativ kannst du auch die Einstellung direkt ändern:
Mit SQLitedugger https://play.google.com/store/apps/details?id=oliver.ehrenmueller.dbadmin die Datei /data/data/com.android.providers.settings/databases/settings.db öffnen.
die DB global öffnen
tether_dun_required auf 0 setzen.
hier der notwendige befehl:
INSERT INTO global ( name, value ) VALUES ( ‘tether_dun_required’, 0 ) ;
Danke für eure Bemühungen, aber “tether_dun_required” ist bei mir nicht zu finden. Habe mit der Alternative gesucht. Vielleicht ist es bei Custom ROMs schon rausgeschmissen?
Also ich habe mir mit o.g. Befehl mein kpl. OS zerschossen.
Leider hat das Backup der Datei “settings.db” offensichtlich nicht geklappt.
Folgende Fehler:
– Keine eingehende Anrufe mehr möglich, nur ausgehende
– Bei PowerOff-Button wird nur noch “Ausschalten” angezeigt
– Home-Button hat keine Reaktion mehr
– Einstellungen über Männchen oben Rechts nicht mehr möglich, keine Reaktion
Tel. derzeit unbrauchbar, warte auf Bereitstellung von anderen Usern bzgl. funktionsfähiger “settings.db”.
keine ahnung was da schief gelaufen ist….
kotz…
D-L-G möglich, ja.
everal: ohje! am besten im Forum unter dem entsprechenden Gerät um Hilfe fragen. Das scheint ja tiefgreifender zu sein 🙁