Wireshark — анализатор трафика с графическим интерфейсом, который показывает не только заголовки пакетов, но и содержимое протоколов: DNS-запросы, TLS-рукопожатия, DHCP-обмен, HTTP-запросы. Администратору он нужен не для слежки, а для ответа на конкретные вопросы: почему клиент не получает адрес, куда уходит трафик приложения, кто забивает канал, почему не завершается handshake. Ниже — установка, повседневные фильтры, длительный захват и разбор типовых сбоев на своём участке сети.

Зачем администратору Wireshark

Большую часть задач закрывают штатные утилиты: ss показывает сокеты, ip -s link — счётчики ошибок, журнал systemd — сообщения служб. Wireshark нужен там, где важно увидеть сам обмен: какой сервер ответил, с каким флагом пришёл TCP-сегмент, что именно ушло в запросе. Его сильные стороны — разбор сотен протоколов, сборка потока целиком и Expert Information с подсветкой ретрансмиссий.

Обратная сторона — объём. Час трафика загруженного сервера легко даёт гигабайты, а на разбор уходит больше времени, чем на сам захват. Поэтому сначала гипотеза и узкий фильтр, потом запись, потом анализ. Если вопрос звучит как «приложение тормозит», начинают с метрик и логов, а к дампу переходят, когда нужен доказательный ответ.

Установка и права

В Debian, Ubuntu и Linux Mint пакет ставится одной командой, но при установке мастер спросит, разрешать ли захват обычным пользователям. Ответ «Yes» добавляет пользователя в группу wireshark и выдаёт файлу dumpcap необходимые capabilities.

sudo apt install wireshark
sudo usermod -aG wireshark "$USER"
sudo setcap cap_net_raw,cap_net_admin+eip /usr/bin/dumpcap
dumpcap -D

После смены группы нужен повторный вход в сессию. Команда dumpcap -D печатает список интерфейсов и подтверждает, что захват доступен без root. Запускать графический Wireshark от root не стоит: разбирать чужой файл с правами суперпользователя — лишний риск.

Первый захват и два вида фильтров

Ключевое различие, на котором спотыкаются новички: фильтр захвата работает до записи и отбрасывает всё лишнее, а фильтр отображения применяется к уже полученным пакетам. Первый использует синтаксис BPF и не видит поля вроде http.host; второй знает сотни полей, но не экономит место.

sudo tshark -D
sudo tshark -i enp3s0 -f "tcp port 443" -c 50
sudo tshark -i enp3s0 -f "host 192.0.2.10 and not port 22" -a duration:120
tshark -r capture.pcapng -Y "dns.flags.response == 0"

В графическом интерфейсе то же самое находится на панели над списком пакетов: слева поле фильтра захвата, справа — фильтр отображения.

Фильтры на каждый день

Набор, который закрывает большинство обращений, небольшой. Его стоит держать в закладках, а не вспоминать синтаксис каждый раз.

  • dhcp или bootp — кто просит адрес, кто отвечает и с какими опциями.
  • dns.flags.rcode != 0 — только ответы с ошибкой, включая NXDOMAIN и SERVFAIL.
  • tcp.analysis.flags — ретрансмиссии, дублированные ACK, zero window, сбросы.
  • tls.handshake.type == 1 — Client Hello, по нему видно SNI и набор шифров.
  • arp и icmp — конфликты адресов и проблемы связности.

Полезный приём — правый клик по полю и пункт Apply as Filter: так быстрее запоминается имя поля. Для потока целиком есть Follow — TCP Stream или UDP Stream.

tcp.port == 443 and tls.handshake.type == 1
tcp.analysis.retransmission
dns.qry.name contains "example.org"
icmp.type == 3

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

Длительный захват и кольцевой буфер

Графический интерфейс на ночь лучше не оставлять: он держит пакеты в памяти. Для дежурного захвата используют dumpcap с кольцевым буфером, который ограничивает и размер файла, и их количество. Старые файлы перезаписываются, место на диске не растёт бесконечно.

sudo dumpcap -i enp3s0 -b filesize:102400 -b files:24 \
  -w /var/tmp/cap_%Y%m%d_%H%M.pcapng
capinfos /var/tmp/cap_20261105_0900.pcapng
editcap -A "2026-11-05 09:00:00" -B "2026-11-05 09:15:00" in.pcapng out.pcapng

Сто мегабайт на файл и два десятка файлов дают примерно два гигабайта — цифру стоит согласовать со свободным местом. Параметр -a duration:3600 останавливает запись через час. Вырезать узкое окно удобнее через editcap, чем листать тысячи страниц вручную.

Разбор типовых проблем

Клиент не получает адрес по DHCP

Фильтр bootp показывает четыре шага: Discover, Offer, Request, ACK. Если Discover есть, а Offer нет, смотреть нужно на релей, настройки пула и ACL. Если Offer пришёл, а Request ушёл в никуда, обычно виноват второй DHCP-сервер в сегменте.

Приложение тормозит, а канал свободен

Фильтр tcp.analysis.flags и статистика Round Trip Time показывают, есть ли ретрансмиссии и растёт ли задержка. Серия duplicate ACK и fast retransmission обычно означает потери на пути, а нулевое окно — медленного получателя. Дамп снимают на обоих концах — сравнение показывает, где теряются сегменты.

TLS не устанавливается

Видно, до какого шага доходит обмен. Client Hello без ответа — вопрос к маршруту и порту. Alert сразу после handshake — несовпадение версии, шифров или истёкший сертификат. Server Name Indication в Client Hello подсказывает, к какому виртуальному хосту шло обращение, если на одном адресе их несколько.

tshark, автоматизация и разбор файлов

Консольный tshark удобен для регулярных отчётов: он читает pcap, применяет фильтр и печатает нужные поля в одну строку, которую можно передать в sort и uniq.

tshark -r capture.pcapng -Y "http.request" -T fields \
  -e http.host -e http.request.uri | sort | uniq -c | sort -rn | head
tshark -r capture.pcapng -q -z io,phs
tshark -r capture.pcapng -Y "tcp.flags.syn == 1 and tcp.flags.ack == 0" \
  -T fields -e ip.dst | sort | uniq -c | sort -rn | head

Последняя команда показывает, кто чаще всех пытается открыть соединения — быстрый способ найти источник сканирования или зацикленный клиент. Иерархия протоколов из -z io,phs показывает, что занимает канал.

Ограничения и безопасность

Wireshark не расшифровывает современный TLS без ключей сессии: видны только метаданные. Захват допустим на своём оборудовании и в своей сети. Файлы pcap могут содержать адреса, имена и cookies, поэтому их хранят ограниченное время и с правами, закрытыми от посторонних.

Итог

Wireshark окупается, когда вопрос сформулирован узко. Порядок работы простой: гипотеза, фильтр захвата, короткая запись, разбор через фильтр отображения, при необходимости — tshark для сводки. Права настраиваются один раз, записи ведутся через dumpcap, а выводы подтверждаются вторым дампом. Так анализатор становится обычным инструментом диагностики.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Поделиться: Telegram ВКонтакте