Битлента
Сетевые команды и утилиты5 мин чтения·

Wireshark: набор фильтров отображения для DNS, TCP-сбросов и повторов

Готовые фильтры отображения Wireshark для поиска DNS-ошибок, сбросов соединения, повторных передач и медленных ответов в собственном дампе трафика.

Кратко

Фильтр отображения вводится в строке над списком пакетов: dns, tcp.flags.reset == 1, tcp.analysis.retransmission. Зелёная строка означает верный синтаксис. Анализировать нужно только свой трафик или трафик сети с разрешения владельца.

Фильтр захвата и фильтр отображения: не путайте

В Wireshark два разных языка фильтров. Фильтр захвата, синтаксис BPF, задаётся до начала записи и определяет, какие пакеты вообще будут сохранены; он тот же, что в tcpdump: host 192.168.1.20 and port 53. Фильтр отображения применяется к уже записанным пакетам и просто скрывает лишние; у него собственный язык с полями вида ip.addr и tcp.port.

Путаница ведёт к ошибкам: запись port 53 в строке отображения будет воспринята как ошибка, а ip.addr == 192.168.1.20 нельзя использовать как фильтр захвата. Строка фильтра отображения подсвечивается: зелёным при верном синтаксисе, красным при ошибке, жёлтым, если запись допустима, но сомнительна, например из-за неоднозначности.

Работать нужно с собственным трафиком либо в сети, где вам разрешили перехват. Файлы захвата содержат адреса и иногда содержимое незашифрованных протоколов, поэтому храните и передавайте их осторожно.

Основные операторы и структура выражений

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

ОператорСмыслПример
==Равноip.addr == 192.168.1.20
!=Не равноtcp.port != 443
&& или andОба условияip.src == 192.168.1.20 && tcp
or (или две вертикальные черты)Любое из условийdns or icmp
! или notОтрицание!arp
containsСодержит строкуframe contains "example"
matchesСовпадает с регулярным выражениемhttp.host matches "example"
in { }Входит в наборtcp.port in {80 443 8080}

Внимание: фильтр ip.addr != 192.168.1.20 работает не так, как ожидают. Пакет проходит, если хотя бы один из его адресов не равен указанному, поэтому почти всё пройдёт. Правильная запись — !(ip.addr == 192.168.1.20). Это самая частая ошибка новичков.

Подсказка: если щёлкнуть правой кнопкой по значению поля в панели деталей и выбрать «Применить как фильтр», Wireshark сам построит корректную запись. Так можно научиться синтаксису, не заучивая имён полей.

Фильтры для повседневной диагностики

Ниже набор записей, которых хватает в большинстве случаев. Вводите их в строку над списком пакетов и нажимайте Enter.

  • dns — все DNS-сообщения; dns.qry.name == "example.com" оставит запросы к конкретному имени.
  • dns.flags.rcode != 0 — DNS-ответы с ошибкой, например несуществующее имя.
  • ip.addr == 192.168.1.20 — весь трафик узла; ip.src и ip.dst ограничивают направление.
  • tcp.port == 443 или udp.port == 53 — трафик на порт.
  • tcp.flags.syn == 1 && tcp.flags.ack == 0 — начальные SYN-пакеты, то есть попытки соединения.
  • tcp.flags.reset == 1 — сбросы соединения.
  • icmp — сообщения ICMP, в том числе ping и уведомления о недостижимости.
  • arp — обмен ARP в локальной сети.
  • http.request — HTTP-запросы в открытом виде; для HTTPS содержимое недоступно.
  • tls.handshake.type == 1 — сообщения ClientHello, с которых начинается согласование шифрования.
  • tls.handshake.extensions_server_name == "example.com" — ClientHello с указанным именем сервера.

Для выделения работы с сетью в домашней среде часто достаточно сочетания: ip.addr == адрес && (dns or tcp.flags.reset == 1). Так вы одновременно увидите запросы имён и обрывы соединений одного устройства.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

Признаки проблем: фильтры анализа TCP

Wireshark сам размечает признаки проблем в поле tcp.analysis. Его записи не хранятся в пакетах, а вычисляются программой, поэтому это очень удобный слой поверх обычных фильтров.

ФильтрЧто показывает
tcp.analysis.flagsВсе пакеты, у которых есть предупреждения анализа
tcp.analysis.retransmissionПовторные передачи сегментов
tcp.analysis.fast_retransmissionБыстрые повторные передачи после дублирующих подтверждений
tcp.analysis.duplicate_ackДублирующие подтверждения
tcp.analysis.lost_segmentПотерянный сегмент по номерам последовательности
tcp.analysis.zero_windowПолучатель объявил нулевое окно приёма
tcp.analysis.out_of_orderСегменты пришли не по порядку

Как трактовать. Единичные повторы в длинной загрузке — норма. Стабильно высокая доля повторов и дублирующих подтверждений говорит о потерях на пути: проверьте Wi-Fi, кабель, загрузку канала. Нулевое окно указывает на медленное приложение-получатель, а не на сеть. Сбросы сразу после SYN означают, что порт закрыт или соединение отвергнуто фильтром.

Чёрные строки с красным текстом в списке — стандартная подсветка проблемных TCP-пакетов, и их удобно листать, но опирайтесь всё же на цифры, а не на цвет.

Порядок работы с дампом

  1. Откройте файл или запишите трафик, воспроизведя проблему; запись держите короткой.
  2. Начните с общего: меню «Статистика», пункт «Диалоги», чтобы увидеть, какие пары узлов обменялись большим объёмом данных.
  3. Примените ip.addr для нужного устройства.
  4. Добавьте фильтры анализа TCP и оцените долю проблемных пакетов.
  5. Щёлкните по подозрительному пакету правой кнопкой и выберите «Следовать» и затем «TCP-поток», чтобы увидеть весь обмен сессии.
  6. Сохраните нужные пакеты через экспорт выделенных, а не весь дамп, если собираетесь показать его специалисту.

Для отправки в техподдержку удаляйте лишнее: файл может содержать посторонний трафик и незашифрованные данные. Если сомневаетесь, что вправе делиться дампом, не отправляйте его.

Отличия систем и ограничения

Wireshark выглядит и работает одинаково в Windows, macOS и Linux. Различается способ захвата: в Windows нужен драйвер Npcap, который ставится вместе с программой, в Linux и macOS доступ к интерфейсам требует настройки прав или запуска с повышенными привилегиями. Захват по Wi-Fi показывает только пакеты вашего устройства: чтобы видеть эфир, нужен специальный режим монитора, а он есть не у всех адаптеров и всех систем.

Не забывайте про шифрование: TLS скрывает содержимое, но заголовки TCP, размеры и тайминги остаются видимыми, и для поиска сетевых проблем этого достаточно. Расшифровка чужого трафика не входит в законную диагностику.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
wiresharkфильтрыtcpdns

Часто задаваемые вопросы

Читайте также