Привет, сетевой друг!
Сегодня разберём, как использовать TTL (Time To Live)🟣Что такое TTL: Это поле в IP-заголовке, которое ограничивает «время жизни» пакета. Каждый маршрутизатор по пути уменьшает TTL на 1. Когда TTL достигает 0 - пакет отброшен, и в ответ прилетает ICMP Time Exceeded.
🟣Диагностика с traceroute: traceroute (или tracert) как раз основывается на TTL. Он отправляет пакеты с TTL от 1 до N, чтобы увидеть каждый hop до назначения. Если маршрут рвётся - можно понять, где именно.
🟣TTL как антиспуфинг: Если знаешь, что клиент должен быть на 5 hop’е, но TTL в пакете = 64 — всё нормально. А если вдруг 62 или 58 — значит, кто-то подменяет IP и идёт из другой точки сети.
🟣TTL и обход фаерволов: Некоторые используют низкий TTL (например, 1–2), чтобы обойти L7-фильтры, т.к. такие пакеты не доходят до цели, но всё же попадают в лог или обработку сетевого ПО.
🟣TTL как сигнатура ОС: Разные ОС по умолчанию используют разный начальный TTL:
Linux — 64, Windows — 128, Cisco — 255. Это помогает в пассивной атрибуции.
🟣А для диагностики задержек и потерь на конкретных hop’ах используй:
mtr example.com
Это живой traceroute + ping, показывает колебания и потери на каждом узле.
Серверная Админа | #Network
