Wireshark — анализатор сетевых пакетов и фильтры захвата | Глоссарий FREEHOSTING

Wireshark

Wireshark Packet Analyzer
Wireshark — Wireshark — графический анализатор сетевых пакетов с открытым исходным кодом. Захватывает трафик в реальном времени, разбирает содержимое сотен протоколов и помогает диагностировать проблемы. Кросс-платформенный, развивается с 1998 года.

Определение простыми словами

Wireshark — это рентген для сети. Запускаете захват, видите каждый пакет, который проходит через интерфейс: кто отправитель, кто получатель, какой протокол, какие данные. Программа сама разбирает заголовки TCP, DNS, HTTP, TLS и сотен других протоколов на уровне полей.

Изначально проект назывался Ethereal, переименован в Wireshark в 2006-м из-за конфликта торговых марок. Под капотом — библиотека libpcap (Unix) или Npcap (Windows). Для серверов есть консольный аналог tshark, для офлайн-анализа — формат pcap/pcapng.

Сравнение

Параметр Wireshark tcpdump nmap
Назначение анализ пакетов захват пакетов сканирование портов
Интерфейс GUI + CLI (tshark) только CLI CLI + Zenmap
Разбор протоколов 3 000+ базовый через скрипты NSE
Захват в файл да, pcapng да, pcap нет
Декодирование TLS с ключом сеанса нет нет
Использование на сервере tshark стандарт при разведке

Кейсы использования

  • Отладка зависающего HTTPS-соединения: смотрим, доходит ли SYN, отвечает ли сервер, на каком этапе TLS происходит RST.
  • Анализ медленного DNS: время от запроса до ответа, повторные запросы, выбор резолвера.
  • Разбор VoIP-трафика SIP/RTP с реконструкцией звонка из RTP-потока.
  • Расследование утечек: какие домены опрашивает подозрительное приложение, какие данные уходят.
  • Негативный сценарий: запуск Wireshark в продакшене на нагруженном интерфейсе вешает CPU и заполняет диск гигабайтами pcap. На бою лучше точечный tcpdump с фильтром и анализ дампа на отдельной машине.

Технические детали

# Захват с фильтром только HTTPS-трафика на интерфейсе eth0
sudo tshark -i eth0 -f "tcp port 443" -w /tmp/https.pcap

# Просмотр готового pcap с разбором HTTP-запросов
tshark -r /tmp/https.pcap -Y "http.request" -T fields 
  -e ip.src -e http.host -e http.request.uri

# Захват только TLS-рукопожатий (Client Hello)
sudo tshark -i any -Y "tls.handshake.type == 1" 
  -T fields -e ip.dst -e tls.handshake.extensions_server_name

# Расшифровка TLS-сессии при наличии sslkeylogfile
export SSLKEYLOGFILE=~/.ssl-key.log
wireshark -o tls.keylog_file:$SSLKEYLOGFILE

На сервере удобнее работать с tshark: захватили pcap, скачали к себе и открыли в GUI. Подробнее о смежных утилитах — в статьях про tcpdump и WireGuard.

Частые вопросы

Wireshark видит зашифрованный HTTPS-трафик?

По умолчанию видит только метаданные (IP, порты, SNI). Содержимое расшифровывается при наличии файла SSLKEYLOGFILE из браузера или приватного ключа RSA-сервера для устаревших шифров.

Wireshark легален?

Сам по себе да: это инструмент диагностики. Захват чужого трафика без разрешения может нарушать законы о тайне связи. На своём сервере и в своей сети ограничений нет.

Чем Wireshark отличается от tcpdump?

tcpdump — лёгкая консольная утилита для захвата. Wireshark — полноценное GUI-приложение с разбором тысяч протоколов и инструментами анализа. Часто используют связку: tcpdump на сервере, Wireshark на ноутбуке.