6.7 Сетевые утилиты диагностики: ping, tracert и traceroute

Эффективная диагностика сетевых соединений является критически важной для администраторов и пользователей компьютерных сетей. Утилиты ping, tracert и traceroute являются базовыми инструментами, которые позволяют проверить доступность удаленных хостов и определить маршрут прохождения пакетов в сети.

Напоминаем: эти команды доступны как в Windows, так и в Linux системах, хотя синтаксис может немного отличаться.

Команда ping

Ping (Packet InterNet Groper) – это утилита для проверки доступности удаленного хоста путем отправки ICMP-пакетов (Internet Control Message Protocol). Принцип работы основан на отправке специальных ICMP-сообщений "echo-request" к целевому хосту и ожидании ответа "echo-reply".

Основные функции ping:

  • Проверка доступности хоста в сети.
  • Измерение времени отклика (латентности).
  • Обнаружение потери пакетов.
  • Тестирование качества сетевого соединения.
  • Определение проблем с маршрутизацией.

Информируем: время отклика измеряется в миллисекундах (ms) и показывает, сколько времени требуется пакету для достижения целевого хоста и возврата обратно.

Ping у Windows

Способы запуска:

  1. Через командную строку (cmd.exe):
    • Нажмите Win + R.
    • Введите cmd или cmd.exe и нажмите Enter.

Командная строка

  1. Через PowerShell:
    • Нажмите Win + X.
    • Выберите Windows PowerShell или Windows Terminal. PowerShell

Синтаксис:

Шаблон команды.
  1. ping [параметры] целевой_адрес

Вместо целевой_адрес Вам нужно подставить домен или IP-адрес нужного хоста. Параметры указываются при необходимости, можно и не указывать, в таком случае будет отправлено только 4 пакета.

Основные параметры:
  • -t - отправлять пакеты до принудительной остановки (комбинация Ctrl + C).
  • -n число - количество запросов для отправки.
  • -l размер - размер буфера отправки.
  • -w таймаут - таймаут в миллисекундах.
  • -4 - принудительное использование IPv4.
  • -6 - принудительное использование IPv6.

Примеры:

Шаблон команды на домен.
  1. ping google.com
Шаблон команды на IP-адрес.
  1. ping 192.168.1.1

Ping в Linux/MacOS

Способы запуска:

  1. Через терминал:

    • Нажмите Ctrl + Alt + T.
    • или запустите эмулятор терминала из меню.
  2. Через консоль:

    • Перейдите в текстовый режим Ctrl + Alt + F1.

Синтаксис:

Шаблон команды.
  1. ping [опции] целевой_адрес

Вместо целевой_адрес Вам нужно подставить домен или IP-адрес нужного хоста. Параметры указываются при необходимости, можно и не указывать, в таком случае будет отправлено только 4 пакета.

Основные параметры:
  • -c число - количество пакетов для отправки.
  • -s размер - размер пакета в байтах.
  • -i интервал - интервал между пакетами в секундах.
  • -W таймаут - время ожидания ответа.
  • -4 - использовать только IPv4.
  • -6 - использовать только IPv6.
  • -f - flood ping.
  • -q - тихий режим, показывает только итог.

Примеры:

Шаблон команды на домен с добавлением параметров.
  1. ping -c 5 google.com
Шаблон команды на IP-адрес с добавлением параметров.
  1. ping -i 2 192.168.1.1

Команды tracert/traceroute

Tracert (Windows) и traceroute (Linux/MacOS) – это аналогичные утилиты, которые отслеживают маршрут прохождения пакетов данных от источника до целевого хоста через сеть Internet или локальную сеть. Разница только в названии и некоторых параметрах, но принцип работы одинаков.

Принцип работы:
  • Отправка серии пакетов с постепенно увеличивающимся значением TTL (Time To Live).
  • Каждый маршрутизатор на пути уменьшает TTL на 1.
  • Когда TTL достигает 0, маршрутизатор отправляет сообщение об ошибке.
  • Это позволяет определить каждый “скачок” (hop) на пути к цели.
