Гид по технологиям

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

8 min read Сетевая безопасность Обновлено 20 Dec 2025
Wireshark: захват и анализ сетевых пакетов
Wireshark: захват и анализ сетевых пакетов

изображение сетевой безопасности

Wireshark — ведущий сетевой анализатор протоколов, используемый администраторами, аудиторами безопасности, аналитиками вредоносного ПО и исследователями. Он позволяет захватывать живой трафик и анализировать сохранённые дампы, чтобы обнаруживать аномалии, искать утечки данных и восстанавливать последовательность сеансов.

В этом руководстве вы найдёте практическое описание работы Wireshark, порядок захвата пакетов, советы по фильтрации и раскраске, примеры команд и чек-листы для разных ролей. В конце — краткий глоссарий и готовые шаблоны фильтров.

Что такое Wireshark и как он работает

Wireshark выполняет глубокий анализ сетевых пакетов (packet inspection). Он перехватывает пакеты на выбранном сетевом интерфейсе и декодирует их по уровням (канальный уровень, IP, транспортный уровень, прикладные протоколы). Каждый пакет можно просмотреть в трёх представлениях: список пакетов, дерево протоколов и шестнадцатеричный (raw) дамп.

Определение в одну строку: пакет — это единица сетевого обмена с заголовками и полезной нагрузкой, передаваемая между узлами.

Почему Wireshark используют профессионалы:

  • Подробный разбор протоколов (TCP, UDP, HTTP, DNS, TLS и др.).
  • Поддержка огромного числа протоколов и расширяемость.
  • Мощные display- и capture-фильтры для фокусировки на релевантных пакетах.
  • Возможность сохранять захваты в универсальных форматах (pcap, pcapng).

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

Подготовка к захвату пакетов

Перед началом убедитесь, что у вас есть права для захвата на интерфейсе (обычно root/админ в ОС). На некоторых платформах (macOS, Linux) может быть нужна настройка прав или запуск от имени администратора.

Порядок действий:

  1. Определите интерфейс (Ethernet, Wi‑Fi, Loopback). На Linux это: eth0, wlan0, lo. На Windows — имена интерфейсов от Wireshark.
  2. Решите, нужен ли листенинг в promiscuous режиме (позволяет видеть трафик не только целевого хоста). Для анализа сегментированного трафика в сети с коммутаторами promiscuous полезен вместе с зеркалированием портов (SPAN).
  3. Подготовьте capture-фильтр, если хотите ограничить объём захвата (рекомендуется для длительных сессий).

Захват пакетов: интерфейсы и первые шаги

После запуска Wireshark вы увидите список сетевых интерфейсов. Рядом с каждым интерфейсом отображается активность (график трафика).

главное окно Wireshark с интерфейсами

Как начать захват:

  • Выберите интерфейс и нажмите на синюю иконку «fin» (shark fin) или дважды кликните по интерфейсу.
  • Для приостановки захвата используйте красную иконку паузы.

При захвате Wireshark покажет таблицу пакетов: номер, время, исходный адрес, адрес назначения, протокол и краткая информация (Info).

приостановка захвата пакетов в Wireshark

Чтобы просмотреть содержимое конкретного пакета, кликните по строке — в нижней панели откроется древовидное представление протоколов, а внизу — сырой шестнадцатеричный дамп.

просмотр данных пакета в Wireshark

Совет: если вы не видите полезных данных на сетевом интерфейсе, проверьте, не шифруется ли трафик (например, TLS), и оценивайте возможность организации зеркалирования порта для захвата межхостового трафика.

Сохранение захваченных пакетов

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

  1. Остановите захват (Stop).
  2. Файл -> Сохранить или Ctrl+S.
  3. Выберите формат: pcapng (рекомендуется для современных версий), pcap (старый формат), dmp и др.

сохранение захваченных пакетов в Wireshark

Замечание: pcapng поддерживает метаданные (имя интерфейса, комментарии), поэтому чаще предпочтителен.

Анализ сохранённых дампов

Открытие ранее сохранённого файла: Файл -> Открыть или Ctrl+O.

анализ сохранённых пакетов Wireshark

Типовой анализ включает:

  • Поиск соединений по IP/портам.
  • Восстановление последовательности TCP (stream reconstruction).
  • Экспорт потоков (File -> Export Objects -> HTTP/SMB/…)
  • Поиск пересылки паролей или незащищённых сессий.

