Добавить в корзинуПозвонить
Найти в Дзене

mtr - диагностика сети, которая показывает правду

Ситуация: сайт не открывается или работает медленно. ping говорит, что хост доступен. traceroute показывает маршрут, но не даёт понять, где именно проблема. Что делать? mtr (My TraceRoute) объединяет ping и traceroute в одной утилите. Она показывает каждый узел на пути к серверу и статистику по потерям пакетов и задержкам на каждом из них. В реальном времени. Базовый запуск: mtr google.com Запускается интерактивный интерфейс, который обновляется в реальном времени. Вариант 1 (Запуск в режиме отчёта): mtr -r -c 100 google.com -r - режим отчёта (без интерактива), -c 100 - 100 пакетов. На выходе - готовая статистика для анализа или отправки провайдеру. Вариант 2 (Только потеря пакетов, без графики): mtr -r -c 50 --report-wide google.com --report-wide расширяет вывод, чтобы IP-адреса не обрезались. Вариант 3 (Ограничить количество прыжков): mtr --max-ttl 10 google.com Проверить только первые 10 узлов, если проблема явно недалеко от вас. Вариант 4 (Использовать TCP вместо ICMP): mtr -

mtr - диагностика сети, которая показывает правду

Ситуация: сайт не открывается или работает медленно. ping говорит, что хост доступен. traceroute показывает маршрут, но не даёт понять, где именно проблема. Что делать?

mtr (My TraceRoute) объединяет ping и traceroute в одной утилите. Она показывает каждый узел на пути к серверу и статистику по потерям пакетов и задержкам на каждом из них. В реальном времени.

Базовый запуск:

mtr google.com

Запускается интерактивный интерфейс, который обновляется в реальном времени.

Вариант 1 (Запуск в режиме отчёта):

mtr -r -c 100 google.com

-r - режим отчёта (без интерактива), -c 100 - 100 пакетов. На выходе - готовая статистика для анализа или отправки провайдеру.

Вариант 2 (Только потеря пакетов, без графики):

mtr -r -c 50 --report-wide google.com

--report-wide расширяет вывод, чтобы IP-адреса не обрезались.

Вариант 3 (Ограничить количество прыжков):

mtr --max-ttl 10 google.com

Проверить только первые 10 узлов, если проблема явно недалеко от вас.

Вариант 4 (Использовать TCP вместо ICMP):

mtr --tcp --port 443 google.com

Некоторые сети блокируют ICMP (обычные ping-запросы). TCP-мод обходит это ограничение. --port 443 проверяет доступность конкретного порта (например, HTTPS).

Вариант 5 (Сохранить результат в файл и смотреть позже):

mtr --report google.com > report.txt

Удобно, когда нужно показать кому-то или сравнить два разных маршрута.

Как читать вывод `mtr`:

- Loss% - процент потерянных пакетов на узле. Если потери начинаются на каком-то узле и продолжаются на всех следующих - проблема именно на этом узле или на пути к нему.

- Snt - количество отправленных пакетов.

- Last / Avg / Best / Worst / Stdev - задержки в миллисекундах. Если на каком-то узле время резко скачет (например, с 20 мс до 200 мс), а на следующих узлах снова падает - это может быть нормальным поведением маршрутизатора (он обрабатывает ICMP в фоне). Но если тряска остаётся - есть проблема.

Важный нюанс: потери на промежуточных узлах не всегда означают проблему. Многие маршрутизаторы имеют низкий приоритет для ICMP-запросов и могут их отбрасывать, но обычный трафик (HTTP, SSH) пропускать без потерь. Ориентируйтесь на финальный узел: если на нём потерь нет - всё в порядке.

Возможные сценарии использования:

- Провайдер говорит «у нас всё работает» - запускаете mtr, видите 50% потерь на его оборудовании, отправляете отчёт. Слова заканчиваются.

- Сайт тормозит, но не падает - mtr показывает высокую задержку на одном из узлов за пределами вашей сети. Проблема не у вас.

- Выбираете хостинг - запускаете mtr до нескольких потенциальных хостов, сравниваете пинг и стабильность маршрута.

- VPN тормозит - mtr до конечного сервера показывает, где именно теряются пакеты (на входе в VPN или на выходе).

Что `mtr` не умеет: показывать проблемы на обратном пути (от сервера к вам). Для этого нужен mtr с той стороны.

P.S. В интерактивном режиме доступны горячие клавиши: r - перезапуск, d - переключить отображение, q - выход.

👉🏻 Я в Telegram - https://dzen.ru/id/686102a27e39653c3429f77f

👉🏻 Я в VK - vk.com/helcode

👉🏻 Я на Boosty - boosty.to/helcode