Как узнать ttl linux

Как узнать ttl linux

Добрый день уважаемые читатели блога, сегодня я хочу вас спросить, а умеете ли вы по команде пинг определить какое устройство или операционная система вам отвечает, если нет, то вы пришли по адресу и я вам расскажу еще одно назначение утилиты ping. Думаю данный материал, будет полезен как новичкам, так и продвинутым пользователям, особенно когда вы ищите причину неисправности в сети или сервисе, встречал много раз, что вы думаете, что вам отвечает один сервер, а на самом деле это другой, так как кто то, что то поменял и не задокументировал.

Значение ttl

Ранее я вам рассказывал про модель OSI, и там у сетевого пакета, есть такое значение TTL (Time To Life), если перевести, то это время жизни пакета. TTL это некий счетчик, который уменьшается на единицу, при прохождении сетевого пакета или как его еще называют, кадра через маршрутизатор, делается это для того, чтобы он, при невозможности найти пункт назначения, вечно не бегал по роутерам, создавая нагрузку и паразитный трафик.

Именно время жизни пакета (TTL) нам и поможет, определить кто там с другой стороны. У каждой операционной системы этот показатель свой, так например

  • Cisco TTL > равен 255
  • ttl windows > равен 128
  • Unix ttl > равен 64
  • Android и IOS Apple> 65
  • Lumia > 130

Как видите у всех он разный, и давайте разбираться, для примера я пропингую коммутатор Cisco, для этого открываем командную строку Windows, у вас может и linux быть.

Как видите значение ttl тут 255, что и показывает, что отвечает вам IOS у устройства Cisco, как видите команда ping отлично узнала операционную систему хоста с другой стороны.

Попробуем пропинговать unix систему, у меня например в локальной сети шлюзом выступает Kerio Control, на linux версии. Пингуем.

Как видите тут значение ttl равно 64, что означает unix платформу, так могут отвечать различные D-link устройства и другие домашние роутеры.

Давайте еще проверим Windows платформы, например у меня есть Windows 8.1 в локальной сети, сделаем пинг. И видите, что оно равно 128, как я и говорил.

Вот вам. тогда загадка, пингуем Windows Server 2012 R2, на нем есть веб сайт relay.aetp.ru. Что вы видите, а то что значение ttl равно 120, но в Windows же 128 по умолчанию идет, не стыковка 🙂

Все дело в хопах, помните в определении я вам говорил, что значение ttl уменьшается на единицу при следующем шаге и проходе через маршрутизаторы, давайте произведем трассировку до данного адреса.

Как видите сетевой пакет проходит не один хо до нужного адреса, и на определенных этапах он теряет от ttl по единичке. Все теперь вы знаете как узнать ttl windows.

Как изменить ttl windows

Давайте рассмотрим ситуацию, что вам нужно изменить ttl windows, поверьте бывают такие ситуации в жизни, примером может быть компания Yota, с ее дурацкой политикой ограничений Yota на раздачу Wi-Fi. Представим ситуацию, что взяли себе оператора Yota на телефон и решили раздать Wifi на ноутбук, но вы даже не знали подводных камней. в плане фильтрации пакетов со стороны Yota. Она жестко режет скорость, и режет она посредством значения ttl, оно должно быть 64, а если у вас дополнительное устройство, то это лишний хоп и значит ttl меньше, вот для обхода этой подставы с раздачей Wifi на ноутбук от Yota, мы и изменим ttl. Менять ttl мы будем в Windows 10, но данные действия подойдут и для Windows 7 и 8.1.

Читайте также:  Linux usb port reset

В итоге у вас откроется редактор реестра Windows. Вам нужно перейти в ветку реестра

В разделе вам нужно создать значение, все зависит от разрядности Windows, если 32 битная, то создаем параметр DWORD (32 бита), если 64 битная, то QWORD (64 бита). Я создаю QWORD.

эта лишняя единица, как раз и пойдет на лишний скачок через ваш телефон с ноутбука и Yota ничего не увидит, как видите изменить ttl windows 10, очень просто.