Критерий завершения анализа: вы либо нашли корень проблемы (анома́лия/неудачная TCP handshake/ошибка приложения), либо собрали достаточно данных для инцидент-ответа.

Фильтры Wireshark: capture vs display

Wireshark предоставляет два типа фильтров — захватные (capture) и отображаемые (display). Понимание различий экономит время и диск:

  • Capture-фильтры (BPF) применяются во время сбора и ограничивают, какие пакеты записываются на диск.
  • Display-фильтры применяются после захвата и фильтруют отображение в GUI, не меняя файл.

Capture-фильтры

Capture-фильтры задаются в поле над списком интерфейсов. Примеры:

  • arp — только ARP-пакеты.
  • tcp port 80 — только TCP с портом 80 (HTTP).
  • host 192.168.1.5 — пакеты от/к хосту 192.168.1.5.

Capture-фильтры используют синтаксис BPF (Berkeley Packet Filter); они выполняются в момент записи, поэтому экономят место и CPU при длительных захватах.

использование capture-фильтров в Wireshark

Display-фильтры

Display-фильтры гибче и позволяют точно выбирать пакеты внутри уже сохранённого захвата. Примеры:

  • http — все HTTP-пакеты.
  • icmp — ICMP.
  • ip.addr == 10.0.0.1 && tcp.port == 22 — трафик для SSH к 10.0.0.1.

Чтобы добавить пользовательский фильтр: Analyze -> Display Filters -> +

использование display-фильтров в Wireshark

Полезный приём: комбинируйте capture-фильтр для уменьшения объёма и display-фильтр для точной навигации.

Правила раскраски (Coloring Rules)

Wireshark поддерживает правила окраски пакетов, которые позволяют быстро выделять интересные потоки в списке пакетов. Это особенно удобно при больших дампах.

  • Настройки: View -> Coloring Rules
  • Импорт/экспорт правил возможен через меню, что позволяет делиться наборами правил с коллегами.

правила раскраски в Wireshark

Пример правила: если tcp.flags.reset == 1 — показать пакет красным для быстрого обнаружения RST-соединений.

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

Практическая демонстрация: локальный Go-сервер и захват HTTP

Для демонстрации было запущено простое HTTP-приложение на localhost. Процедура:

  1. Запустили захват на интерфейсе Loopback.
  2. Запустили локальный сервер (Go) и отправили запрос curl http://127.0.0.1:8080.
  3. В Wireshark применили display-фильтр http.response чтобы показать только ответы сервера.

демонстрационный сервер для анализа пакетов Wireshark

захват живого трафика в Wireshark

Результат: в деталях пакета видно plaintext-данные HTTP-ответа. Если бы трафик был TLS, полезная нагрузка была бы зашифрована и её содержимое не читалось бы напрямую.

Полезная команда для восстановления потока в Wireshark: правый клик на пакете -> Follow -> TCP Stream.

Полезные команды и tshark

Wireshark GUI удобен для интерактивного анализа, но для автоматизации и скриптов используют tshark — командную версию Wireshark.

Основные команды:

  • wireshark — запустить GUI.
  • wireshark -h — показать опции.
  • wireshark -i INTERFACE — выбрать интерфейс для захвата.

Примеры tshark:

  • Захват 1000 пакетов и запись в файл:
tshark -i eth0 -c 1000 -w capture.pcapng
  • Фильтрация и вывод только пакетов HTTP:
tshark -r capture.pcapng -Y http -T fields -e ip.src -e ip.dst -e http.request.uri

Tshark полезен для пакетной обработки дампов, извлечения полей и интеграции в пайплайны SIEM.

Чек-листы и роли: кто и как использует Wireshark

Сетевой администратор — быстрое диагностирование неисправностей:

  • Проверить доступность шлюза и маршрут.
  • Наблюдать TCP handshake и повторные передачи (retransmits).
  • Отсечь широковещательный/мультикастный шум.

Аудитор безопасности — расследование инцидентов:

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

Аналитик вредоносного ПО — реверс-сетевой активности:

  • Фокусируется на DNS-запросах и подозрительных доменах.
  • Ищет C2-команды в пользовательских протоколах.

Готовый чек-лист для быстрого анализа:

  1. Остановить захват и сохранить файл.
  2. Применить фильтр по IP/портам интересующего хоста.
  3. Проверить TCP handshake и RST/FIN флаги.
  4. Извлечь http/ftp/ smb объекты при необходимости.
  5. Документировать время, интерфейс и применённые фильтры.

