Какие команды можно использовать для диагностики сети (Windows и Linux)?

Примечание: Диагностика сети — одна из ключевых задач системного администратора. От корректной работы сети зависит доступность сервисов, стабильность приложений и взаимодействие пользователей. Для проверки соединений и выявления проблем в Windows и Linux есть набор стандартных утилит, которые позволяют понять, где именно возникает сбой — на стороне клиента, в сети или на удаленном узле.

Ping

Windows и Linux: команда ping проверяет доступность хоста и измеряет задержку. Она отправляет ICMP-запросы и показывает время ответа. В Windows по умолчанию отправляется 4 пакета, в Linux — до остановки пользователем.

Используется для проверки:

  • Достижимости IP-адреса или доменного имени.

  • Задержек в сети.

  • Потерь пакетов.

Traceroute и Tracert

Linux: команда traceroute.
Windows: команда tracert.

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

Nslookup и Dig

Windows: nslookup.
Linux: nslookup и более расширенная утилита dig.

Команды используются для диагностики DNS. С их помощью можно:

  • Узнать IP-адрес по доменному имени.

  • Проверить работу DNS-сервера.

  • Просмотреть записи разных типов (A, MX, TXT и др.).

Netstat

Windows и Linux: netstat.

Команда отображает сетевые подключения, порты и используемые процессы. Она полезна для диагностики:

  • Открытых портов.

  • Подключений к конкретным хостам.

  • Активных сервисов на сервере.

В Linux также часто используется более современная утилита ss, которая дает аналогичную информацию быстрее.

Ipconfig и Ifconfig / Ip

Windows: ipconfig.
Linux: ifconfig (устаревшая) или современная ip addr, ip route.

Эти команды позволяют просматривать и настраивать сетевые интерфейсы. С их помощью можно проверить:

  • Текущие IP-адреса и маски подсети.

  • Адреса шлюзов и DNS-серверов.

  • Корректность сетевых маршрутов.

ARP

Windows и Linux: arp.

Команда показывает таблицу сопоставлений IP-адресов и MAC-адресов в локальной сети. Используется для диагностики проблем уровня канала, например, когда IP-адрес конфликтует или устройство не отвечает на запросы.

Telnet и Nc (Netcat)

Windows: telnet (нужно включать дополнительно).
Linux: nc (netcat).

С их помощью можно проверить доступность определенных портов на удаленном сервере, например, telnet host 80 или nc -zv host 443. Это помогает диагностировать, открыт ли порт и отвечает ли сервис.

Pathping

Windows: pathping.

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

Mtr

Linux: mtr.

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

Curl и Wget

Linux и Windows (в новых версиях): curl, а также в Linux — wget.

Эти инструменты позволяют протестировать доступность веб-сервисов, проверить корректность HTTP-запросов и заголовков. Особенно полезны при диагностике проблем с веб-приложениями.

Tcpdump и Wireshark

Linux: tcpdump.
Windows и Linux: Wireshark.

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