MTR: диагностируем сеть в Linux
Для проверки сетевого или интернет соединения многие часто пользуемся такими утилитами как ping либо traceroute. Но результаты выполнения данных утилит не всегда наглядны и удобны для оценки результатов.
Для более наглядных и детальных отчетов пользователи ОС Windows могут воспользоваться программой pingPlotter, ну а пользователи ОС Linux аналогом - MTR (о которой вкратце ниже).
В Linux данная утилита существует в двух вариантах: консольном (mtr-tiny) и с графическим интерфейсом (mtr). Забегая вперед скажу, что вариант с графическим интерфейсом мне вообще не понравился и показался каким-то урезанным: отчет выводится на экран, но его никак нельзя сохранить или экспортировать в файл. Поэтому далее пару слов о консольном варианте утилиты.
Итак, если данная утилита еще не установлена, то открываем консоль (терминал) и вводим команду от обычного пользователя:
sudo aptitude install mtr-tiny
Для тестирования маршрутов до google.com в терминале вводим команду:
mtr google.com
В результате в консоли отобразяться подробная информация по всем узлам до сервера Google: процент потерянных пакетов, количество отправленных пакетов, последний пинг, средний пинг, лучший пинг, худший пинг. Выглядеть это все будет таким образом:
Если у Вас дома стоит какой-нибудь маршрутизатор, то иногда в результате выполнения данной команды может получиться так, что процент потерь пакетов будет составлять 50%. Дело в том, что некоторые маршрутизаторы не успевают обрабатывать запросы, идущие на них каждую секунду. В таком случае утилите mtr можно указать интервал с которым она будет отправлять данные указанном серверу. Для этого используется ключ -i с указанием интервала в секундах. Для интервала в 2 секунды команда будет выглядеть так:
mtr -i 2 google.com
Максимальное количество отправляемых пакетов устанавливается через ключ --report-cycles
. Например, для тестирования маршрута до сервера google.com с максимальным количеством отправленных пакетов равном 50, будет выглядеть следующим образом:
mtr --report-cycles 50 google.com
Во всех приведенных выше примерах результаты выводятся в терминал и отображаются только до тех пор, пока работает утилита mtr. Для того, чтобы по завершению работы утилиты результаты остались на экране, используется ключ --report
. Выглядит команда так:
mtr --report google.com
По умолчанию для составления отчета отправляется 10 пакетов. Если для составления отчета необходимо отправить больше 10 пакетов (например 60 пакетов) с интервалом в две секунды, то необходимо воспользоваться приведенными выше ключами --report-cycles
и -i
. В таком случае в консоли необходимо будет ввести команду вида:
mtr -i 2 --report --report-cycles 60 google.com
А для вывода отчета в текстовый файл в конце строки необходимо добавить два знака больше >>
и указать имя файла или полный путь к файлу, в который этот самый отчет будет сохраняться. Выглядеть такая команда будет так:
mtr -i 2 --report --report-cycles 50 google.com >> results.txt
В данном случае текстовый файл с отчетом необходимо искать в той папке, из которой был запущен терминал (обычно - это папка /home/user_name
)
Еще одно важное замечание: после нескольких запусков подряд любой описанной выше команды оператор >>
будет дописывать отчеты в конец текстового файла, а оператор >
(одиночный знак больше) будет каждый раз перезаписывать текстовый файл.