TTL - це що таке?
TTL — що це таке? TTL розшифровується як Time to Live. Тобто час життя пакету, відведений йому в момент переходу від початкового до кінцевого вузла. У стандарті IPv4 для відображення TTL виділено восьмиразрядное поле в заголовку. Проходячи через численні вузли до адресата, значення пакету кожен раз зменшується на 1 одиницю. Це зроблено з метою обмежити час його присутності у вузлах конкретним числом. А це, в свою чергу, дозволяє уникнути перевантажень в мережах. За задумом авторів технології, час життя пакету втрачає 1 одиницю кожну секунду. Але завдяки високим швидкостям з'єднання і кількістю маршрутизаторів і вузлів зменшення відбувається набагато швидше.
Що станеться, якщо значення TTL досягне нуля? Пакет зникне, і відправник отримає повідомлення про те, що час життя його минуло, а значить, потрібно спробувати знову. Максимальне значення, яке здатне відобразити восьмиразрядное поле, становить 255. Для операційних систем є значення за замовчуванням. Наприклад TTL Windows дорівнює 128 а в Linux і похідних — Mac, Android — 64. У середовищі DNS є свій TTL, і він відображає актуальність кешованих даних. Але мова в статті буде не про нього.
Для прикладу можна описати процес роботи смартфона на базі "Андроїда". Пристрій надсилає запит на отримання даних з певного сайту. Разом з ним надсилається TTL, значення якого 64. Провайдер знає, що це стандартна для даного пристрою цифра часу життя пакету, тому вільно дозволяє йому отримувати доступ до Мережі. Тепер пристрій починає роздавати Wi-Fi і стає свого роду маршрутизатором. Підключився смартфон працює на платформі Windows, і його TTL, пройшовши через раздающее пристрій, буде 127. Провайдер зустріне цей пакет і зрозуміє, що його інтернет лунає. Тому і заблокує содиненение.
Програма безкоштовна, і її легко можна знайти в офіційному магазині Google Play. Однак для її функціонування потрібні права root на пристрої. Інтерфейс програми простий — у верхній частині відображено поточне значення параметра. Трохи нижче розташовані заготовки для операційних систем Windows та інших. Також можна встановити бажане значення вручну. Трохи нижче знаходиться кнопка з можливістю перейти з програми відразу в налаштування модему. В деяких версіях доступно рішення через iptables, для чого є певний пункт. У налаштуваннях є можливість встановити запуск і зміну часу життя автоматично при завантаженні пристрою. Деякі версії "Андроїда" дозволяють зробити відразу після зміни значення запуск точки доступу. Є підтримка російської мови. Додаток постійно розвивається і вдосконалюється. Є профіль на github, в якому всі бажаючі можуть ответвиться і додавати свої можливості в проект. Якщо їх приймуть розробники, то вони ввійдуть у наступний реліз. Також можна спробувати метод зміни системних файлів вручну для зміни значення часу життя пакету. Для цього потрібні root-права. Спочатку треба перейти в режим польоту, тобто зробити так, щоб телефон втратив Мережу. Потім скористатися будь-яким провідником, який здатний редагувати файли. У ньому треба перейти по шляху proc/sys/net/ipv4. У цьому каталозі цікавить файл з ім'ям ip_default_ttl. Він містить значення 64 яке потрібно змінити на 63. Далі потрібно вивести телефон з режиму польоту, щоб він знову зареєструвався в Мережі. Тепер можна роздати бездротовий інтернет і спробувати підключити пристрій на базі iOS або "Андроїда", тобто з TTL 64. Якщо необхідно використовувати в якості одного з клінетов ПК з Windows, то потрібно буде встановити постійне значення часу життя пакету способом, описаним нижче.
Запуск реєстру в лінійці операційних систем можна здійснити через пункт меню «Пуск», «Виконати». У ньому треба ввести Regedit і натиснути ОК. У вікні з'являться дві області. У лівій знаходиться деревовидна структура, а в правій - значення. Потрібно знайти гілку HKEY_LOCAL_MACHINE SYSTEMCurrentControlSetServicesTcpipparameters. Для Windows 8 Tcpip може бути замінений на Tcpip6. У вікні зі значеннями треба створити нове. Це робиться клацанням правою кнопкою миші. У контекстному меню вибирається «Створити», потім новий DWORD, і присвоюється назва Default TTL. Що це? Це буде статичний параметр для постійного значення часу життя. Потім знову клацання правою кнопкою миші і вибрати «Змінити». Тип числення повинен бути дійсним, а значення — 65. Таким чином, система буде передавати час життя пакету в 65 тобто на один більше, ніж у "Андроїда". Тобто, проходячи крізь смартфон, він втратить одну одиницю, і провайдер не помітить каверзи. Після внесених змін потрібно перезавантажити комп'ютер. Тепер можна роздавати інтернет на "Андроїд", не використовуючи спеціальних програмних засобів і пристосувань.
Що станеться, якщо значення TTL досягне нуля? Пакет зникне, і відправник отримає повідомлення про те, що час життя його минуло, а значить, потрібно спробувати знову. Максимальне значення, яке здатне відобразити восьмиразрядное поле, становить 255. Для операційних систем є значення за замовчуванням. Наприклад TTL Windows дорівнює 128 а в Linux і похідних — Mac, Android — 64. У середовищі DNS є свій TTL, і він відображає актуальність кешованих даних. Але мова в статті буде не про нього.
Для чого застосовується TTL і в яких сферах
Час життя пакету активно використовують різні провайдери інтернету, наприклад Yota. Тим самим вони намагаються обмежити доступ до надмірного споживання трафіку при роздачі Wi-Fi. Це відбувається за рахунок того, що пакет, переходячи від пристрою, що отримує трафік на раздающее, зменшує TTL, в підсумку до провайдера приходить значення менше або у випадку з Windows більше очікуваного.Для прикладу можна описати процес роботи смартфона на базі "Андроїда". Пристрій надсилає запит на отримання даних з певного сайту. Разом з ним надсилається TTL, значення якого 64. Провайдер знає, що це стандартна для даного пристрою цифра часу життя пакету, тому вільно дозволяє йому отримувати доступ до Мережі. Тепер пристрій починає роздавати Wi-Fi і стає свого роду маршрутизатором. Підключився смартфон працює на платформі Windows, і його TTL, пройшовши через раздающее пристрій, буде 127. Провайдер зустріне цей пакет і зрозуміє, що його інтернет лунає. Тому і заблокує содиненение.
Можливості зміни TTL на різних пристроях
Зміна значення часу життя пакету може стати в нагоді для обходу блокування трафіку провайдером. Наприклад, якщо відключили кабельне підключення, а користувачеві потрібно терміново вийти в інтернет з комп'ютера. Тоді смартфон стає точкою доступу і виводить ПК в мережу. Варто відзначити, що деякі провайдери блокують доступ не тільки за TTL, але і відстежують відвідування сайтів. І якщо ресурс ніяк не пов'язаний зі смартфоном, тобто не потрібен йому, з'єднання обривається. Змінити TTL можна кількома способами, які будуть описані далі.Зміна TTL на пристроях на платформі Android
Найпростішим способом зміни час життя пакету на пристрої Android буде використання спеціалізованого програмного забезпечення. Наприклад, дуже ефективний продукт — TTL Master. Він може змінити час життя пакету роздає апарату на те, яке виходить в результаті проходу даних. Наприклад, при роздачі Wi-Fi на пристрій з Windows потрібно встановити значення 127 а на Андроїд або Linux — 63.Програма безкоштовна, і її легко можна знайти в офіційному магазині Google Play. Однак для її функціонування потрібні права root на пристрої. Інтерфейс програми простий — у верхній частині відображено поточне значення параметра. Трохи нижче розташовані заготовки для операційних систем Windows та інших. Також можна встановити бажане значення вручну. Трохи нижче знаходиться кнопка з можливістю перейти з програми відразу в налаштування модему. В деяких версіях доступно рішення через iptables, для чого є певний пункт. У налаштуваннях є можливість встановити запуск і зміну часу життя автоматично при завантаженні пристрою. Деякі версії "Андроїда" дозволяють зробити відразу після зміни значення запуск точки доступу. Є підтримка російської мови. Додаток постійно розвивається і вдосконалюється. Є профіль на github, в якому всі бажаючі можуть ответвиться і додавати свої можливості в проект. Якщо їх приймуть розробники, то вони ввійдуть у наступний реліз. Також можна спробувати метод зміни системних файлів вручну для зміни значення часу життя пакету. Для цього потрібні root-права. Спочатку треба перейти в режим польоту, тобто зробити так, щоб телефон втратив Мережу. Потім скористатися будь-яким провідником, який здатний редагувати файли. У ньому треба перейти по шляху proc/sys/net/ipv4. У цьому каталозі цікавить файл з ім'ям ip_default_ttl. Він містить значення 64 яке потрібно змінити на 63. Далі потрібно вивести телефон з режиму польоту, щоб він знову зареєструвався в Мережі. Тепер можна роздати бездротовий інтернет і спробувати підключити пристрій на базі iOS або "Андроїда", тобто з TTL 64. Якщо необхідно використовувати в якості одного з клінетов ПК з Windows, то потрібно буде встановити постійне значення часу життя пакету способом, описаним нижче.
Зміна TTL на комп'ютері з операційними системами Windows
Якщо потрібно роздати інтернет зі смартфона "Андроїд" на комп'ютер під керуванням Windows, то доведеться трохи підкоригувати значення реєстру. Цей спосіб буде актуальний, коли телефон не має рут і обійти блокування на ньому не виходить.Запуск реєстру в лінійці операційних систем можна здійснити через пункт меню «Пуск», «Виконати». У ньому треба ввести Regedit і натиснути ОК. У вікні з'являться дві області. У лівій знаходиться деревовидна структура, а в правій - значення. Потрібно знайти гілку HKEY_LOCAL_MACHINE SYSTEMCurrentControlSetServicesTcpipparameters. Для Windows 8 Tcpip може бути замінений на Tcpip6. У вікні зі значеннями треба створити нове. Це робиться клацанням правою кнопкою миші. У контекстному меню вибирається «Створити», потім новий DWORD, і присвоюється назва Default TTL. Що це? Це буде статичний параметр для постійного значення часу життя. Потім знову клацання правою кнопкою миші і вибрати «Змінити». Тип числення повинен бути дійсним, а значення — 65. Таким чином, система буде передавати час життя пакету в 65 тобто на один більше, ніж у "Андроїда". Тобто, проходячи крізь смартфон, він втратить одну одиницю, і провайдер не помітить каверзи. Після внесених змін потрібно перезавантажити комп'ютер. Тепер можна роздавати інтернет на "Андроїд", не використовуючи спеціальних програмних засобів і пристосувань.
Зміна на Linux
Як здійснюється зміна TTL на комп'ютері з операційними системами Linux? Для Linux зміна часу життя пакета змінюється рядком у терміналі: sudo iptables -t mangle -A POSTROUTING -j --TTL ttl-set 65Зміна часу життя пакету на модемах
Змінити TTL модему можна з допомогою зміни IMEI. Це такий ідентифікаційний код, унікальний для кожного пристрою, що має доступ до стільникових мереж. Вся проблема в тому, що універсального способу немає. Це пов'язано з тим, що для кожного окремо взятого модему повинна бути своя прошивка, яка змінить IMEI. На сайті 4PDA є добірка рішення для зміни часу життя на модеми різних виробників і моделей. Також там можна знайти докладні реалізації даної задачі.Зміна часу життя пакету на iOS
З допомогою твіка TetherMe можна змінити на iOS TTL. Що це таке? Це deb-додаток, яке розблокує режим модему на пристроях з iOS на борту. Справа в тому, що Apple дозволяє деяким операторам стільникового мережі блокувати функцією "Режим модему" на рівні сімки. Цей додаток дає можливість активувати і використовувати телефон в якості модему.Зміна TTL MacOS
MacOS за замовчуванням має часом життя 64. Якщо потрібно його змінити, потрібно в терміналі ввести команду: sudo sysctl -w net.inet.ip.ttl=65. Однак при такому підході значення після перезавантаження знову зміниться на 64. Тому необхідно виконати ряд маніпуляцій. В корені диску існує каталог etc. Він прихований, але в нього потрібно потрапити. Там створюється файл sysctl.conf. У ньому потрібно прописати всього одну сходинку — net.inet.ip.ttl=65. Ну і природно, зберегти. Для відображення прихованого папки в Findere треба перейти в основний диск і натиснути поєднання клавіш cmd+shift+G. У вікні вводиться ім'я потрібної папки, після чого вона знайдеться.Висновки
Існує таке поняття, як USB TTL конвертер. Однак до контексту статті він не має ніякого відношення, і не варто плутати його з часом життя пакету. USB TTL конвертер — свого роду перехідник для створення з'єднань між пристроями USB і логікою TTL. У статті було детально пояснено про TTL — що це таке і для чого потрібен. Кілька способів її зміни дозволять обійти обмеження блокування трафіку на деяких провайдерів. Це дає можливість використовувати інтернет повсюдно. Реалізація на різних пристроях відрізняється, можна зробити це з допомогою програмних засобів, так і змінюючи системні файли вручну. Деякі модеми доведеться прошивати, причому під кожен свою версію. Даними інструкціями можна обійти блокування багатьох провайдерів, що надають доступ в інтернет за допомогою стільникової мережі.Цікаво по темі
Як роздавати інтернет з телефону на телефон на Android, iOS і Windows Mobile
Бувають ситуації, коли необхідно терміново підключитися до інтернету через ноутбук, але модему або ...
Обхід обмеження Yota на роздачу: покрокова інструкція
Поява у мобільних операторів тарифів з безлімітним інтернетом порадувало користувачів. Це особливо ...
Як на «Андроїд» збільшити швидкість Інтернету: три простих методи
Хоча "Андроїд-системи", що встановлюються на смартфонах і планшетах, і вважаються досить стабільними і в деякому роді навіть «просунутими», на них
Файрвол для «Андроїда»: типи додатків і їх можливості
Захист від стеження або збереження конфіденційності абсолютно для всіх комп'ютерних і мобільних пристроїв є нагальною проблемою. Для цього