Email or username:

Password:

Forgot your password?
BrianKrebs

Didn't realize my wireless plan capped tethering speeds, but now it makes sense. When your phone gets ~10-15 mbps and your tethered computer gets .5 or .6 consistently, you know they're screwing w/ the service you paid for.

Welp, I'm ashamed it took me this long to realize, but changing the TTL on my computer seems to have released the throttling.

reddit.com/r/Android/comments/

43 comments
BrianKrebs

BTW apparently this TTL hack works to remove throttling for tethered connections from a bunch of different wireless providers, not just Verizon.

BrianKrebs

On a Mac, you can change the time to live (TTL) for your connection by opening a command prompt (Terminal) and typing these two commands (you'll be asked for an admin password after entering the first of these commands):

sudo sysctl -w net.inet.ip.ttl=65

sudo sysctl -w net.inet6.ip6.hlim=65

BrianKrebs

For the uninitiated, changing your computer's TTL won't have a negative effect on it. The TTL basically refers to the max number of network "hops" that a connection can make before it just times out.

The reason this works is that the default TTL for wireless connections is 64, but if you are tethering a computer behind your wireless connection, the tethered computer will be one fewer hops, 63, which allows the carrier to detect you're connecting from something other than your phone. By setting it to 65, your computer will appear to have the correct number of hops indicating a direct connection.

For the uninitiated, changing your computer's TTL won't have a negative effect on it. The TTL basically refers to the max number of network "hops" that a connection can make before it just times out.

The reason this works is that the default TTL for wireless connections is 64, but if you are tethering a computer behind your wireless connection, the tethered computer will be one fewer hops, 63, which allows the carrier to detect you're connecting from something other than your phone. By setting it...

rmogull

@briankrebs One of the best things about qualifying for FirstNet was true unlimited tethering. This TTL trick is pretty great though.

Carl

@briankrebs

Thanks for the explanation. I had assumed the throttling happened in the phone, not the tower (or wherever in the phone carrier's network). I was very puzzled why TTL would matter.

Personally, I just use Mint Mobile, which gives 5GB of high speed data per month for $15 with no restrictions.

Alan Miller :verified_paw:

@nitpicking @briankrebs TTL doesn't really matter on a technical basis except that it's a very easy to detect attribute of data packets, one that the equipment is already looking at because it has to adjust it down by one before sending the packet along.

On the other hand if you're tethering via USB to a phone speed issues might be due to most phone USB ports only doing USB2 speeds.

BrianKrebs

@fencepost @nitpicking Yes, it apparently matters to some carriers, which seem to use the TTL as a lazy, easy way to restrict the use of their network to devices they (mostly) control.

Ted Mielczarek

@fencepost @nitpicking @briankrebs USB2 maxes out at 480Mbps, which I don't think is going to be the limiting factor here. (Also most tethering is probably happening via WiFi hotspot these days.)

Brendan

@nitpicking @briankrebs

I've been using Mint Mobile for years. I love telling the Verizon or other sales person at Costco that I pay $15 per month and I just paid for a year. They leave me alone at that point.

Mark Delany

@nitpicking @briankrebs Yeah. I appreciate the TTL explanation as I was initially think DNS TTL and going what the ferk?

It's also exactly how one would expect a carrier to implement throttling. That is a lame implementation that sort-of, kinda, mostly works. A bit like the bandwidth limits on airport wifi that base it on the MAC address of your NIC.

Michael Fisher

@briankrebs Sweet! Can we dork with the same setting with a netsh command on Windows?

BrianKrebs

@mjf_pro netsh int ipv4 set glob defaultcurhoplimit=65

netsh int ipv6 set glob defaultcurhoplimit=65

ticho

@briankrebs There is a great FOSS tool for detecting such tethering setups on the carrier side: en.m.wikipedia.org/wiki/P0f

We used it many years ago to detect freeloaders on a dormitory network which had per-user monthly fee. :)

I am mentioning it here so that those interested can look at some of the more advanced techniques for passive OS fingerprinting, by examining p0f's source code.

Jean-Francois Mezei

@briankrebs Prior to AT&T joining the GSM world, there were few if any differentiation between native use and tethering. Usage limits were very low anyways.
AT&T's negotiations for exclusive iPhone sales resulted in Apple providing different APN settings for tethering vs native use. Other handset makers followed and other carriers adopted it and became de-facto standard. This way, it is easy to block tethering at the APN level, restrict its speed etc while no impact on native use by handset.

Diego Elio Pettenò

@jfmezei @briankrebs for what it's worth the different APN setup existed since tethering existed, in Europe.

Just a reminder that the world didn't start using mobile internet with the iPhone, even when NORAM might have.

Flare

@briankrebs is this an American thing? Blocking tethered computers. They don't do this in Oz?

Russell

@flare2004 @briankrebs I’m in Australia too, and we don’t have tethering limits. Our phone plans are also about a quarter the cost of phone plans in the US. We have it good. Keep quiet.

Felix 🇨🇦 🇩🇪 🇺🇦

@briankrebs omg, using the TTL as a classifier for a tethered device is sneaky. How would you even start troubleshooting that? What if you set it higher? Do you then get labelled as a hacker?

Robert Sweetnam

@briankrebs you can change TTL with firewall rules on many LTE routers such as Mikrotik ones. Allows you to use a cheaper pay as you go SIM for data which would normally be restricted to one device:

help.mikrotik.com/docs/display

jacky

@briankrebs good looks. I've legit been using mobile data in place for home networking since the end of July (right now in my building's lobby)

