Archive

Archive for January, 2020

How to disable a restriction for mobile internet sharing

January 13th, 2020 No comments

title='Notabene: disable a restriction for mobile internet sharingNowadays some of cell operators have a practice of restricting internet sharing function for smartphones. Usually it’s an attribute of family tariffs which also propose home internet and digital TV. This article will describe how to disable this restriction. The article is only for educational purpose of course, the author takes no responsibility for what you’re going to do with this information.

So, what will we need? First of all is smartphone with internet sharing function and second is macOS based laptop. We will not need to get root access to our smartphone. It’s all can be done with single terminal command.
A little bit of theory for the beginning. How do cell providers detect we’re sharing the internet? The packet structure of IP (Internet Protocol) contains a TTL attribute (Time To Live) which is integer. When the packet leaves its device, TTL value is set to some particular value, e.g. 128. When the packet goes through another router TTL value decreases by 1. This is how cell operator detects we’re using internet sharing. So all we need to do is to make initial TTL value bigger for 1 from its normal value.
Fortunately we can make it with single command in macOS.
But first we need to determine initial TTL value.

The recipe
1. Connect your laptop to smartphone hotspot.
2. Go to System preferences -> Network

Find your current IP address. Let it be 172.20.10.7.
Then the gate IP address in most cases will be 172.20.10.1 (change last number to 1).
3. Next we do ping of this gate

$ ping 172.20.10.1
PING 172.20.10.1 (172.20.10.1): 56 data bytes
64 bytes from 172.20.10.1: icmp_seq=0 ttl=64 time=2.165 ms
64 bytes from 172.20.10.1: icmp_seq=1 ttl=64 time=10.146 ms
64 bytes from 172.20.10.1: icmp_seq=2 ttl=64 time=3.050 ms
64 bytes from 172.20.10.1: icmp_seq=3 ttl=64 time=1.994 ms

and get TTL value.

4. Increase it by 1 and run the following command:

sudo sysctl net.inet.ip.ttl=65 net.inet.ip.ttl: 65 -> 65

The command requires admin password.

Categories: Apple, Misc Tags: