Как пользоваться Wireshark: пошаговые инструкции для анализа трафика

2119
Как пользоваться Wireshark: пошаговые инструкции для анализа трафика

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

Что показывает Wireshark

Перед работой нужно понять разницу между двумя типами фильтров. Capture filter задают до начала захвата, чтобы Wireshark записал только часть трафика. Display filter применяют после захвата, чтобы показать нужные пакеты в уже собранном файле. У этих фильтров разный синтаксис.

Работайте только со своим трафиком, тестовой сетью или сетью, где у вас есть разрешение на анализ. Перехват чужих данных может нарушать закон, внутренние правила компании и требования о защите персональных данных. В России учитывайте законодательство РФ и не используйте Wireshark для несанкционированного доступа, слежки или сбора конфиденциальной информации.

Установка Wireshark и базовый захват пакетов

Скачайте Wireshark с официального сайта проекта. На Windows установщик обычно предлагает Npcap, без которого программа не сможет полноценно захватывать пакеты. На Linux пакет часто ставят через менеджер пакетов, но пользователю могут понадобиться права на захват трафика. На macOS Wireshark ставится как обычное приложение, но доступ к сетевым интерфейсам тоже зависит от прав.

Фраза «запустите захват» означает конкретное действие: откройте Wireshark, выберите сетевой интерфейс, через который сейчас идёт трафик, и начните запись пакетов. На стартовом экране рядом с активным интерфейсом движется небольшой график. Для ноутбука по Wi-Fi чаще всего нужен интерфейс Wi-Fi, для подключения по кабелю – Ethernet. Дважды щёлкните по интерфейсу или выделите его и нажмите синюю кнопку с плавником акулы. После воспроизведения проблемы нажмите красную кнопку Stop. Затем сохраните файл через File – Save As в формате pcapng.

Не включайте захват «на всякий случай» на всех интерфейсах и не держите запись долго. Чем меньше фрагмент, тем проще найти причину. Хороший порядок такой: закрыли лишние программы, нажали Start, повторили проблему, нажали Stop, применили display filter, посмотрели цепочку пакетов.

Пошаговые сценарии Wireshark для DNS, HTTP, TCP, задержек и безопасности

Сайт не открывается, нужно проверить DNS

Сначала запустите захват. Для этого откройте Wireshark, выберите активный интерфейс Wi-Fi или Ethernet и нажмите синюю кнопку Start. Не открывайте пока лишние сайты, чтобы в файле было меньше шума. После старта захвата откройте проблемный сайт в браузере и дождитесь ошибки или долгой загрузки. Затем вернитесь в Wireshark и нажмите красную кнопку Stop.

В строку display filter введите dns и нажмите Enter. Найдите запрос к нужному домену. Проверьте, есть ли ответ от DNS-сервера, какой IP-адрес вернулся и нет ли ошибки NXDOMAIN. Если DNS-запросы уходят, но ответов нет, проблема может быть в DNS-сервере, VPN, межсетевом экране, маршрутизации или фильтрации провайдера.

Если DNS-ответ есть, скопируйте полученный IP-адрес и примените фильтр ip.addr == 203.0.113.10, подставив реальный адрес. Так вы проверите, пошло ли соединение к серверу после успешного DNS-ответа. Когда DNS работает, но TCP-соединение не начинается, причину нужно искать уже не в разрешении имени.

Нужно проверить, устанавливается ли TCP-соединение

Запустите захват так же: выберите интерфейс с активным графиком, нажмите Start, сразу воспроизведите проблему в приложении или браузере, затем нажмите Stop. Если знаете IP-адрес сервера, можно ещё до старта указать capture filter host 203.0.113.10, чтобы Wireshark записал только трафик этого адреса. Если не уверены, лучше не задавайте capture filter и отфильтруйте пакеты после записи.

После остановки захвата примените display filter ip.addr == 203.0.113.10 and tcp. Нормальное начало TCP-соединения выглядит как SYN, SYN/ACK, ACK. Если видите повторяющиеся SYN без SYN/ACK, клиент отправляет запрос, но не получает ответ. Возможные причины: сервер недоступен, порт закрыт фильтром, пакет теряется по пути или маршрут настроен неверно.

Если вместо SYN/ACK приходит RST, соединение отклоняет сервер или устройство рядом с ним. Для проверки конкретного порта используйте tcp.port == 443, tcp.port == 80 или другой нужный порт. Не делайте вывод по одному пакету: смотрите всю последовательность от первого SYN до ошибки.

Страница или приложение работают медленно

Запустите захват перед тем, как открыть медленную страницу или повторить действие в приложении. Практически это значит: нажмите Start в Wireshark, сразу нажмите кнопку или откройте страницу, дождитесь завершения загрузки или зависания, затем нажмите Stop. Для таких задач особенно вреден длинный захват, потому что лишние фоновые соединения маскируют проблему.

Сначала примените фильтр dns и проверьте, не тратится ли время на разрешение имени. Затем примените tcp.analysis.retransmission. Повторные передачи указывают на потери, перегрузку канала, проблемы Wi-Fi или нестабильный маршрут. Фильтр tcp.analysis.lost_segment помогает увидеть пропущенные сегменты, а tcp.analysis.ack_rtt полезен для оценки задержек в TCP-обмене.

Откройте Statistics – Conversations и отсортируйте TCP-соединения по Duration или Bytes. Так проще найти соединение, которое заняло больше всего времени или передало больше всего данных. Выберите пакет из подозрительного соединения, нажмите правой кнопкой и выберите Follow – TCP Stream. Wireshark соберёт поток в один диалог, если протокол позволяет прочитать содержимое.

Нужно посмотреть HTTP-запросы

Используйте этот сценарий только в тестовой среде или со своим трафиком. Запустите захват: выберите интерфейс, нажмите Start, откройте тестовый сайт по HTTP, выполните нужное действие и остановите запись кнопкой Stop. Для HTTPS такой приём не покажет полный URL, cookie и тело запроса без ключей расшифровки, потому что содержимое защищает TLS.

После остановки введите display filter http.request. В таблице пакетов будут видны HTTP-запросы. В средней панели раскройте Hypertext Transfer Protocol и посмотрите метод, Host, Request URI, User-Agent и другие заголовки. Для открытого HTTP можно нажать правой кнопкой по пакету и выбрать Follow – HTTP Stream или Follow – TCP Stream.

Если сайт работает по HTTPS, используйте фильтры tls, tls.handshake или tcp.port == 443. Wireshark обычно покажет IP-адреса, TLS-рукопожатие, часть сертификатных данных и, в некоторых случаях, имя сервера через SNI. Содержимое HTTPS-запроса без специальных условий видно не будет, и это нормальное поведение.

Нужно проверить подозрительную сетевую активность

Перед началом получите разрешение владельца системы или администратора. Запустите короткий захват: выберите интерфейс, нажмите Start, подождите 1–3 минуты в момент подозрительной активности, затем нажмите Stop. Если активность редкая, лучше параллельно смотрите журналы EDR, прокси, DNS или межсетевого экрана, потому что один pcap не всегда фиксирует нужное событие.

Откройте Statistics – Endpoints и Statistics – Conversations. Ищите незнакомые внешние IP-адреса, необычные порты, слишком частые соединения, большие объёмы исходящих данных или регулярные обращения к странным доменам. Затем примените фильтры dns, http.request, tls.handshake.extensions_server_name, icmp, tcp.flags.syn == 1 and tcp.flags.ack == 0.

Wireshark не доказывает заражение сам по себе. Пакетный след нужно сопоставить с процессами на машине, журналами безопасности, данными DNS, прокси и EDR. Один неизвестный домен может быть CDN или телеметрией легитимной программы, а частые SYN-пакеты могут быть результатом нормального сканирования внутри корпоративной сети.

Нужно передать pcap коллеге без лишних данных

Если проблема уже записана, новый захват запускать не нужно. Откройте готовый файл через File – Open. Если нужно повторить сбор, запустите захват обычным способом: выберите интерфейс, нажмите Start, воспроизведите проблему, нажмите Stop. Затем примените максимально узкий display filter, например ip.addr == 192.168.1.25 and dns или tcp.port == 443 and ip.addr == 203.0.113.10.

После фильтрации выберите File – Export Specified Packets и сохраните только displayed packets. Перед отправкой проверьте, нет ли в файле персональных данных, внутренних адресов, токенов, cookie, логинов, паролей или содержимого открытых протоколов. Для публичной публикации или передачи за пределы компании лучше обезличить файл отдельными инструментами и согласовать передачу с ответственными за безопасность.

Путь пакетов от браузера до сайта

Частые ошибки

Новички часто вводят capture filter в строку display filter. Например, tcp port 80 подходит для capture filter, а после захвата нужен вариант tcp.port == 80. Ещё одна частая ошибка – запускать запись на слишком долгое время. Для диагностики обычно хватает короткой записи, где чётко видно действие пользователя и реакцию сети.

Задача Display filter Что смотреть
DNS-запросы dns Домен, ответ, код ошибки, DNS-сервер
Трафик одного хоста ip.addr == 192.168.1.10 Все входящие и исходящие пакеты узла
HTTPS tcp.port == 443 or tls TLS-рукопожатие, SNI, ошибки соединения
Потери и повторы tcp.analysis.retransmission Повторные передачи и признаки нестабильного канала
HTTP-запросы http.request Метод, Host, URI, заголовки

FAQ

Что значит «захватить трафик» в Wireshark?

Захватить трафик значит выбрать сетевой интерфейс и записать пакеты, которые проходят через него. В Wireshark для этого выбирают Wi-Fi или Ethernet и нажимают Start. После нужного действия запись останавливают кнопкой Stop и анализируют собранные пакеты.

Почему Wireshark не показывает трафик других устройств в Wi-Fi?

Обычный режим сетевого адаптера показывает в основном трафик вашей машины, broadcast и multicast. Для просмотра чужого Wi-Fi-трафика нужны специальные условия, совместимый адаптер, monitor mode, ключи сети и законное разрешение. В корпоративной сети чаще используют зеркалированный порт коммутатора, TAP или сетевой сенсор.

Можно ли через Wireshark увидеть пароли?

В открытых протоколах вроде HTTP, FTP или Telnet чувствительные данные могут попасть в pcap в читаемом виде. В HTTPS содержимое защищает TLS, поэтому Wireshark обычно не покажет пароли, cookie и тело запроса без ключей расшифровки. Перехват чужих учётных данных незаконен и опасен.

Какой формат лучше сохранять: pcap или pcapng?

Для обычной работы в Wireshark удобнее pcapng, потому что формат хранит больше метаданных. pcap выбирают, когда файл должен открываться в старых инструментах или когда такой формат попросил получатель.

Материал носит ознакомительный характер. Используйте Wireshark только в рамках действующего законодательства и с разрешения владельца сети.
Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.
19
ИЮНЯ
2026
IT IS conf 2026

Живой диалог о будущем ИТ и ИБ

19 июня · Екатеринбург
Крупнейшая на Урале конференция для ИТ- и ИБ-сообщества: дискуссии, ИИ, киберугрозы и воркшопы.
Зарегистрироваться
Реклама. 18+ ООО «УЦСБ», ИНН 6672235068

Комнатный Блогер

Объясняю новую цифровую реальность