Как изменить ttl Ubuntu, Debian

И так с Windows мы уже научились, менять ttl, но не у всех стоит именно он, есть люди с Ubuntu например, давайте учиться как обойти ограничение на раздачу интернета через телефон на компьютер с Ubuntu на борту, в случае, если ваш оператор Йота, вы должны сделать несколько простых вещей.

1) Нажать одновременно Ctrl+Alt+T. Так вы вызовете терминал.

2) Ввести первую команду:

3) Попросит ваш пароль, вводим, жмем Enter, далее жмем i — это введет редактор vi в режим редактирования.

4) Вводим сам скрипт фиксирования TTL Ubuntu на значении 65, если у вас Android или iOS (у них стандартный TTL=64), если вы обладатель Люмии, где стандартный TTL равен 128, вам вместо 65 нужно прописать 129. Все это по простейшей формуле, ttl на компе должен быть на 1 больше, чем ttl на телефоне, с которого вы раздаете. Теорию я вам рассказал, а теперь сам скрипт:

5) Далее, для окончания редактирования жмем Esc. Потом сохраняем файл, зажимая Shift+ZZ.

6) Теперь необходимо проставить скрипту права на запуск:

7) Теперь последнее, добавляем все это дело в автозапуск:

8) Нажимаем Enter. Все будет делаться автоматически и без вашего участия.

Как изменить ttl MacOS

Ну и конечно, нельзя обижать яблочников 🙂 Для изменения ttl на mac делаем следующее

Идем в /Library/StartupItems. Открываем терминал и прописываем:

Создаем там папку (например, это будет yota). В терминале пишем: /Library/StartupItems> sudo mkdir yota

Идем туда. В терминал вставляем: /Library/StartupItems> cd yota/

4) Создаем там скрипт (он должен называться так же как и папка), который хотим выполнять.
Для создания скрипта в терминал вбиваем:
/Library/StartupItems/yota> sudo vim yota
И тут откроется редактор Vim! Сюда копируем сам скрипт:

# Скрипт смены ttl на Mac OS X:

И закрываем Vim с сохранением результата, вводим в виме (редакторе): yota

5) Создаем файл параметров StartupParameters.plist.
/Library/StartupItems/yota> sudo vim StartupParameters.plist

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

И опять закрываем Vim с сохранением результата, для этого вводим: w! StartupParameters.plist

6) Выставляем права на выполнение нашему скрипту.
/Library/StartupItems/fuckingyota> sudo chmod 755 yota

7) в итоге получаем: /Library/StartupItems/yota> ll

9) А сейчас, мы не будем перезагружать комп, а просто стартанем скрипт, чтобы убедиться в его работоспособности:
/Library/StartupItems/yota> sudo SystemStarter start fyota

Резюмируя мы с вами рассмотрели какие значения ttl у каждой операционной системы, рассмотрели для чего они. Мы научились менять ttl на самых распространенных системах, если есть вопросы пишите их в комментариях.

Источник

Как навсегда изменить время жизни пакета (TTL) в Ubuntu

В статье о времени жизни пакета был приведён пример изменения TTL в Windows. Сегодня поговорим о том, как поменять значение TTL по умолчанию в Ubuntu-подобных дистрибутивах Linux. Здесь основной нюанс заключается в следующем — поменять значение TTL просто, но нужно его ещё и сохранить.

Для того, чтобы проверить время жизни пакетов в Linux, достаточно также запустить ping localhost. По умолчанию в Linux TTL=64. Для изменения этого значения в Ubuntu и других похожих дистрибутивах используйте команду

Читайте также:  Mac os работа с закрытой крышкой

Конечно, можно указать и другое значение, кроме 65. На скриншоте ниже видно, что теперь команда ping отображает TTL=65.

Однако настройка TTL сбросится после перезагрузки. Для того, чтобы этого не происходило, нужно добавить данную настройку в автозагрузку. Производится эта настройка из-под пользователя root.

Помните, что постоянно работать под пользователем root нельзя. Используйте его только для настройки системы.

