Calltell.ru

Про мобильные операторы
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как проверить фиксацию ttl в модеме

/4te.me

Столкнулся с проблемой раздачи интернета с Android-телефона на другие устройства, через мобильную точку доступа, у некоторых операторов. Оператор или вообще запрещает раздавать интернет, или берет за это деньги. Однако есть способы обойти этот запрет. Здесь расскажу, что у меня получилось.

Как оператор узнает, что интернет раздается

Оператор на своей стороне смотрит на значение TTL в заголовках IP-пакетов, приходящих от клиента. Схематично выглядит так:

Если на телефоне открывать в браузере какую-нибудь страничку, то провайдеру от телефона будут приходить пакеты с TTL 64. Такие пакеты он пропускает.

Но если включить мобильную точку доступа, подключиться к ней, например, с планшета, и на планшете открыть страницу, то, проходя через мобильную точку доступа на телефоне TTL будет уменьшаться на 1 и провайдеру будут уходить пакеты с TTL 63, которые он будет отбрасывать. Уменьшение TTL при прохождении через роутер — это стандартизированное поведение роутера, такое поведение предусмотрено стандартом RFC791.

В этой ситуации выхода два — либо на планшете выставлять TTL 65, чтобы, проходя через телефон, провайдеру приходили пакеты с TTL 64, либо на самом телефоне делать так, чтобы он не уменьшал TTL.

Если wi-fi клиент — дектоп-машина с Windows или MacOS, то выставить TTL 65 можно одной командой.

Windows

Создать в реестре ключ

типа REG_QWORD со значением 65 (в десятичной системе)

MacOS

Команда в консоле:

Но если клиент планшет на iOS или другое устройство, где нельзя просто так выставить TTL, то придется воспользоваться вторым способом — заставить телефон не уменьшать TTL для проходящих через него пакетов. Это может быть не совсем просто.

Учим телефон не уменьшать TTL

Этот способ потребует root-права (инструкция) на android-телефоне или jailbreak на iOS. Т.к. я делал это на Android, то опишу как делать для него. Про iOS здесь инструкции не будет.

Для разных устройств, процедура будет отличаться, я постараюсь рассказать в чем будут заключаться эти отличия. В данном примере я использую OnePlus 3 и Android 8.0 Oreo

Итак, у нас есть Android телефон с root-правами. Узнаем, умеет ли ядро системы работать с TTL. Для этого смотрим содержимое двух файлов на телефоне (например с помощью приложения ES Проводник, оно умеет смотреть системные файлы):

В обеих должно быть упоминание TTL. В моем случае в ip_tables_targets упоминания ttl не было. Это значит, что ядро не умеет изменять TTL. Чтобы его научить этому, нам понадобится из исходников собрать модуль ядра и загрузить его в телефон.

Как собрать модуль ядра

  • ОС — Linux или MacOS (можно собрать и на Windows — см.ниже)
  • исходники ядра для конкретного устройства
  • toolchain определенной версии и опредленной архитектуры

Я собирал модуль на Windows, но используя, Ubuntu-подсистему в Windows 10. Как ее включить я писал здесь. Если у вас не Win10, то придется ставить Ubuntu на VirtualBox-машину.

Для своего OnePlus 3 я брал исходники ядра здесь — https://github.com/OnePlusOSS/android_kernel_oneplus_msm8996 (msm8996 — это модель процессора Qualcomm Snapdragon 820 MSM8996). Исходники для Android 8.0 Oreo в ветке QC8996_O_8.0.0

Для других Oneplus-ов можно взять их рядом — https://github.com/OnePlusOSS. Для других моделей телефонов надо искать исходики где-то в интернете или на сайте производителя.

Toolchain — это утилиты для сборки кода под опредленную платформу. Узнать какая именно нужна для вашего телефона можно так:

В моем случае это aarch64 . Из этого вывода также понадобится версия gcc: 4.9 и версия ядра: 3.18.66-perf+

Далее идем сюда — https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/ и скачиваем нужный тулчейн. Версии для MacOS можно найти также по этой ссылке. В моем случае я скачал aarch64-linux-android-4.9 , здесь aarch64 и 4.9 совпадает с теми версиями которые мы узнали выше.

