Обход ограничений на раздачу мобильного интернета
Многие мобильные операторы сейчас активно режут или ограничивают раздачу интернета через режим модема. Делается это не “в лоб”, а через косвенные технические признаки, по которым система определяет, что SIM используется не в телефоне.
На практике всё сводится к нескольким основным механизмам анализа: TTL, IMEI и поведение трафика.
Теория
Оператор не видит “раздачу” напрямую — он её вычисляет.
Один из ключевых параметров — TTL (Time To Live). Каждый переход пакета через промежуточное устройство уменьшает TTL на 1. Если смартфон работает как точка доступа, трафик с разных устройств начинает приходить с разными значениями TTL, и это легко выделяется на стороне оператора как использование модема.
Второй фактор — IMEI. Он используется для определения типа устройства. Если SIM-карта, рассчитанная на смартфон, внезапно работает в оборудовании, которое определяется как модем или роутер, это может стать основанием для ограничений.
Отдельно учитывается и анализ сетевой активности. Современные системы смотрят не только на “технические метки”, но и на характер трафика. Например, если устройство, идентифицированное как смартфон, начинает активно обращаться к Windows-сервисам, Steam, Blizzard и другим десктопным платформам — это уже сильный сигнал, что интернет используется не только на самом телефоне.
Практика
На практике я продемонстрирую фиксацию TTL при раздаче интернета с Android устройства на Linux устройство, на iOS для реализации подобной схемы нужен JailBreak, поэтому iPhone рассматриваться не будет, а на Android нужен Magisk, в примере рассматривается устройство на Android 12 используемое, в качестве модема и устройство на Debian 11, используемое в качестве клиента.Для фиксации TTL необходим доступ к системному фаерволу, если рассматривать Android и Linux, то это iptables
Для фиксации TTL на Android можно руками отредактировать iptables или просто установить специальный Magisk модуль https://github.com/cyborg-one/nfqttlДля постоянной фиксации TTL на Debian 11 надо сделать скрипт для фиксации TTL:
sudo nano TTL_Fix.sh
Содержимое скрипта следующее:
echo 65 > /proc/sys/net/ipv4/ip_default_ttl
После каждой перезагрузки перед подключением к точке доступа надо запускать этот скрипт, он фиксирует значение TTL на 65
Как я описал выше, данный способ может не сработать и придется заворачивать трафик в VPN-туннель, сделать это можно подправив iptables или использовать удобную программу с графическим интерфейсом VPN Hotspot https://github.com/Mygod/VPNHotspot, данная программа тоже требует наличие root доступа, т.е. наличие установленного Magisk.
После скачивания и установки последней версии программы с её гитхаб-репозитория её надо запустить и выдать ей права суперпользователя, о чем она попросит при первом запуске, после этого откроется интерфейс программы.
Для начала раздачи VPN-трафика нужно на смартфоне запустить какой-либо VPN и в VPN Hotspot включить Temporary Wi-Fi hotspot

Затем потребуется выдать программе разрешение на определение геопозиции устройства во время работы

Режим модема активирован, чтобы увидеть данные для подключения надо нажать на значок в правом верхнем углу экрана и выбрать пункт Temporary Wi-Fi hotspot


В данном окне отображается название точки доступа и пароль, ещё можно открыть QR-код для подключения к Wi-Fi нажав соответствующий значок

Таким образом можно обойти ограничения на раздачу трафика у любого провайдера, т.к. он будет видеть только подключение к VPN и не сможет определить, что смартфон работает в режиме модема. Трафик устройств, подключенных к такой точке доступа будет идти через VPN, к которому подключен смартфон в режиме модема.