If you're like me, a PdaNet customer running Linux who's sad that there's no build of PdaNet designed for Linux for hiding tether usage over USB Tethering, then fear not! After some research I've devised a plan to hide USB tethering usage from carriers that DOES NOT require PdaNet!. I've tested this myself on T-Mobile and Verizon, and on both of these carriers it looks like it works just fine. This does not mean that it will only work with these carriers, these are just the ones I've tested myself (with the exception of the appended notes below). If you have another carrier not mentioned here, please test this out and let me know if it works for you and I'll add it to the OP at the bottom
Here's a precaution I'd take on Android too, just to make sure the carrier really doesn't find anything out:
Here's what you have to do for Linux:
Here's what you have to do for Mac: (credits for the instructions and post going to @BrettB0727)
Here's what you have to do for Windows:
NOTE: I've found that downloading files can be finicky. I was able to download an MP4 video before without it detecting I was using tethering data, but when I tried to get a .zip file from ModDB T-Mobile found out what I was doing. Just take warning that not all forms of network traffic will be hidden when tethering.
NOTE 2: Confirmed by @triggerlord to work with WiFi Hotspot, as well as with Simple Mobile
NOTE 3: If you're one of those people who have trouble hiding their data with this method, take @niry's advice and see if it helps: he said to remove `dun` type from pcweb.t-mobile.com APN and add it to the end of the fast.t-mobile.com one (if it's not already there)
Here's a precaution I'd take on Android too, just to make sure the carrier really doesn't find anything out:
Go to Magisk Manager and get yourself the OpenDNS or DNSCrypt addon and install that. I think Verizon is catching on that I'm tethering somehow through DNS, even when I use VPN. By setting my DNS on my phone's LTE connection to something that's not-verizon, this should allow me to dodge that. I recommend you doing it too as a precaution
Here's what you have to do for Linux:
1) Hop over to your Linux machine, open a terminal emulator, and type the following commands (with root privileges):
sudo sysctl net.ipv4.ip_default_ttl=65
echo 65 | sudo tee /proc/sys/net/ipv4/ip_default_ttl
What this does is sets your PC's network packets to have a Time To Live of 65. This is to make it seem like the packets were originated from your phone instead of your PC. Android's default TTL for its packets is 64, so when the PC sends packets to your phone through tethering with a TTL of 65, they have a TTL of 64 by the time your phone sends them out to T-Mobile's towers (the internet).
2) If you want to have the PC's TTL set to 65 on every startup so you don't have to keep entering the two commands above again and again every time you reboot, add the following line to your PC's /etc/sysctl.conf file and save:
net.ipv4.ip_default_ttl=65
sudo sysctl net.ipv4.ip_default_ttl=65
echo 65 | sudo tee /proc/sys/net/ipv4/ip_default_ttl
What this does is sets your PC's network packets to have a Time To Live of 65. This is to make it seem like the packets were originated from your phone instead of your PC. Android's default TTL for its packets is 64, so when the PC sends packets to your phone through tethering with a TTL of 65, they have a TTL of 64 by the time your phone sends them out to T-Mobile's towers (the internet).
2) If you want to have the PC's TTL set to 65 on every startup so you don't have to keep entering the two commands above again and again every time you reboot, add the following line to your PC's /etc/sysctl.conf file and save:
net.ipv4.ip_default_ttl=65
Here's what you have to do for Mac: (credits for the instructions and post going to @BrettB0727)
For those wondering how to do this on a Mac, it can be done temporarily using:
Code:
sudo sysctl -w net.inet.ip.ttl=65
Or permanently by creating or editing /etc/sysctl.conf to add
Code:
net.inet.ip.ttl=65
if you end up creating the file, you will need to be sure and do:
Code:
sudo chmod 0644 /etc/sysctl.conf
sudo chown root:wheel /etc/sysctl.conf
Code:
sudo sysctl -w net.inet.ip.ttl=65
Or permanently by creating or editing /etc/sysctl.conf to add
Code:
net.inet.ip.ttl=65
if you end up creating the file, you will need to be sure and do:
Code:
sudo chmod 0644 /etc/sysctl.conf
sudo chown root:wheel /etc/sysctl.conf
Here's what you have to do for Windows:
1) Open up regedit and go to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters
2) Make a new REG_DWORD entry in there called DefaultTTL and set it to 65
3) Reboot
2) Make a new REG_DWORD entry in there called DefaultTTL and set it to 65
3) Reboot
NOTE: I've found that downloading files can be finicky. I was able to download an MP4 video before without it detecting I was using tethering data, but when I tried to get a .zip file from ModDB T-Mobile found out what I was doing. Just take warning that not all forms of network traffic will be hidden when tethering.
NOTE 2: Confirmed by @triggerlord to work with WiFi Hotspot, as well as with Simple Mobile
NOTE 3: If you're one of those people who have trouble hiding their data with this method, take @niry's advice and see if it helps: he said to remove `dun` type from pcweb.t-mobile.com APN and add it to the end of the fast.t-mobile.com one (if it's not already there)
Last edited: