Gymterview
junior

Какие инструменты диагностики сети существуют и как ими пользоваться?

Инструменты диагностики сети — набор утилит для выявления причин сетевых проблем: от недоступности хоста до анализа содержимого пакетов. Умение ими пользоваться — ключевой навык при работе с микросервисами.

ping — проверка доступности узла

Пример
# Базовая проверка
ping 192.168.1.1

# Ограничить количество пакетов
ping -c 4 app-server.mybank.local

# С указанием размера пакета (проверка MTU)
ping -s 1472 -M do 192.168.1.1

traceroute / mtr — трассировка маршрута

Пример
# Стандартная трассировка
traceroute app-server.mybank.local

# TCP-трассировка (если ICMP заблокирован)
traceroute -T -p 8080 app-server.mybank.local

# MTR — комбинация ping и traceroute в реальном времени
mtr app-server.mybank.local

dig / nslookup — диагностика DNS

Пример
# Полный DNS-запрос
dig app-server.mybank.local

# Обратный DNS-запрос (IP -> имя)
dig -x 192.168.1.10

# Трассировка DNS-разрешения
dig +trace app-server.mybank.local

ss / netstat — анализ сетевых соединений

Пример
# Все TCP-соединения
ss -ta

# Прослушиваемые TCP-порты с именами процессов
ss -tlnp

# Соединения к конкретному порту
ss -tn dport = :8080

# Статистика соединений
ss -s

tcpdump — захват сетевого трафика

Примеры использования tcpdump
# Захват трафика на интерфейсе eth0
sudo tcpdump -i eth0

# Только трафик на порт 8080
sudo tcpdump -i eth0 port 8080

# HTTP-трафик с содержимым пакетов
sudo tcpdump -i eth0 -A port 80

# Запись в файл для анализа в Wireshark
sudo tcpdump -i eth0 -w capture.pcap port 443

# Фильтр по хосту
sudo tcpdump -i eth0 host 192.168.1.10

# Только SYN-пакеты (начало TCP-соединений)
sudo tcpdump -i eth0 'tcp[tcpflags] & tcp-syn != 0'

Wireshark — графический анализатор трафика

Wireshark позволяет детально анализировать захваченный трафик. Основные фильтры:

Пример
http                            # по протоколу
ip.addr == 192.168.1.10         # по IP
tcp.port == 8080                # по порту
http.request.method == "POST"   # HTTP-запросы
tls.handshake.type == 1         # TLS handshake

В практике tcpdump и Wireshark незаменимы при отладке взаимодействия между сервисами — например, для диагностики проблем с TLS-соединениями или анализа задержек между микросервисами.

На собеседовании: достаточно перечислить основные утилиты (ping, traceroute, ss, tcpdump, dig) и описать сценарий их применения. Частая ошибка — знать только ping и не упомянуть ss/tcpdump.