I've been wanting to write notes on my approach but lol kindaaaa curious about The Law (tm)

jacky

@briankrebs ahh this doesn't seem to work on Linux (cursed phrase, lol) going to look for the equivalent

BrianKrebs

@jalcine You might also need to be running a VPN. See the full instructions at the Reddit link in the OP.

Rob Ricci

@briankrebs lol this is the laziest possible way to detect tethering, I love it

BrianKrebs

@ricci Yep. And it's crazy easy to bypass too, which is nice.

Kee Hinckley

@briankrebs I tried that a few months ago and it didn’t work for me (iPhone/AT&T), but I didn’t have a way at the time to check the TTL on egress and make sure I had the right value set. I need to give that another shot.

That said, what *did* work was running a SOCKS gateway on my iPhone. Which I did through the bizarre (but fairly simple) process of running the ish app (Alpine Linux) on the gateway phone, and then running ssh within it to my home server with the SOCKS proxy turned on. Then I enabled SOCKS proxy settings on my iPad and Mac and they both happily routed all traffic to the phone, and all the bandwidth was treated as native iPhone usage. Only catch is you have to leave ish in the foreground with the screen on.

@briankrebs I tried that a few months ago and it didn’t work for me (iPhone/AT&T), but I didn’t have a way at the time to check the TTL on egress and make sure I had the right value set. I need to give that another shot.

That said, what *did* work was running a SOCKS gateway on my iPhone. Which I did through the bizarre (but fairly simple) process of running the ish app (Alpine Linux) on the gateway phone, and then running ssh within it to my home server with the SOCKS proxy turned on. Then I enabled...

Matt Sicker

@briankrebs imagine if the OS did some sort of TTL negotiation for you! That’d be pretty rad

Gord

@briankrebs A lot of us current and former IoT guys love this, so its probably a gonner now after this. 😂​

tarper24

@briankrebs
I have this set up on a Pi so my brother can have Internet while on the road. My mom previously had it so she could have home Internet because the options were terrible at the time.

It works great, and using a VPN with it (just goes to my house) bypasses site specific throttling that I've experienced with Verizon

Ryan Singel

@briankrebs
It's a total net neutrality violation.

Fwiw, Visible, the Verizon MVNO, has an unlimited tethering plan for $35 a month

John Philip Bell

@briankrebs

Re:
"seem to use the TTL as a lazy, easy way to restrict the use of their network to devices they (mostly) control. "

As an experienced ProdSec practioner, and I mean this as a joke, only "not" because I've seen scarier assumptions made by dev teams over the years...

So I wonder if I set TTL to 70 if they will interpret it as unrestricted 'internal' traffic (and slip past network security checks) 🫣🤪

Bern

@briankrebs is 10-15Mbps normal speeds for 4G mobile in the US? 🤔

I just tested my connection here (Australia) and got 122Mbps - which is about half the speed I usually see here at home, the network must be busy at the moment.

Karl Baron

@Bern Yeah I was gonna say if I got 15 Mbit on my phone I'd be checking what was wrong 😅

Congested minimum is around 100, normal is around 250, 5G is around 600

BrianKrebs

@Bern Yup. There's US mobile providers, and then there's the rest of the world. Miles apart.

Sebastian Reiners

@briankrebs Now this explains why I was able to use a "holiday SIM" on my work phone but it didn't allow tethering, when I tried to connect my private phone to the hotspot on the work phone.

Bai Shen

@briankrebs Hak5 did a whole segment on this back in the day. I want to say they showed up to configure the phone to change the ttl to 64 but it's been ages since I watched the episode.

Dominik

@briankrebs I have 350 Mbit/s but as a hotspot I only get 20-40 Mbit/s out of it. Also there is no option at all to get a wired wifi here. So it is sadly the only option.

rdfhrn

@briankrebs do you know where such things are done by providers? I've never heard of such here in germany and never had bandwidth issues on tethered devices.

BrianKrebs

@rdfhrn I have no idea. It's probably a uniquely American thing. This is a country where if you try to buy 1000 gb worth of wireless data a month from an independent provider, that's often the max they will sell you a month and it's like $250. The major carriers here charge exorbitant prices because they can.

Go Up