Hotspot e thering su Android

tratto da: http://www.tuttoandroid.net/android/tethering-e-hotspot-su-android-come-funzionano-e-come-usarli-su-tutte-le-reti-190138/

Una delle funzionalità più comode ed utili quando si possiede più di un dispositivo è sicuramente la possibilità di poter condividere la connessione ad Internet dal proprio smartphone. È possibile fare questo sia tramite la funzione tethering (via Bluetooth o via USB) sia tramite la funzione hotspot. Nel primo caso abbiamo una condivisione con un singolo dispositivo tramite Bluetooth o USB; nel secondo caso il telefono si trasforma in un hotspot (o punto di accesso) che può far connettere fino a 5 terminali tramite WiFi. Ma come funzionano su Android tethering e hotspot?

In buona sostanza, il dispositivo Android si trasforma in un router NAT che raccoglie le richieste dei client e le inoltra ai vari server utilizzando il proprio indirizzo IP. In questo senso, dunque, il servizio è opaco per l’operatore telefonico perché non ci sono i mezzi tecnici per capire se ad usufruire della connessione sia direttamente lo smartphone (o il tablet) oppure se sia un dispositivo connesso in tethering o con hotspot. Fino ad Android 4.1 il sistema non comunicava alcunché all’operatore ed era possibile utilizzare il tethering sempre e comunque, anche quando il contratto non prevedeva esplicitamente questa possibilità.

A partire da Android 4.1.2, invece, il sistema utilizza un meccanismo che permette all’operatore di sapere che avete attivato l’opzione hotspot/tethering e che, quindi, state usufruendo della connessione anche su altri dispositivi. La maggior parte degli operatori non prevede malus per questo (esempi: TIM, H3G/Tre, Wind), ma alcuni fanno invece pagare per usufruire dell’opzione (Vodafone). Andiamo a vedere come si comporta quindi il dispositivo per informare l’operatore dell’utilizzo della condivisione della connessione.

Come ben spiegato da Daniel Pocock, Android ha due dispositivi di rete, rmnet_usb0 e rmnet_usb1:
shell@android:/ # ip route
0.0.0.0/1 dev tun0 scope link
default via 100.66.150.89 dev rmnet_usb0
83.224.66.138 via 100.87.31.214 dev rmnet_usb1
83.224.70.94 via 100.87.31.214 dev rmnet_usb1
100.66.150.88/30 dev rmnet_usb0 proto kernel scope link src 100.66.150.90
100.66.150.89 dev rmnet_usb0 scope link
100.87.31.212/30 dev rmnet_usb1 proto kernel scope link src 100.87.31.213
100.87.31.214 dev rmnet_usb1 scope link
128.0.0.0/1 dev tun0 scope link
192.168.42.0/24 dev rndis0 proto kernel scope link src 192.168.42.129

Controllando la tabella degli indirizzi del telefono, si scopre che esiste una tabella apposita per il tehering:
shell@android:/ # ip rule show
0: from all lookup local
32765: from 192.168.42.0/24 lookup 60
32766: from all lookup main
32767: from all lookup default

Guardando questa tabella, ci si accorge che tutto il traffico di tethering e hotspot viene reindirizzato verso il dispositivo di rete rmnet_usb1.

shell@android:/ # ip route show table 60
default via 100.87.51.57 dev rmnet_usb1
100.87.51.57 dev rmnet_usb1
192.168.42.0/24 dev rndis0 scope link

È proprio questo l’inghippo che permette agli operatori di sapere che sì, state condividendo la connessione con altri dispositivi.

Per Google questa è una funzionalità, perché rende Android più controllabile dagli operatori e meno indigesto. Di fatto, per gli utenti è un bug. Il vecchio adagio it’s not a bug, it’s a feature ben si applica a questo caso.

Essendo, però, una funzionalità che non tutti vogliono sul proprio smartphone, qualcuno ha trovato il modo per disattivarla.

Disclaimer: i contenuti qui esposti sono a solo scopo informativo e divulgativo. TuttoAndroid declina ogni e qualunque responsabilità per un eventuale utilizzo da parte dell’utenza di questo materiale per aggirare clausole del proprio contratto telefonico che impediscono la condivisione della connessione dal proprio terminale mobile.

Oltre a vari metodi che richiedono l’accesso con root, esiste un modo piuttosto pratico e veloce per modificare il comportamento di Android con il tethering. Richiede che abbiate abilitato il debug USB, configurato ADB sul vostro computer e un cavo USB. Trovate tutte le informazioni sul metodo seguendo il link qui sotto.

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: