[GUIDE][TMO][VZW] Hide Tethering Data with NO 3RD PARTY APPS

jasonmerc

Senior Member
Dec 14, 2012
1,687
882
143
www.ixquick.com
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:
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

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

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

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:

triggerlord

Senior Member
Dec 15, 2015
544
123
73
Were you able to browse the web (hidden) without changing your browsers user agent? I find that if I don't set Chrome to look like Android its 50/50 if it gets hidden or not.

Sent from my Moto G Play using XDA-Developers Legacy app
Everything works fine. I didn't need to change browser agents or anything. (I'm using chromium though.) I've only tried this via WiFi hotspot. EDIT: And I didn't need to change the APN setting either. Changing the TTL was enough to get it working.
 
Last edited:
  • Like
Reactions: jasonmerc

shawtydat

New member
Aug 15, 2017
2
0
0
is ma.t-mobile.com working for anyone? i keep getting sent to my.t-mobile.com even after doing what OP suggested. it used to work for me a few weeks back.
 

MountainX

Senior Member
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 T-Mobile. Tested and confirmed working with Ubuntu 16.10 and Mint 18.1, with the latest ResurrectionRemix on my XT1607.
When using this method, is the PdaNet app required on the phone?
 

mydarkthawts

Member
Apr 20, 2017
13
6
3
Auburndale
Lol, this fixed my Simple Mobile (powered by T-Mobile) tethering issues. Nice! This works with the WiFi hotspot feature too BTW.
Can you supply more information.
I'm looking at switching carriers due to my location(In the mountains with just about nothing for service providers) and want to know how much data you actually use.

What's the most data you have used with this TTL method?
Have they throttled you? and if so, how much?

Any information you can supply is extremely helpful. Thank you! =D
 

BrettB0727

Senior Member
Oct 20, 2011
57
4
28
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).
Thanks, jasonmerc! This put me in the right direction to remove the need for PdaNet on my Mac and also to be able also use my phone as a Wi-Fi Hotspot at full speed on T-Mobile. I'll be looking for your tutorial to bypass T-Mobile's international speed limits! :D

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
 
  • Like
Reactions: jasonmerc

jasonmerc

Senior Member
Dec 14, 2012
1,687
882
143
www.ixquick.com
Thanks, jasonmerc! This put me in the right direction to remove the need for PdaNet on my Mac and also to be able also use my phone as a Wi-Fi Hotspot at full speed on T-Mobile. I'll be looking for your tutorial to bypass T-Mobile's international speed limits! :D

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
I just noticed your reply right now, and I appreciate the steps for doing this on a Mac! I'm going to add these Mac steps to the first post and give you credit for it :)

As far as international data limits go, I'm not sure I can address that with a fix like this unfortunately.
 

niry

New member
Jan 8, 2012
4
4
0
I haven't been able to get over 500kbps using this method. Is this approach still working for folks in 2018?
It works in combination with altering the `type` string in the APNs: remove `dun` from pcweb.t-mobile.com one and add it to the fast.t-mobile.com one so it will read `default,supl,hipri,fota,dun`.
 
Last edited:

jasonmerc

Senior Member
Dec 14, 2012
1,687
882
143
www.ixquick.com
It works in combination with altering the `type` string in the APNs: remove `dun` from pcweb.t-mobile.com one and add it to the fast.t-mobile.com one so it will read `default,supl,hipri,fota,dun`.
Thanks for letting me know about this. I was talking to some people about using this method and they said it was a hit or miss in terms of hiding their tethering usage. I'll update the OP to include what you said as a fix, for people to try out if it's not working