Нам нужно создать файл в каталоге /etc/sysctl.d, я дал ему имя 99_default_ttl.conf, но оно не обязательно должно быть именно таким. Для создания файла я использую удобную мне команду cat (подробнее о командах для создания файлов в Linux можно прочитать по этой ссылке):

После нажатия enter данные со стандартного ввода (т.е. с клавиатуры) будут перенаправлены в файл /etc/sysctl.d/99_default_ttl.conf. Введите нужную нам настройку, а именно:

и нажмите enter. Комбинации Ctrl + D или Ctrl + C запишут изменения в файл. Затем применяем настройки командой

На скриншоте ниже виден весь описанный тут процесс.

Как видите, значение TTL в команде ping также изменилось. И данная настройка сохранится после перезагрузки.

Источник

Артём Санников

Языки программирования
Базы данных
Программное обеспечение
Операционные системы
Мобильная разработка
Менеджеры пакетов
Сетевые технологии
CMS системы
Математика
SEO продвижение
Социальные сети
Психология
Хостинг провайдер
Смартфоны

Обход ограничений на раздачу интернета (фиксация TTL) в Ubuntu

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

Изначально условия тарифа звучат следующим образом: вы можете пользоваться интернетом в любое время суток и без ограничения трафика, но за раздачу интернет-соединения через Wi-Fi, Usb-модем или Bluetooth с вас будет списана абонентская плата в размере N рублей.

P.S: я пользуюсь услугами оператора МТС, и за раздачу интернета раньше снимали 30 рублей в сутки, теперь же снимают по 50 рублей.

Но как быть, если нужно раздать интернет по Wi-Fi, а лишних денежных средств на балансе нет? Всё очень просто! нужно зафиксировать значение TTL файла на определённом значении в операционной системе: Linux, Windows или Mac OS.

P.S.S: данная статья носит исключительно ознакомительный характер, я никого не призываю использовать данную информацию в практических целях.

Изменение значения TTL в операционной системе Ubuntu

Чтобы обойти ограничение на раздачу интернета через телефон на компьютер с Ubuntu на борту, в случае, если ваш оператор Йота, вы должны сделать несколько простых вещей.

1. Открываем терминал сочетанием клавиш Ctrl + Alt + T .

2. Вводим следующую команду от супер-пользователя:

3. Система потребует ввести пароль от учётной записи администратора, вводим его и нажимаем Enter . Далее жмем кнопку i — это укажет редактору vi, что нужно перейти в режим редактирования.

4. Сейчас мы должны ввести скрипт с учётом особенности операционной системы вашего смартфона. Если у вас Android или iOS — нужно указать значение TTL=65 (вместо 64), а если Windows — то указываем TTL=129 (вместо 128).

Почему значение на 1 больше? Всё очень просто, значение TTL на компьютере должно быть на 1 больше, чем значение TTL на телефоне, с которого вы раздаете.

Скрипт для обхода ограничений на раздачу интернета для Android и iOS:

Скрипт для обхода ограничений на раздачу интернета для Windows Phone:

5. Для завершения редактирования нажимаем Esc. Затем сохраняем внесённые изменения нажатием клавиш: Shift + ZZ (два раза нажать Z).

6. Присваиваем скрипту права на запуск:

7. Добавляем скрипт в автозапуск:

8. Нажимаем Enter .

Всё готово! Мы успешно зафиксировали значение TTL в операционной системе Ubuntu, и обошли ограничение операторов мобильной связи: МТС и Yota, на раздачу интернет соединения по Wi-Fi, Usb-модем b Bluetooth.

Читайте также:  Аналог ворд для линукс

Источник

Default TTL (Time To Live) Values of Different OS

TTL (Time To Live) is a timer value included in packets sent over networks that tells the recipient how long to hold or use the packet before discarding and expiring the data (packet). TTL values are different for different Operating Systems. So, you can determine the OS based on the TTL value. You can get the TTL value by pinging an address. Here is the output got by pinging «subinsb.com» on my system :

