Development of mobile applications
26 September 2014

Обходим запрет Yota раздавать интернет с телефона

Вместо введения.


Я пользуюсь Samsung Note 3 LTE (N9005). Оператор, с недавних времен, Yota. LTE на этом аппарате пока не поддерживается официально, по этому я решил сегодня сделать root на телефоне и вручную включить LTE.

Root получил по инструкции с ресурса 4PDA. LTE активировал, дописав в файл /system/etc/lteon_netlist.xml строчку:
whiteLists numeric=«25011» ltestate=«PS/CSFB» operator=«Yota» country=«Russia» defaultMode=«GWL»


Выставивл в настройках точки доступа владельца — LTE.
Дальше перезагружаем аппарат и в настройках можно выбрать новый режим LTE.

Завязка


Прийдя домой я обнаружил, что интернет через провод как бы есть, но страницы не открываются (обычное поведение провайдера в пятницу и субботу). И тут вспомнил, что есть у меня LTE! Включил режим точки, открыл браузер и:

Большая синяя картинка
image

Как же быть?

Развитие


Попытка пингов до нажатия на кнопку в зловещем синем окне не увенчалась успехом. Значит режутся не порты. Значит трафик режется на 3 (сетевом) уровне модели ОСИ.
Как Yota отличет пакеты телефона от пакетов ноутбука, при условии что ноут подключен через телефон? Откроем wiki и посмотрим из чего состоит пакет? В ходе анализа и изучения матчасти была выявлена разница между пакетами, это TTL! С телефона до Yota доходят пакеты с TTL = 64, а с ноутбука уже доходят пакеты с TTL = 63 (1 ttl уходит на прохождение через телефон)!

Кульминация


Так как телефон рутован, то просто в файле /system/etc/sysctl.conf прописываем net.ipv4.ip_default_ttl = 63. Выключаем «Мобильные данные» и включаем. Заходим в браузер на ноутбуке и вуа-ля! Все открывается и скорость не режется!

Вместо послесловия


Yota, не будьте жадинами, дайте нормальный интернет.

UPD: Для тех, у кого не заработало на Android 4.3, 4.4: зайдите в файл /data/data/com.android.providers.settings/databases/settings.db sqllite редактором и посмотрите значение tether_dun_required, должно быть 0.

+191
361k 470
Comments 135