Mtr на macOS: установка через Homebrew и быстрая диагностика сети

Mtr на macOS: установка через Homebrew и быстрая диагностика сети

mtr совмещает идеи traceroute и ping. Утилита одновременно строит маршрут до узла и меряет задержки с потерями на каждом хопе. Ниже — пошаговая инструкция для macOS: как поставить mtr и получить отчёт, пригодный для техподдержки.

Что даёт mtr

  1. Видно, где «ломается» маршрут: на каком хопе растут RTT или появляются потери.
  2. Можно проверить разные типы трафика: ICMP, TCP SYN и UDP.
  3. Есть отчётный режим для пересылки результата без скриншотов.

Установка на macOS

Шаг 1. Установить Homebrew

Откройте Terminal и выполните:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Система попросит пароль администратора и подтверждение установки.

mtr на macOS mtr на macOS

Проверьте, что brew установился:

brew -v

mtr на macOS

Шаг 2. Поставить mtr

Установите пакет:

brew install mtr

mtr на macOS

На macOS бинарники mtr ставятся в префикс Homebrew. Чтобы вызывать mtr без полного пути, скопируйте исполняемые файлы в общесистемный каталог:

sudo cp "$(brew --prefix mtr)"/sbin/mtr /usr/local/bin && \

sudo cp "$(brew --prefix mtr)"/sbin/mtr-packet /usr/local/bin

Примечание: на Apple Silicon Homebrew живёт в /opt/homebrew. Команда с $(brew —prefix mtr) автоматически подставит корректный путь.

Как запускать диагностику

mtr требует права на «сырые» сокеты, поэтому используйте sudo:

sudo mtr <IP_или_домен>

Оставьте утилиту работать хотя бы 1–2 минуты, чтобы стабилизировать статистику.

mtr на macOS

Что означают поля в таблице

  • Host — имя узла или IP.
  • Loss% — процент потерянных откликов с этого хопа.
  • Snt — сколько пакетов отправлено.
  • Last / Avrg / Best / Wrst — последняя, средняя, минимальная и максимальная задержки в мс.
  • StDev — стандартное отклонение задержек.

Полезные ключи

  • -n — выводить IP без обратного DNS, чтобы ускорить тест.
  • -r — отчётный режим, напечатает итог и завершит работу.
  • -c N — сколько пакетов отправить, пример: -c 100.
  • -i X — интервал между пакетами в секундах, по умолчанию 1.
  • -4 или -6 — форсировать IPv4 или IPv6.
  • -T — отправлять TCP SYN вместо ICMP (бывает полезно, если ICMP режется).
  • -u — использовать UDP-пакеты.

Быстрый сценарий для техподдержки

  1. Собираем репорт из 100 пакетов без обратного DNS:

sudo mtr -r -n -c 100 example.com

  1. Видим высокие Loss% или большую Avrg на нескольких соседних хопах — это кандидат на сетевую деградацию. Сохраните вывод терминала и приложите к обращению.

Частые подсказки

  • Сообщение вида «Operation not permitted» при запуске без sudo — запустите команду от администратора.
  • Если mtr «не находится», проверьте echo $PATH и наличие бинарников в /usr/local/bin. Команда копирования из шага 2 это решает.

Этого достаточно, чтобы на macOS быстро локализовать сетевую проблему и предоставить развёрнутую статистику по маршруту.