As you can see from the output, you got the TTL value. Since this website is hosted on a Red Hat system, it returned 57 which is close to 64 (TTL default value of Linux system). So, from this we can understand the OS of the remote system. Here are the default TTL values of different devices / Operating Systems :

Device / OS Version Protocol TTL
AIX TCP 60
AIX UDP 30
AIX 3.2, 4.1 ICMP 255
BSDI BSD/OS 3.1 and 4.0 ICMP 255
Compa Tru64 v5.0 ICMP 64
Cisco ICMP 254
DEC Pathworks V5 TCP and UDP 30
Foundry ICMP 64
FreeBSD 2.1R TCP and UDP 64
FreeBSD 3.4, 4.0 ICMP 255
FreeBSD 5 ICMP 64
HP-UX 9.0x TCP and UDP 30
HP-UX 10.01 TCP and UDP 64
HP-UX 10.2 ICMP 255
HP-UX 11 ICMP 255
HP-UX 11 TCP 64
Irix 5.3 TCP and UDP 60
Irix 6.x TCP and UDP 60
Irix 6.5.3, 6.5.8 ICMP 255
juniper ICMP 64
MPE/IX (HP) ICMP 200
Linux 2.0.x kernel ICMP 64
Linux 2.2.14 kernel ICMP 255
Linux 2.4 kernel ICMP 255
Linux Red Hat 9 ICMP and TCP 64
MacOS/MacTCP 2.0.x TCP and UDP 60
MacOS/MacTCP X (10.5.6) ICMP/TCP/UDP 64
NetBSD ICMP 255
Netgear FVG318 ICMP and UDP 64
OpenBSD 2.6 & 2.7 ICMP 255
OpenVMS 07.01.2002 ICMP 255
OS/2 TCP/IP 3.0 64
OSF/1 V3.2A TCP 60
OSF/1 V3.2A UDP 30
Solaris 2.5.1, 2.6, 2.7, 2.8 ICMP 255
Solaris 2.8 TCP 64
Stratus TCP_OS ICMP 255
Stratus TCP_OS (14.2-) TCP and UDP 30
Stratus TCP_OS (14.3+) TCP and UDP 64
Stratus STCP ICMP/TCP/UDP 60
SunOS 4.1.3/4.1.4 TCP and UDP 60
SunOS 5.7 ICMP and TCP 255
Ultrix V4.1/V4.2A TCP 60
Ultrix V4.1/V4.2A UDP 30
Ultrix V4.2 – 4.5 ICMP 255
VMS/Multinet TCP and UDP 64
VMS/TCPware TCP 60
VMS/TCPware UDP 64
VMS/Wollongong 1.1.1.1 TCP 128
VMS/Wollongong 1.1.1.1 UDP 30
VMS/UCX TCP and UDP 128
Windows for Workgroups TCP and UDP 32
Windows 95 TCP and UDP 32
Windows 98 ICMP 32
Windows 98, 98 SE ICMP 128
Windows 98 TCP 128
Windows NT 3.51 TCP and UDP 32
Windows NT 4.0 TCP and UDP 128
Windows NT 4.0 SP5- 32
Windows NT 4.0 SP6+ 128
Windows NT 4 WRKS SP 3, SP 6a ICMP 128
Windows NT 4 Server SP4 ICMP 128
Windows ME ICMP 128
Windows 2000 pro ICMP/TCP/UDP 128
Windows 2000 family ICMP 128
Windows Server 2003 128
Windows XP ICMP/TCP/UDP 128
Windows Vista ICMP/TCP/UDP 128
Windows 7 ICMP/TCP/UDP 128
Windows Server 2008 ICMP/TCP/UDP 128
Windows 10 ICMP/TCP/UDP 128

I will update this table in the future when there’s a release of new important OS whenever I get the time. You can get the short version of default TTL values by this table :

Device / OS TTL
*nix (Linux/Unix) 64
Windows 128
Solaris/AIX 254

You can find it yourself by pinging localhost as mentioned by Gurubaran :

Источник

Оцените статью