Теперь идем в консоль и готовимся к компиляции. Установим необходимые тулзы и склонируем репы с тулчейном и исходниками ядра в домашнюю папку:

В исходниках ядра смотрим в папку arch и подбираем нужную архитектуру. В моем случае в этой папке, нет aarch64 , но есть arm64 . Это то же самое, просто называется по другому. Буду использовать эту архитектуру. Указываем ее и путь до бинарей тулчейна в переменных окружения:

Теперь надо создать конфиг для будущей сборки. Возможные варианты конфигов в моем случае лежат в папке с исходниками ядра в arch/arm64/configs (вместо arm64 может быть ваша архитектура). Вспоминая версию ядра, которая установлена в телефоне, выбираю конфиг msm-perf_defconfig :

После того как конфиг создан, нам надо внести в него изменения, чтобы нужный нам модуль для фиксации TTL скомпилировался. Для этого выполняем:

Появится интерактиваная утилита, в которой нужно найти нужный модуль.

Переходя по дереву внутрь, и, найдя TTL Target support , нажать M, чтобы указать, что нужно скомпилировать этот модуль.

Сохраняем конфиг, выходим и собираем ядро с модулями:

Если ошибок не было, то в папке с исходниками должен появится файл net/netfilter/xt_HL.ko

Читать еще:  Как прошить модем теле 2

Вот мой скомпилированный файл для OnePlus 3, Android 8.0.0 — xt_HL.ko. Можно сразу взять его, если совпадает модель телефона и версия системы.

Копируем его на телефон, и через adb shell пытаемся включить его (чтобы в adb shell работал su, надо в /system/build.prop добавить строку ro.debuggable=1 , например с помощью ES Проводника):

Если модуль загрузился, можно пробовать зафиксировать TTL:

И наконец, добавляем в автозагрузку телефона скрипт, который будет включать фиксацию TTL:

Такой скрипт я положил в /sdcard/fixttl.sh , и с помощью приложения ScriptManager, добавил в автозагрузку.

Всё! Теперь с этого телефона можно раздавать интернет!

WiNdSeR › Блог › И снова эта ета или финишная прямая

Ну все таки я победил эту сеть)))

Сим карта ёта с тарифом для смарта 250р в месяц
Модем huawei 3272 c изменённым имей на смартфоновский)))
А так же измененной хайлинк прошивкой с фиксацией ttl
Роутер zyxel keenetic 4g II
Антенна кастом двойной биквадрат)
Высота мачты 10.5 метров
и что же братцы в итоге ? а и имеем вполне неплохой инет да еще и с вай фаем)

а да теперь о ценах
модем-300р-унлок прошивка бесплатно)))
роутер 1500 руб купил в комиссионке
материалы для антенны:
оцинковка, мачта — бесплатно)))
провод медный 6 квадратов 1 метр)) 16р
уголок строительный 20р
болтики гаечки 40р
крепеж для кабеля и стяжки 80 руб
кабель sat 703 — 350 руб самое пожалуй дорогое…
стеклотекстолит- 50р
коаксиальный кабель от ноута-бесплатно(выдрал из разбитого ноута)можно и от планшета взять)
радиопрозрачный лак, подогнал друг)

Комментарии 11

Как на модеме зафиксировать ttl имей сменил или надо прошифку с фиксированной TTL. У тебя раздача на любые устройства?

прошить это 4pda.ru/forum/dl/post/106…5.01.00.00_M_AT_05.10.rar
затем не вынимая 4pda.ru/forum/index.php?s…&view=findpost&p=46109908
в итоге модем станет хайлинк стиком роутеры zyxel отлично с ними дружат
а какая разница что за устройство если основным считается после модема роутер, соответственно его ttl=64(-1 на модем) и транслируется, после прошивки модифицированной сам модем фиксирует все исходящие пакеты с ttl=64.

Ссылка на прашивку удаленная, у тебя прошивка на компе не осталась, спасибо за информацию

Ссылки верные, нужно быть залогининым на сайте 4пда, для скачивания)