Диагностика: когда Wireshark не помогает

  • Когда трафик полностью шифрован (TLS 1.3) и у вас нет ключей для расшифровки — полезная нагрузка не доступна.
  • Если захват происходит не на правильном сегменте сети (коммутатор без SPAN), вы можете не видеть межхостовой передачи.
  • Для больших объёмов трафика GUI может быть медленным — используйте tshark и фильтрацию при записи.

Альтернативы и дополнения: tcpdump для лёгких capture-фильтров на Linux, Zeek (ранее Bro) для анализа и корелляции событий на уровне сети.

Советы по безопасности и приватности

  • Храните дампы в защищённом хранилище; ограничьте доступ по принципу наименьших привилегий.
  • Перед экспортом удаляйте или маскируйте чувствительные поля (если отправляете дамп внешним аналитикам).
  • Соблюдайте корпоративные политики и регуляторные требования при работе с трафиком пользователей.

Полезные шаблоны фильтров

Display-фильтры:

  • Все HTTP-ответы: http.response
  • SSH между двумя хостами: tcp.port == 22 && ip.addr == 10.0.0.5
  • DNS-ответы: dns.flags.response == 1

Capture-фильтры:

  • Только ARP: arp
  • TCP к порту 443: tcp port 443
  • Трафик от конкретного хоста: host 192.168.0.10

Быстрый метод поиска причин медленной сети

  1. Отслеживание RTT: найдите SYN и соответствующий ACK, измерьте время между ними.
  2. Ищите повторные передачи (retransmission) — признак потерь.
  3. Смотрите на фрагментацию и MTU-параметры.
  4. Проверьте, нет ли ARP-спуфинга или дублирования IP.

Ментальные модели и эвристики

  • Сначала ограничьте объём данных (capture-фильтр), затем сужайте анализ display-фильтрами — это ускоряет процесс.
  • Думайте уровнями: сначала сетевой (IP), затем транспортный (TCP/UDP), затем прикладной (HTTP/DNS).
  • Внешние признаки (время, число пакетов, RST) часто указывают на причину быстрее, чем чтение полезной нагрузки.

Пример Mermeid-диаграммы: простой поток анализа

flowchart TD
  A[Начало: задача анализа] --> B{Нужны все пакеты?}
  B -- Нет --> C[Установить capture-фильтр]
  B -- Да --> D[Захват без фильтра]
  C --> E[Запустить захват]
  D --> E
  E --> F[Сохранить захват]
  F --> G[Применить display-фильтр]
  G --> H{Найдена причина?}
  H -- Да --> I[Документировать и завершить]
  H -- Нет --> J[Углублённый анализ 'TCP stream, экспорт объектов']
  J --> I

Краткий глоссарий (1 строка каждый термин)

  • Пакет: единица сетевого обмена с заголовками и полезной нагрузкой.
  • Capture-фильтр: правило, применяемое при записи пакетов.
  • Display-фильтр: правило, применяемое при отображении пакетов в Wireshark.
  • Tshark: командная версия Wireshark.

Заключение и рекомендации

Wireshark остаётся основным инструментом для сетевого анализа благодаря глубине декодирования протоколов и гибким фильтрам. Начните с малого: научитесь быстро выбирать интерфейс, применять capture-фильтры и использовать display-фильтры для точного отбора. Освойте tshark для автоматизации. Всегда соблюдайте правила безопасности при работе с дампами и делайте заметки о применённых фильтрах и времени захвата.

В конце — короткая памятка:

  • Capture перед анализом; display для детальной фильтрации.
  • Сохраняйте в pcapng для метаданных.
  • Используйте раскраску для быстрой визуальной аналитики.
  • Применяйте tshark для больших объёмов и автоматизации.

Спасибо за внимание — практикуйтесь с тестовыми дампами, создавайте свои правила и делитесь полезными наборами раскраски с командой.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Непонятный платёж от Apple — как выяснить
Помощь

Непонятный платёж от Apple — как выяснить

Home Assistant: голосовой TTS через ElevenLabs
Умный дом

Home Assistant: голосовой TTS через ElevenLabs

Тёмная тема в Gmail: как включить и улучшить
Руководство

Тёмная тема в Gmail: как включить и улучшить

Как отменить подписки в App Store
Руководство

Как отменить подписки в App Store

Как связаться с Instagram — номера и отчёты
Социальные сети

Как связаться с Instagram — номера и отчёты

FORMULATEXT в Excel: аудит и проверка формул
Excel

FORMULATEXT в Excel: аудит и проверка формул