Основные функции:
  • Определение полного маршрута к целевому хосту.
  • Выявление проблемных участков сети.
  • Анализ задержек на каждом узле.
  • Диагностика проблем с маршрутизацией.
  • Выявление сетевых петель.

Информируем: каждый “скачок” представляет собой маршрутизатор или другое сетевое устройство на пути к целевому хосту.

Tracert в Windows

Способы запуска:

  1. Через командную строку (cmd.exe):
    • Нажмите Win + R.
    • Введите cmd или cmd.exe и нажмите Enter.

Командная строка

  1. Через PowerShell:
    • Нажмите Win + X.
    • Выберите Windows PowerShell или Windows Terminal. PowerShell

Синтаксис:

Шаблон команды.
  1. tracert [параметры] целевой_адрес

Вместо целевой_адрес Вам нужно подставить домен или IP-адрес нужного хоста. Параметры указываются при необходимости.

Основные параметры:
  • -d - не преобразовывать IP-адреса в имена.
  • -h максимум_хопов - максимальное количество хопов.
  • -w таймаут - таймаут для каждого отклика в миллисекундах.
  • -4 - принудительное использование IPv4.
  • -6 - принудительное использование IPv6.

Примеры:

Шаблон команды на домен с добавлением параметров.
  1. tracert google.com
Шаблон команды на IP-адрес с добавлением параметров.
  1. tracert -d -h 15 8.8.8.8

Traceroute в Linux/MacOS

Способы запуска:

  1. Через терминал:

    • Нажмите Ctrl + Alt + T.
    • или запустите эмулятор терминала из меню.
  2. Через консоль:

    • Перейдите в текстовый режим Ctrl + Alt + F1.

Синтаксис:

Шаблон команды на домен/IP-адрес.
  1. traceroute [параметры] целевой_адрес

Вместо целевой_адрес Вам нужно подставить домен или IP-адрес нужного хоста. Параметры указываются при необходимости.

Основные параметры:
  • -n - не преобразовывать IP в имена хостов.
  • -m максимум_хопов - максимальное количество хопов.
  • -w таймаут - время ожидания ответа.
  • -4 - использовать только IPv4.
  • -6 - использовать только IPv6.
  • -I - использовать ICMP запросы.
  • -T - использовать TCP SYN для запросов.
  • -U - использовать UDP для запросов.

Примеры:

Шаблон команды с различными параметрами на домен.
  1. traceroute google.com
Шаблон команды с различными параметрами на IP-адрес.
  1. traceroute -n -w 2 8.8.8.8
  2. traceroute -I 192.168.1.1

Информируем: В Linux traceroute по умолчанию использует UDP трафик.

  • В Windows tracert использует ICMP Echo Request.
  • Для получения результатов может потребоваться запуск с правами администратора.

Важно: Некоторые сетевые устройства могут блокировать ICMP-пакеты.

  • Брандмауэры могут блокировать traceroute/tracert.
  • Результаты могут отличаться при повторных запусках.

Практические примеры использования

Диагностика сетевых проблем

  1. Проверка базовой доступности:
Проверка пинга на IP-адрес 8.8.8.8.
  1. ping 8.8.8.8
  1. Анализ стабильности соединения:
Проверка пинга на домен google.com.
  1. ping -t google.com

Параметр -t выполняет неограниченное количество пингов на указанный Вами хост. Чтобы закончить процесс, нужно выполнить комбинацию на клавиатуре Ctrl + C.

  1. Выявление проблемного участка сети:
Проверка маршрута к домену google.com.
  1. tracert google.com

Анализ производительности сети

  1. Тестирование задержки с различным размером пакетов:
Команда тестирует доступность сервера с использованием ICMP-пакета размером 1000 байтов.
  1. ping -l 1000 server.example.com
  1. Определение потери пакетов:
Отправка 100 пакетов на IP-адрес 192.168.1.1.
  1. ping -n 100 192.168.1.1