Как зафиксировать ttl e3372h в роутере keenetic 4g lll

у меня это реализованно путем самого модема

Как зафиксировать ttl e3372h в роутере keenetic 4g lll

Можно ещё так попробовать
Заходим параметры Ван порта, ставим галку не уменьшать ТТЛ
Модем должен быть определен роутером…
Затем ищем как отзывается модем…
Переходим параметры сохранить конфигурацию,
Сохранится файл вроде startup-config, открываем в блокноте и копируем команду что то вроде set ttl adgust +1, или что то такое под строку с названием модема что то типа cdc ethernet 1,
Сохранить файл, затем в морде роутера жмём загрузить конфигурацию и выбираем отредактированный файл, роутер перезагрузится и вроде всё)
Таким образом на модеме 64 на роутере 64-1(в модем)+1 поправка, тоже 64= нет палева раздачи, естественно не забываем про имей)

Что такое TTL и на что влияет «Время жизни пакета» на смартфоне и у маршрутизатора?

ВНИМАНИЕ! По последним данных от надежного источника стало известно, что не только TTL является причиной блокировки мобильного интернета. Если же вам нужна информация по ТТЛ для роутеров, и на что данный протокол влияет, то смотрите последнюю главу.

Всем доброго времени суток! Скорее всего ты зашел сюда для того, чтобы обойти блокировку мобильного оператора. Ведь с помощью именно TTL данные компании ловят за руку абонентов, который включили на своем телефоне режим точки доступа. Что такое TTL? Time To Live – это время жизни пакета во вселенной IP адресации.

Когда пользователь включает режим модема или точки доступа, то телефон начинает раздавать Wi-Fi вместе с интернетом. При подключении компьютера, ноутбука, телевизора, приставки или другого телефона (планшета) провайдер именно за счет TTL и понимает, что идет раздача интернета на другое устройство.

На данный момент этим грешат такие операторы как МТС, Билайн, YOTA, Теле2 и другие. Насколько я помню, только у Мегафона ограничения пока нет, но я могу ошибаться – поправьте меня в комментариях, если я не прав. Далее я расскажу, как узнать значение TTL, как его поменять и как обойти блокировку. Начнем с теории – советую её прочесть, чтобы вам в дальнейшем было все понятно.

Более подробно про TTL

Разберем на простом примере. У вас есть телефон, который при подключении к мобильному интернету оператора постоянно отправляет запросы. В каждом таком запросе есть значение TTL, которое по умолчанию равно 64 – на Android и iOS. У Windows Phone, насколько помню, это значение равно 130.

А теперь мы подошли к самой сути TTL. Как вы помните, TTL это время жизни пакета, а называется оно так, потому что при проходе через один узел или устройство, данное значение уменьшается на 1. В итоге компьютер, подключенный к вашему телефону будет отправлять запрос в интернет с TTL, который будет равен 127 (то есть минус 1). От подключённых телефонов ТТЛ будет равен уже 63.

Смена imei на Huawei E5172

Инструкция по смена imei Huawei E5172As-22 (смена imei Мегафон R100-1)

Актуально для брендовых модемных версий, в моем случае Мегафон R100-1 (E5172As-22). Вы должны приобрести код Nck, чтобы удалить привязку к оператору. Его можно приобрести по ссылке тут Мегафон R100-1. После получения кода вставьте SIM-карту другого оператора в модем, входим в веб-интерфейс модема и введите этот код по требованию (всего будет 10 попыток, после которых вы не сможете ввести код разблокировки).

Чтобы изменить IMEI и фиксации TTL, вам нужно установить модифицированную прошивку от Мегафона на базе V200R001C209SP100, это позволит вам узнать данные для авторизации на модеме по SSH (логин/пароль). Это невозможно сделать с родными прошивка от Huawei и мегафона.
Следует иметь в виду, что родную прошивку 208 от Huawei (и вероятно все более поздние) можно откатить или обновить только с помощью паяльника и JTAG, т.к. в них добавлена цифровая подпись.

0. Вставляем сим карту в модем. Это необходимо для правильного выполнения команд в терминале.

