Su teléfono utiliza un tipo de conexión diferente (DUN) para enviar datos por tethering, pero puedes hacer que el proveedor trate todo el tráfico como si no fuera por tethering:
adb shell settings put global tether_dun_required 0
Cuando habilitas el tethering en Android, el sistema operativo primero realiza una verificación de aprovisionamiento con el operador para determinar si tu plan permite el tethering. Puedes eliminar esta verificación:
adb shell su
mount -o rw,remount /system_root
cd /system_root/system/
echo net.tethering.noprovisioning=true >> /system_root/system/build.prop
Sin embargo, no será suficiente porque los operadores a menudo detectan el tethering al ver el TTL de tus paquetes IP.
El tiempo de vida (TTL) se refiere a la cantidad de tiempo o "saltos" que un paquete está configurado para existir dentro de una red antes de ser descartado por un enrutador. Se decrementa por cada salto. Un salto es cualquier enrutador intermedio por el que pase el paquete.
Cuando haces tethering, tu teléfono actúa como un enrutador y tu TTL se reduce en 1 antes de llegar a tu ISP, lo cual es lo que te delata.
Por defecto, Android e iOS tienen un TTL de 64, por lo que solo necesitas configurar el TTL en tu PC a 65.
En GNU/Linux:
net.ipv4.ip_default_ttl=65
# cambio persistente
echo 'net.ipv4.ip_default_ttl=65' | sudo tee /usr/lib64/sysctl.d/70-ttl.conf
En Windows:
netsh int ipv4 set glob defaultcurhoplimit=65 netsh int ipv6 set glob
defaultcurhoplimit=65
En MacOS:
sudo sysctl -w net.inet.ip.ttl=65
Por el momento parece ser suficiente, pero ten en cuenta que tu operador tiene otras formas de detectar el tethering (ver aquí) y es muy probable que las utilicen en el futuro.
0 votos
¿Esto responde tu pregunta? ¿Android cambia a un APN diferente cuando está en modo de hotspot?