MTR — инструмент диагностики сети для Linux
Добавлено: 13 сен 2018, 12:35
MTR — это простой, кросс-платформенный инструмент диагностики сети из командной строки, который объединяет функциональность широко используемых программ traceroute и ping в один удобный инструмент. Подобным образом, как и traceroute, mtr выводит информацию о маршруте, пакеты которого берут начало с хоста, на котором выполняется mtr, и на указанный конечный хост пользователя.
Тем не менее, mtr показывает больше информации, чем traceroute: он определяет путь к удаленному компьютеру при выводе процента ответов, а также времени отклика всех сетевых переходов в интернет-маршруте между локальной системой и удаленными машинами.
Как работает MTR?
После запуска mtr он проверяет сетевое соединение между локальной системой и указанным вами удаленным хостом. Сначала он устанавливает адрес каждого сетевого хопа (мосты, маршрутизаторы и шлюзы и т.д.) между хостами, затем он пингует (отправляет запросы ICMP ECHO последовательности) на каждый из них, чтобы определить качество канала на каждую машину.
Во время этой операции mtr выводит множество полезной статистики по каждому сетевому хопу, которая, к тому же, по умолчанию, обновляется в режиме реального времени.
Этот инструмент поставляется предустановленными в большинстве дистрибутивов Linux и он довольно прост в использовании. Вы сможете в этом убедится, прямо при просмотре 10 примеров команд mtr для диагностики сети в Linux.
Если mtr не установлен, вы можете установить его в свой дистрибутив Linux, используя ваш менеджер пакетов по умолчанию, как показано ниже:
10 примеров использования инструментов диагностики сети MTR
1. Простейшим примером использования mtr является указание имени домена или IP-адреса удаленной машины в качестве аргумента, например google.com или 216.58.223.78. Эта команда покажет вам отчет traceroute, обновляемый в реальном времени, пока вы не выйдете из программы (нажав q или Ctrl + C).
или
2. Вы можете заставить mtr отображать числовые IP-адреса вместо имен хостов (как правило, FQDN — полностью квалифицированные имена доменов), используя флаг -n:
3. Если вы хотите, чтобы mtr отображал как имена узлов, так и числовые IP-номера, используйте флаг -b:
4. Чтобы ограничить число пингов конкретным значением и выйти из mtr после выполненного необходимого количества пингов, используйте флаг -c. В столбце Snt вы можете увидеть, как только указанное количество пингов достигнуто, текущее обновление останавливается и программа завершается.
5. Вы можете установить режим отчета с использованием флага -r, что будет полезным вариантом для создания статистики о качестве сети. Вы можете использовать эту опцию вместе с опцией -c, чтобы указать необходимое количество пингов. Поскольку статистика выводится на стандартный вывод std out, вы можете перенаправить его в файл для последующего анализа.
Флаг -w обеспечивает более «глубокий» режим отчета:
6. Вы также можете упорядочить выходные поля так, как вы пожелаете, это возможным благодаря флагу -o, как показано ниже:
7. Интервал по умолчанию между запросами ICMP ECHO составляет одну секунду, вы можете указать собственный интервал между запросами изменив значение с помощью флага -i:
8. Вы можете использовать TCP SYN-пакеты или UDP-дейтаграммы вместо стандартных ICMP-запросов ECHO, таким образом:
или
9. Чтобы указать максимальное количество переходов (по умолчанию — 30) для проверки между локальной системой и удаленной машиной, используйте флаг -m.
10. При проверке качества сети вы можете установить размер пакета (в байтах), используя флаг -s:
Также посетите справочную страницу man для получения информации о дополнительных возможностей использования:
Тем не менее, mtr показывает больше информации, чем traceroute: он определяет путь к удаленному компьютеру при выводе процента ответов, а также времени отклика всех сетевых переходов в интернет-маршруте между локальной системой и удаленными машинами.
Как работает MTR?
После запуска mtr он проверяет сетевое соединение между локальной системой и указанным вами удаленным хостом. Сначала он устанавливает адрес каждого сетевого хопа (мосты, маршрутизаторы и шлюзы и т.д.) между хостами, затем он пингует (отправляет запросы ICMP ECHO последовательности) на каждый из них, чтобы определить качество канала на каждую машину.
Во время этой операции mtr выводит множество полезной статистики по каждому сетевому хопу, которая, к тому же, по умолчанию, обновляется в режиме реального времени.
Этот инструмент поставляется предустановленными в большинстве дистрибутивов Linux и он довольно прост в использовании. Вы сможете в этом убедится, прямо при просмотре 10 примеров команд mtr для диагностики сети в Linux.
Если mtr не установлен, вы можете установить его в свой дистрибутив Linux, используя ваш менеджер пакетов по умолчанию, как показано ниже:
Код: Выделить всё
$ sudo apt install mtr
$ sudo yum install mtr
$ sudo dnf install mtr
1. Простейшим примером использования mtr является указание имени домена или IP-адреса удаленной машины в качестве аргумента, например google.com или 216.58.223.78. Эта команда покажет вам отчет traceroute, обновляемый в реальном времени, пока вы не выйдете из программы (нажав q или Ctrl + C).
Код: Выделить всё
$ mtr google.com
Код: Выделить всё
$ mtr 216.58.223.78
Start: Thu Jun 28 12:10:13 2018
HOST: sedicomm Loss% Snt Last Avg Best Wrst StDev
1.|-- 192.168.0.1 0.0% 5 0.3 0.3 0.3 0.4 0.0
2.|-- 5.5.5.211 0.0% 5 0.7 0.9 0.7 1.3 0.0
3.|-- 209.snat-111-91-120.hns.n 80.0% 5 7.1 7.1 7.1 7.1 0.0
4.|-- 72.14.194.226 0.0% 5 1.9 2.9 1.9 4.4 1.1
5.|-- 108.170.248.161 0.0% 5 2.9 3.5 2.0 4.3 0.7
6.|-- 216.239.62.237 0.0% 5 3.0 6.2 2.9 18.3 6.7
7.|-- bom05s12-in-f14.1e100.net 0.0% 5 2.1 2.4 2.0 3.8 0.5
Код: Выделить всё
$ mtr -n google.com
Start: Thu Jun 28 12:12:58 2018
HOST: sedicomm Loss% Snt Last Avg Best Wrst StDev
1.|-- 192.168.0.1 0.0% 5 0.3 0.3 0.3 0.4 0.0
2.|-- 5.5.5.211 0.0% 5 0.9 0.9 0.8 1.1 0.0
3.|-- ??? 100.0 5 0.0 0.0 0.0 0.0 0.0
4.|-- 72.14.194.226 0.0% 5 2.0 2.0 1.9 2.0 0.0
5.|-- 108.170.248.161 0.0% 5 2.3 2.3 2.2 2.4 0.0
6.|-- 216.239.62.237 0.0% 5 3.0 3.2 3.0 3.3 0.0
7.|-- 172.217.160.174 0.0% 5 3.7 3.6 2.0 5.3 1.4
Код: Выделить всё
$ mtr -b google.com
Start: Thu Jun 28 12:14:36 2018
HOST: sedicomm Loss% Snt Last Avg Best Wrst StDev
1.|-- 192.168.0.1 0.0% 5 0.3 0.3 0.3 0.4 0.0
2.|-- 5.5.5.211 0.0% 5 0.7 0.8 0.6 1.0 0.0
3.|-- 209.snat-111-91-120.hns.n 0.0% 5 1.4 1.6 1.3 2.1 0.0
4.|-- 72.14.194.226 0.0% 5 1.8 2.1 1.8 2.6 0.0
5.|-- 108.170.248.209 0.0% 5 2.0 1.9 1.8 2.0 0.0
6.|-- 216.239.56.115 0.0% 5 2.4 2.7 2.4 2.9 0.0
7.|-- bom07s15-in-f14.1e100.net 0.0% 5 3.7 2.2 1.7 3.7 0.9
Код: Выделить всё
$ mtr -c5 google.com
Код: Выделить всё
$ mtr -r -c 5 google.com > mtr-report.txt
Код: Выделить всё
$ mtr -rw -c 5 google.com > mtr-report.txt
Код: Выделить всё
$ mtr -o "LSDR NBAW JMXI" 216.58.223.78
7. Интервал по умолчанию между запросами ICMP ECHO составляет одну секунду, вы можете указать собственный интервал между запросами изменив значение с помощью флага -i:
Код: Выделить всё
$ mtr -i 2 google.com
Код: Выделить всё
$ mtr --tcp test.com
Код: Выделить всё
$ mtr --udp test.com
Код: Выделить всё
$ mtr -m 35 216.58.223.78
Код: Выделить всё
$ mtr -r -s PACKETSIZE -c 5 google.com > mtr-report.txt
Код: Выделить всё
$ man mtr