Visita il nostro 

sponsor

Tethering e hotspot su Android: come funzionano e come usarli

Share

This post has already been read 1077 times!

08 maggio 2014 07:58 – fonte notizia tuttoandroid

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.


Riccardo Robecchi

Per gli amanti di prodotti basati su android visitate il nostro sponsor

banner android 728x90

Share Button