Votre téléphone utilise un type de connexion différent (DUN) pour envoyer des données attachées, mais vous pouvez faire en sorte que le fournisseur traite tout le trafic comme s'il était non attaché :
adb shell settings put global tether_dun_required 0
Lorsque vous activez le tethering sur Android, le système d'exploitation effectue d'abord une vérification de l'approvisionnement auprès de l'opérateur afin de déterminer si votre forfait autorise le tethering. Vous pouvez supprimer cette vérification :
adb shell su
mount -o rw,remount /system_root
cd /system_root/system/
echo net.tethering.noprovisioning=true >> /system_root/system/build.prop
Toutefois, cela ne suffira pas car les opérateurs repèrent souvent le tethering en regardant le TTL de vos paquets IP.
Le temps de vie (TTL) désigne le temps ou les "sauts" qu'un paquet peut passer dans un réseau avant d'être rejeté par un routeur. Il est décrémenté pour chaque saut. Un saut est tout routeur intermédiaire par lequel le paquet passe.
Lors du tethering, votre téléphone agit comme un routeur et votre TTL est diminué de 1 avant d'atteindre votre ISP, ce qui vous trahit.
Par défaut, Android et iOS ont un TTL de 64. Il vous suffit donc de régler le TTL de votre PC sur 65.
Sous GNU/Linux :
net.ipv4.ip_default_ttl=65
# persistent change
echo 'net.ipv4.ip_default_ttl=65' | sudo tee /usr/lib64/sysctl.d/70-ttl.conf
Sous Windows :
netsh int ipv4 set glob defaultcurhoplimit=65 netsh int ipv6 set glob
defaultcurhoplimit=65
Sur MacOS :
sudo sysctl -w net.inet.ip.ttl=65
Pour l'instant, cela semble suffisant, mais gardez à l'esprit que votre opérateur a d'autres moyens de détecter le tethering (cf. aquí ) et les utilisera très probablement à l'avenir.