Linux. Утилита mtr
27.10.2023
Теги: CLI • Linux • Команда • ЛокальнаяСеть • Маршрутизация
Утилита mtr — инструмент сетевой диагностики командной строки, который объединяет функциональность traceroute и ping. Как и traceroute, утилита mtr выводит информацию о маршруте, показывает список маршрутизаторов, через которые проходит пакет. Но показывает больше информации — количество отправленных пакетов, процент потери пакетов, время задержки на каждом маршрутизаторе.
$ mtr tokmakov.msk.ru
Поле Loss% показывает процент потери пакетов на каждом прыжке. В поле Snt подсчитывается количество отправленных пакетов. Следующие четыре поля представляют собой измерения задержки в миллисекундах. Last — задержка последнего отправленного пакета, Avg — средняя задержка всех пакетов, а Best и Wrst отображает лучшее (самое короткое) и худшее (самое длинное) время прохождения туда и обратно пакета до этого хоста.
Столбец StDev — стандартное отклонение времени задержки, рассчитывается по формуле Standard Deviation. Поля StDev и Avg напрямую связаны друг с другом — если в StDev наблюдается большое отклонение, то Avg не будет истинным. В этом случае стоит ориентироваться по наименьшему и наибольшему времени задержки.
Опция -n предназначена для отображения реальных ip-адресов вместо имён хостов.
$ mtr -n tokmakov.msk.ru
Опция -c задает количество отправленных пакетов, после которых утилита завершает работу.
$ mtr -c5 tokmakov.msk.ru
Опция -r предназначена для запуска в режиме отчета. Утилита отправит указанное количество пакетов, покажет результат и завершит работу. Этот режим полезен для генерации статистики о качестве сети.
$ mtr -r -c5 tokmakov.msk.ru > report.txt
Когда утилита запущена, доступны команды h (help), r (restart statistic), o (order of fields) и q (quit).
Некоторые маршрутизаторы отбрасывают ICMP и отсутствие ответов будет отображаться в выходных данных как тайм-ауты (???). Это не обязательно является признаком потери пакетов. Пакеты могут достигать пункта назначения без значительной потери пакетов или задержек. А тайм-ауты могут быть связаны с тем, что маршрутизаторы отбрасывают пакеты в целях QoS (качества обслуживания), или есть проблемы с обратным маршрутом.
Утилита mtr может работать в режиме TCP на указанном порту вместо использования протокола ICMP (ping) по умолчанию. Это позволяет определить, блокируют ли где-нибудь правила брандмауэра на маршрутизаторе протокол или порт — возможно, потому, что переадресация портов не настроена должным образом. Запуск утилиты с использованием опций --tcp и --port поможет выявить это.
Поиск: CLI • Linux • Команда • Локальная сеть • Маршрутизация • mtr • route

