Как сделать автоматическую смену ttl при запуске Mac?
Автоматическое изменение TTL при запуске Mac OS X:
1) В программе «TextEdit» создаем новый файл и прописываем там строчку:
Убедитесь что расширение файла поменялось на «.conf».
Для этого снимите галочку «скрыть расширения» в свойствах файла «sysctl.conf».
3) Теперь необходимо перенести этот файл в корень системного диска, в папку «etc»
Для этого — переходим в «Finder» и нажмите следующее сочетание клавиш (cmd+shift+G) в появившемся окне пишем:
(нажимаем кнопку «перейти»)
4) Открываем приложение «Терминал», пишем:
5) В самом начале текста вставляем строку:
- Нажимаем сочетание клавиш:
— Ctrl ⌃ + O. Enter — Чтобы сохранить
— Ctrl ⌃ + X. — Чтобы выйти
(Внизу окна подсказки команд)
6) Закрываем терминал, перезагружаем MacOS
7) После перезагрузки проверяем что «ttl» измененяется автоматически. Запускаем «Терминал» и прописываем следующие команды:
Как без ограничений пользоваться мобильным интернетом на macOS.
Hola! Хитрые операторы мобильной связи представляют широкую линейку безлимитных тарифов, но с условием, что пользоваться интернетом вы будете только на мобильном устройстве. Однако, операторские «ограничения» работают на одной технологии обнаружения раздачи сети. Все дело в таком параметре, как значение TTL оконечного, подключенного устройства.
TTL (Time To Live) — число итераций или переходов, за который набор данных может существовать до своего исчезновения. — Это сложно, не будем глубоко вдаваться. На простом примере: есть телефон с значением TTL — 64 и есть другой телефон, с таким же значением по умолчанию (либо 64, либо 128), так вот, при раздачи интернета, значение подключаемого устройства к раздающему будет уменьшено на 1 пункт и станет равным TTL — 63. Таким образом, операторы связи фиксируют раздачу интернета и ограничивают доступ. Все что нам необходимо сделать — это изменить значение TTL у подключаемого устройства на +1 пункт, то есть изменить значение с 64 до 65.
Чтобы изменить значение TTL на macOS (по умолчанию 64), необходимо выполнить следующее:
- 1. Открываем программу «Терминал» (можно найти, используя поиск), в окне терминала, вводим следующую команду: sudo sysctl -w net.inet.ip.ttl=65
- 2. Нажимаем: « Enter »
- 3. Теперь, вам необходимо в окне терминала прописать ваш пароль от учетной записи пользователя mac (вслепую, символы отображены не будут, не пугайтесь)
- 4. Готово! Значение TTL изменено, проверяем! Все работает!
Вот таким, несложным способом, мы обошли ограничения, кстати, еще и сэкономили, ведь чаще всего, услуга раздачи доступа в интернет — платая. Всем добра и свободного доступа в сеть без ограничений!😊
// После перезагрузки mac, установленное значение TTL остается неизменным.😌🙃
Автоматизация и программирование
Сегодня немного отойду от темы автоматизации и расскажу о том, как обойти ограничения на раздачу интернета:) Думаю тема актуальная, так как в интервью с управляющими компаний операторов они обмолвились, что основная прибыль у них идёт за счёт интернет трафика.
Задача:
Обойти ограничение раздачи интернета с телефона и подключить к интернету свой ПК на Windows и на Mac OS X. При этом не устанавливая root на свой телефон и других примочек.
Теория:
Пропустите этот пункт, если вам не интересно как это работает, и хочется приступить к делу.
Итак, в передаче данных существует такое понятие как TTL (Time To Live). TTL — это предельный период времени или число итераций или переходов, за который набор данных (пакет) может существовать до своего исчезновения [https://ru.wikipedia.org/wiki/Time_to_live]. Грубо говоря, это численный параметр пакета исходящих данных, который характеризует, сколько раз ваш пакет данных может пройти через маршрутизаторы/сервера. По умолчанию эта величина в ОС Windows = 128 , а в остальных системах 64 (*nix, android, iOS).
Когда вы отправляете запрос на какой-либо сервер, к примеру вводите адрес сайта google.ru, то от вас посылается пакет данных, с вашим IP, в начале которого прописан TTL=128 (если вы на ПК под Winndows). Первый сервер, через который пройдет ваш пакет — это сервер вашего провайдера (если с телефона,то оператора). Он перенаправляет ваш пакет на следующий сервер и снижает TTL пакета на единицу. Если он так и не доходит до нужного сервера пакет данных «погибает».
А теперь представим, что вы с телефона. Провайдер получает от вас пакеты с TTL= 64 и уходят они от него уже с TTL=63.
Предположим, что вы подключились к своему телефону через ПК. В таком случае ваш телефон работает, как маршрутизатор и тоже снижает TTL ваших пакетов на единицу. И внезапно оператор получает пакет с TTL не 64 (с вашего телефона), а с TTL = 63 , так как вы уже прошли через один маршрутизатор (телефон). Тут он понимает, что вы играете не по «тарифу», и убивает пакет ваших данных, отправляя вам сообщение о том, что 1 час раздачи интернета равен 50 рублям, а целый день 150 рублям.
Вот так это и работает. Более подробное описание здесь. Картинки взяты оттуда же.
Как вы уже, возможно, догадались, изменив TTL на одном из устройств можно скрыть разницу между ними. К примеру, если в исходящих пакетах подключенного к телефону ПК будет прописан TTL = 65, то проходя через мобильный, TTL снизится до 64, и будет таким же как и у пакетов мобильного. Поэтому оператор не сможет отличить ваш телефон и ПК.
Изменяем TTL на ПК под WINDOWs:
Прежде всего нам потребуется зайти в пуск и найти утилиту «Выполнить» (пропишите в строке поиска). Открываем и в появившейся строке введём команду regedit.
Далее в открывшемся окне надо перейти по следующему пути в левом окне: HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
В правом окне кликаем правой кнопкой по области и выбираем — > Создать -> Новый параметр DWORD (32 бита) -> Называем его «DefaultTTL» .
Кликаем правой кнопкой по новому параметру -> Изменить -> На системе исчисления ставим точку «Десятичная» , в поле значение прописываем (ТТL 65).
Нажимаем «ОК» и перезагружаемся. После перезагрузки включаем на телефоне хотспот (раздаем wifi). Подключаемся к нему через свой ПК и всё. Если будет интересно, настроить свой телефон так, чтобы к нему могли подключаться все устройства с TTL 64, то пишите в комментариях — напишу об этом позже.
Изменяем TTL на MAC OS X с автозапуском
Напоминаю еще раз, все, что описано в этой статье требует root прав.
1) Идем в /Library/StartupItems. Открываем терминал и прописываем:
2) Создаем там папку (например, это будет autottl). В терминале пишем:
sudo mkdir autottl
3) Идем туда. В терминал вставляем: cd autottl/
4) Создаем там скрипт (он должен называться так же как и папка), который хотим выполнять.
Для создания скрипта в терминал вбиваем:
sudo vim autottl
И тут откроется редактор Vim! Сюда копируем сам скрипт:
#!/bin/sh
sudo sysctl -w net.inet.ip.ttl=65
И закрываем Vim с сохранением результата, вводим в виме (редакторе): :w! autottl
5) Создаем файл параметров StartupParameters.plist.
sudo vim StartupParameters.plist
И тут опять откроется редактор Vim! Сюда копируем содержание файла параметров:
<
Description = ‘Add static routing tables’;
Provides = (‘autottl’);
Requires = (‘Network’);
OrderPreference = ‘None’;
>
И опять закрываем Vim с сохранением результата, для этого вводим: :w! StartupParameters.plist
6) Выставляем права на выполнение нашему скрипту.
sudo chmod 755 autottl
7) Смотрим, что получилось в итоге:
9) А сейчас, мы не будем перезагружать комп, а просто стартанем скрипт, чтобы убедиться в его работоспособности:
sudo SystemStarter start autottl
10) Лезем в браузер, проверяем и получаем профит!
Изменение значения TTL
Image of optical fibers with binary codes
В некоторых жизненных ситуациях вам, как пользователю интернета возможно прийдется изменить значение TTL на нестандартное. Для чего это может пригодиться я писать не буду, опишу лишь как это значение изменить.
Что такое TTL ?
Начнём с того, что у каждого пакета данных, передаваемого с любого нашего устройства, будь то ноутбук, смартфон, планшет, есть особый параметр, называемый «TTL». Расшифровывается он как «Time To Live», или время жизни IP пакета.
TTL, задаваемое пакету по умолчанию, разное у каждого устройства. К примеру, телефоны на iOS и Android имеют default TTL = 64, компьютер на ОС Windows имеет TTL = 128, а на Mac OS так же как и на iOS TTL = 64. С помощью команд указаных ниже мы увеличим значение TTL на +1.
Меняем TTL на Windows.
1. Вызываем окно «Выполнить«. Для этого жмём сочетание клавиш Win+R. В этом окне вводим regedit и жмём OK.
2. Мы попадаем в редактор реестра. Идём по следующему пути: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters
3.Здесь нам нужно кликнуть правой кнопкой мыши по полю справа, и выбрать «Создать —>Параметр DWORD(32 бита)»
4. Имя параметру задаём — «DefaultTTL». Щёлкаем 2 раза по созданному параметру, выбираем Десятичную систему исчисления, и вводим значение 65.
5. Также создаём параметр DefaultTTL=65 для соседней ветки реестра — HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6
Готово, TTL на компьютере изменён! Перезагружаем компьютер.
Меняем TTL на Mac OS
В данном случае у вас есть 2 варианта. Я предпочитаю первый.
Временное изменение значение TTL в Mac OS X (после перезагрузки TTL восстанавливается на дефолтное 64):
1. Открываем Терминал
2. Вводим команду: