MTR — это простой, кросс-платформенный инструмент диагностики сети из командной строки, который объединяет функциональность широко используемых программ traceroute и ping в один удобный инструмент. Подобным образом, как и traceroute, mtr выводит информацию о маршруте, пакеты которого берут начало с хоста, на котором выполняется mtr, и на указанный конечный хост пользователя.
Тем не менее, 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
10 примеров использования инструментов диагностики сети 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
1.|-- 192.168.0.1 0.0
2.|-- 5.5.5.211 0.0
3.|-- 209.snat-111-91-120.hns.n 80.0
4.|-- 72.14.194.226 0.0
5.|-- 108.170.248.161 0.0
6.|-- 216.239.62.237 0.0
7.|-- bom05s12-in-f14.1e100.net 0.0
2. Вы можете заставить mtr отображать числовые IP-адреса вместо имен хостов (как правило, FQDN — полностью квалифицированные имена доменов), используя флаг -n:
- .
.-- ... . . . . . .
.-- ... . . . . . .
.-- . . . . . .
.-- ... . . . . . .
.-- ... . . . . . .
.-- ... . . . . . .
.-- ... . . . . . .
3. Если вы хотите, чтобы mtr отображал как имена узлов, так и числовые IP-номера, используйте флаг -b:
$ mtr -b google.com
Start: Thu Jun 28 12:14:36 2018
HOST: sedicomm Loss
1.|-- 192.168.0.1 0.0
2.|-- 5.5.5.211 0.0
3.|-- 209.snat-111-91-120.hns.n 0.0
4.|-- 72.14.194.226 0.0
5.|-- 108.170.248.209 0.0
6.|-- 216.239.56.115 0.0
7.|-- bom07s15-in-f14.1e100.net 0.0
4. Чтобы ограничить число пингов конкретным значением и выйти из mtr после выполненного необходимого количества пингов, используйте флаг -c. В столбце Snt вы можете увидеть, как только указанное количество пингов достигнуто, текущее обновление останавливается и программа завершается.
$ mtr -c5 google.com
5. Вы можете установить режим отчета с использованием флага -r, что будет полезным вариантом для создания статистики о качестве сети. Вы можете использовать эту опцию вместе с опцией -c, чтобы указать необходимое количество пингов. Поскольку статистика выводится на стандартный вывод std out, вы можете перенаправить его в файл для последующего анализа.
$ mtr -r -c 5 google.com > mtr-report.txt
Флаг -w обеспечивает более «глубокий» режим отчета:
$ mtr -rw -c 5 google.com > mtr-report.txt
6. Вы также можете упорядочить выходные поля так, как вы пожелаете, это возможным благодаря флагу -o, как показано ниже:
$ mtr -o "LSDR NBAW JMXI" 216.58.223.78
7. Интервал по умолчанию между запросами ICMP ECHO составляет одну секунду, вы можете указать собственный интервал между запросами изменив значение с помощью флага -i:
$ mtr -i 2 google.com
8. Вы можете использовать TCP SYN-пакеты или UDP-дейтаграммы вместо стандартных ICMP-запросов ECHO, таким образом:
$ mtr --tcp test.com
или
$ mtr --udp test.com
9. Чтобы указать максимальное количество переходов (по умолчанию — 30) для проверки между локальной системой и удаленной машиной, используйте флаг -m.
$ mtr -m 35 216.58.223.78
10. При проверке качества сети вы можете установить размер пакета (в байтах), используя флаг -s:
$ mtr -r -s PACKETSIZE -c 5 google.com > mtr-report.txt
Также посетите справочную страницу man для получения информации о дополнительных возможностей использования:
$ man mtr
Спасибо за уделенное время на прочтение статьи!
http://blog.sedicomm.com/2018/09/12/mtr-instrument-diagnostiki-seti-dlya-linux-s-primerami/