MTR – сетевой диагностический инструмент для Linux

MTR – это простой кроссплатформенный инструмент диагностики сети с командной строкой, который объединяет функционал широко используемых программ traceroute и ping в одном инструменте. Подобно traceroute, mtr выводит информацию о маршруте, который пакеты проходят от хоста, на котором запущен mtr, к указанному пользователем удаленному хосту.

Читайте также: Как проверить производительность, безопасность и устранить неполадки в сети Linux

Однако 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
OR
$ mtr 216.58.223.78

Start: Thu Jun 28 12:10:13 2018
HOST: TecMint                     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

2. Вы можете заставить mtr отображать числовые IP-адреса вместо имен хостов (обычно FQDNПолные доменные имена), используя флаг -n, как показано.

$ mtr -n google.com

Start: Thu Jun 28 12:12:58 2018
HOST: TecMint                     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

3. Если вы хотите, чтобы mtr отображал как имена хостов, так и числовые IP-номера, используйте флаг -b, как показано.

$ mtr -b google.com

Start: Thu Jun 28 12:14:36 2018
HOST: TecMint                     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

4. Чтобы ограничить количество ping-ов до определенного значения и выйти из mtr после этих ping-ов, используйте флаг -c. Если вы обратите внимание на столбец Snt, после достижения указанного числа пингов обновление останавливается и программа завершается.

$ mtr -c5 google.com

5. Вы можете установить его в режим отчета, используя флаг -r, полезную опцию для получения статистики о качестве сети. Вы можете использовать эту опцию вместе с опцией -c, чтобы указать количество пингов. Поскольку статистика выводится в std вывод, вы можете перенаправить ее в файл для последующего анализа.

$ mtr -r -c 5 google.com >mtr-report

Флаг -w включает широкий режим отчета для более четкого вывода.

$ mtr -rw -c 5 google.com >mtr-report

6. Вы также можете переупорядочить выходные поля по вашему желанию, это можно сделать с помощью флага -o, как показано (см. страницу руководства mtr для значения меток полей).

$ mtr -o "LSDR NBAW JMXI" 216.58.223.78
MTR Fields and Order

7. Интервал по умолчанию между запросами ICMP ECHO составляет одну секунду, вы можете указать интервал между запросами ICMP ECHO, изменив значение с помощью флага -i, как показано.

$ mtr -i 2 google.com

8. Вы можете использовать пакеты TCP SYN или UDP датаграммы вместо запросов ICMP ECHO по умолчанию, как показано.

$ mtr --tcp test.com
OR
$ 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

С этими примерами вы должны быть готовы к использованию mtr, см. страницу руководства для получения дополнительных вариантов использования.

$ man mtr 

Также ознакомьтесь с этими полезными руководствами по настройке и устранению неполадок в сети Linux:

  1. 13 Команд конфигурации и устранения неполадок в сети Linux
  2. Как заблокировать запросы ICMP Ping к системам Linux

Вот и все! MTR – это простой, удобный и, прежде всего, платформенно-независимый инструмент диагностики сети. В этом руководстве мы объяснили 10 примеров команды mtr в Linux. Если у вас есть вопросы или мысли, которыми вы хотели бы поделиться с нами, используйте форму комментариев ниже.

Source:
https://www.tecmint.com/mtr-a-network-diagnostic-tool-for-linux/