Эта утилита позволяет выполнить небольшую сетевую диагностику для выявления сетевых проблем
Что делает:
- Собирает локальные сетевые настройки хоста, на котором запущена:
- публичный IP-адрес
- информацию о сетевых интерфейсах
- информацию о маршрутах
- Разрешает FQDN в IP-адрес для запрошенной цели (если цель передана как FQDN)
- Отображает локальный маршрут для запрошенной цели
- Проверяет доступность транспорта на основе TCP-проверок для запрошенных портов
- Отображает расширенную трассировку с TCP-пробами на основе отправки 1 пакета в секунду на протяжении 50 секунд (для работы этого функционала необходимы привилегии пользователя root)
Скомпилированные бинарные файлы доступны в разделе releases данного проекта.
Пример установки последней доступной версии утилиты network-checker в текущий каталог:
curl -s https://api.github.com/repos/skbkontur/network-checker/releases/latest \
| sed -n 's/.*"browser_download_url": //p' \
| grep 'tar.gz' \
| xargs wget -O network-checker.latest.tar.gz
tar -xzf network-checker.latest.tar.gz
Для самостоятельной сборки необходима среда разработки Golang версии не ниже, чем указана в go.mod.
Склонируйте данный git-репозиторий:
git clone https://github.com/skbkontur/network-checker.git
cd network-checker
Выполните сборку:
go build -o network-checker
Разрешите выполнение собранного бинарного файла:
chmod a+x network-checker
Утилита принимает следующие аргументы:
-destination- IP-адрес или FQDN целевого хоста (по умолчанию - diadoc.kontur.ru)-port- номер порта целевого хоста (аргументов может быть несколько, по умолчанию - 443)
| Примеры предполагают, что исполняемый файл утилиты находится в текущем каталоге, поэтому вызывается через указание относительного пути.
| Если каталог с исполняемым файлом добавлен в переменную окружения PATH (например, ранее файл был перемещён в /usr/bin/), используйте network-checker для вызова утилиты.
Вызов справки по аргументам утилиты:
./network-checker -help
Запуск с параметрами по умолчанию (выполняет проверку сетевой связности с ресурсом diadoc.kontur.ru:443):
sudo ./network-checker
Запуск проверки сетевой связности с портом 53 хоста с IP-адресом 8.8.8.8
sudo ./network-checker -destination="8.8.8.8" -port=53
Запуск проверок для хоста с DNS-именем google.com и портами 80 и 443
sudo ./network-checker -destination="google.com" -port=80 -port=443