1. Загрузите мод.прошивку, она позволит узнать нам имя/пароль для доступа к устройству через SSH.

1.1. Заходим на web морду модема в «Главное->Обновление«, выбираем файл обновления предварительно распаковав его, т.е. нам нужен файл с расширением .bin, нажмите на кнопку «обновить«, прошивка занимает около 5 минут, подождите, после прошивки появится сообщение с просьбой повторно авторизоваться в вэбморде модема, делаем что просит.

1.2. Перейдите в пункт меню «Система->Диагностика» выбираем метод диагностики «Проверка системы«, жмем кнопку «Проверить«, подождите 2 минуты, пока тест не будет завершен и не отобразится таблица с параметрами. После этого жмем кнопку «Экспорт» и выгружаем полученный файл (diagnose.tar.bz2), распаковываем его и открываем распакованный файл sshusers.cfg, видим 2 строчки: первая это логин и пароль root-пользователя. Она то нам и нужна (например у меня admin:ADED0B71:0), соответственно имя admin пароль ADED0B71

2. Скачайте и запустите putty — программу для доступа к устройству через SSH, выберите IP-адрес вашего роутера, нажимаем кнопку Open (обычно это 192.168.0.1 — для прошивок от мегафона или 192.168.1.1 от huawei). Оставьте порт 22, в появившемся консольном окне вбиваем или вставляем прав. кл. мыши наши полученные на предыдущем шаге логин и пароль.

3. СМЕНА IMEI
После входа в роутер, чтобы получить командную строку, введите sh и нажмите enter, запустите терминал, интегрированный с командой lteat. В терминале последовательно выполните следующие команды:

если команда применяется, вы получите ОК
«v2 code» это код NCK-код (OEM-код) для разблокировки вашего модема, его можно получить выше в начале статьи.
Если после выполнения команды отображается ошибка » at command error! ret=-1 «, проверьте, правильно ли введен код NCK. Обратите внимание, что команды должны быть введены в кавычки.

если команда применялась верно, то получите OK
обычно рекомендуется использовать IMEI с телефонов WinPhone, для этого есть генератор IMEIGeneratorWinPhone

Проверяем новый IMEI в вэб-морде на закладке «Главная->О продукте«
Выйдите из терминала с помощью Ctrl + C

4. Фиксация TTL
Для фиксации используется команда: iptables -t mangle -A POSTROUTING -j TTL —ttl-set 64
Проблема в том, что после перезагрузки модема необходимо применить его снова. Чтобы автоматизировать этот процесс, вам нужно добавить скрипт, который будет запускать его при запуске системы. Для этого мы меняем имя файла, запускающего демон / службу телнета telnetd, который автоматически стартует при запуске и вместо него добавим наш скрипт, который также будет запускать и демон телнета.

Для этого нужно:

Если вы закрыли putty, то запускаем её и логинимся как на шаге 1.2, затем запускаем командную строку командой sh

4.1. Чтобы мы могли переименовать нужный файл и создать новый, нужно системный раздел сделать доступным для записи командой:
mount -o rw,remount /dev/block/mtdblock0

4.2. Переходим в каталог нахождения скрипта, с помощью команды cd system/atp/bin

4.3. Переименовываем telnetd в teld командой mv telnetd teld

4.4. Создаем сам скрипт командой cat > telnetd , копируем отсюда скрипт и вставляем правой кнопкой мыши в putty:

нажимаем сочетание клавиш Ctrl+C для выхода из редактора

4.5. Делаем созданный файл исполняемым командой: chmod +x telnetd

4.6. Перемонтируем системный раздел только для чтения командой: mount -o ro,remount /dev/block/mtdblock0 , перезагружаем модем.

4.7. После перезагрузки проверяем работу интернета. Также посмотреть встало ли ттл можно так: iptables -t mangle -L

ВНИМАНИЕ. Все действия вы делаете на свой страх и риск. Администрация сайта не несет ни какой ответственности за ваши действия. Смена IMEI не совсем законна! (пруфов нет). Следуя рекомендациям из этого топика, вы берете на себя всю ответственность за последствия.

Ссылка на основную публикацию
Adblock
detector