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

Что такое Wireshark и для чего он нужен
Wireshark — это графический сетевой анализатор протоколов. Он перехватывает пакеты с сетевого интерфейса и позволяет подробно просмотреть слои протоколов, содержимое фреймов и метаданные. Его используют:
- сетевые администраторы для отладки соединений;
- специалисты по безопасности для поиска аномалий и инцидентов;
- аналитики вредоносных программ для анализа сетевого поведения зловредов;
- исследователи и инженеры для обучения и тестирования.
Определение в одной строчке: Wireshark — инструмент для захвата, фильтрации и глубокого анализа сетевого трафика.
Как Wireshark работает — краткая модель
Wireshark получает пакеты от системной подсистемы захвата (на Linux это libpcap, на Windows — Npcap). Захваченные пакеты можно просматривать в реальном времени или сохранять в файл формата pcap/pcapng для последующего анализа. Для фильтрации используются два синтаксиса: capture‑фильтры (BPF) для сокращения объёма записи и display‑фильтры для отбора интересующих пакетов в уже захваченных данных.
Начало работы: захват пакетов
После запуска Wireshark в основном окне отображаются доступные сетевые интерфейсы и краткие графики активности рядом с ними.

- Выберите интерфейс. Дважды кликните по его имени или нажмите на значок синего плавника (shark fin).
- Захват начнётся немедленно. Нажмите на красный значок паузы, чтобы приостановить захват.

В списке пакетов вы увидите время, исходный и целевой адреса, протокол и краткую информацию. Клик по пакету раскрывает дерево протоколов и необработанные байты.

Сохранение захваченных данных
Остановите сессию и выберите File → Save или нажмите Ctrl+S. Форматы:
- pcapng — современный формат с метаданными;
- pcap — старый формат, совместим с большинством инструментов;
- dmp — опционально для некоторых платформ.

Сохраняйте файлы с понятными именами: датаинтерфейсописание.pcapng. Для инцидентов указывайте временной диапазон и источник.
Анализ ранее сохранённых сессий
Откройте файл через File → Open или Ctrl+O. Используйте вкладки «Statistics» и «Endpoints» для быстрых сводок по адресам, протоколам и потокам.

Типы фильтров в Wireshark
Wireshark поддерживает два принципиально разных фильтра:
- Capture filter (BPF) — отбрасывает пакеты ещё во время записи; синтаксис похож на libpcap/tcpdump.
- Display filter — применим к захваченному набору, поддерживает глубокие проверки полей протоколов.
Display-фильтры: как и когда использовать
Display-фильтры применяются для поиска конкретных пакетов в уже захваченном файле. Примеры:
- http — все HTTP‑пакеты;
- http.response — только ответы сервера;
- icmp — все ICMP‑пакеты;
- ip.addr == 192.168.1.10 — пакеты с участием указанного IP;
- tcp.port == 443 — пакеты с TCP‑портом 443.

Добавьте свои фильтры через Analyze → Display Filters и сохраните часто используемые.

Capture-фильтры: сокращаем объём записи
Capture-фильтры используют BPF-синтаксис и задаются до начала записи. Примеры:
- arp — захватывает только ARP;
- host 10.0.0.5 — пакеты, где участвует указанный хост;
- port 53 — только трафик DNS;
- tcp and port 80 — TCP на порту 80.
Введите фильтр в поле над списком интерфейсов и стартуйте захват.


Правила окрашивания (Coloring Rules)
Coloring rules помогают визуально выделять потоки и аномалии. Откройте View → Coloring Rules, чтобы отредактировать или импортировать правила от коллег.

Импорт и экспорт упрощают совместную работу: передайте правило с описанием цвета и условия.
Практика: захват трафика локального сервера
Мы запустим простой локальный HTTP‑сервер на Go, отправим запросы и отфильтруем http.response для просмотра ответов.
Пример простого сервера на Go:
package main
import (
"fmt"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, "Hello from local Go server")
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}- Запустите захват по интерфейсу loopback (localhost).
- Запустите сервер.
- Выполните запрос: curl http://localhost:8080
- В Wireshark примените display‑фильтр
http.response.


Вы увидите в деталях пакета HTTP‑заголовки и текст тела в виде plain text, если трафик не зашифрован.
Полезные команды и альтернативы
- wireshark — запустить GUI;
- wireshark -h — доступные параметры командной строки;
- wireshark -i INTERFACE — выбрать интерфейс для захвата.
Tshark — текстовая версия Wireshark. Примеры использования:
# Захват на интерфейсе lo и запись в файл
tshark -i lo -w capture.pcapng
# Открыть файл и применить display-фильтр
tshark -r capture.pcapng -Y "http.response" -VАльтернативы и комплементарные инструменты:
- tcpdump — лёгкий инструмент для быстрого захвата (BPF);
- Zeek (бывший Bro) — анализ и длинная корреляция событий;
- ngrep — grep для пакетов, удобен для текстовых протоколов.
Безопасность и права доступа
Важно запускать Wireshark безопасно. На Linux рекомендуется не запускать весь GUI с root‑правами. Вместо этого дайте программе dumpcap нужные capabilities или используйте setcap, чтобы позволить захват без повышения привилегий. Это уменьшает риск, если GUI содержит уязвимости.
Советы по защите:
- Используйте минимальные привилегии для захвата;
- Зашифрованные сессии (TLS) не показывают plaintext — для их анализа нужен доступ к ключам или расшифровка на стороне сервера;
- Анонимизируйте или обрезайте личные данные перед обменом pcap-файлами с третьими сторонами.
Политика конфиденциальности и соответствие (GDPR)
При захвате трафика вы можете получить персональные данные (IP‑адреса, cookies, имена пользователей). Минимизация данных и контроль доступа — обязательны. Для соответствия:
- Захватывайте только необходимые сегменты и только на время, достаточное для расследования;
- Маскируйте/удаляйте PII перед передачей файлов внешним подрядчикам;
- Ведите журнал доступа к pcap‑файлам.
Быстрый набор примеров фильтров (чек‑лист)
Display‑фильтры (Wireshark):
- http
- http.request
- http.response
- dns
- icmp
- ip.addr == 10.0.0.5
- tcp.port == 22
- tls.handshake.type == 1
Capture‑фильтры (BPF):
- host 10.0.0.5
- net 192.168.0.0/24
- port 53
- arp
- tcp port 80
Cheat‑sheet для tshark:
- Захват и запись: tshark -i eth0 -w out.pcapng
- Фильтрация при чтении: tshark -r out.pcapng -Y “http.response”
- Экспорт HTTP тела: tshark -r file.pcapng -Y “http” -T fields -e http.file_data
Чек‑листы по ролям
Сетевой администратор — перед началом анализа:
- Проверить доступность интерфейсов;
- Настроить capture‑фильтр для снижения объёма;
- Запустить захват и зафиксировать время начала/окончания.
Специалист по безопасности/инцидент‑респондер:
- Сделать полную запись трафика по подозрительному сегменту (если разрешено);
- Зафиксировать контрольные суммы и метаданные файлов;
- Сохранить копию оригинального pcap и работать с её клоном.
Аналитик вредоносных программ:
- Сфокусироваться на нетипичных соединениях и нестандартных портах;
- Изыскать повторы, C2‑связи и передачи бинарных данных;
- Коррелировать с логами хостов.
Методика захвата при инциденте — краткий SOP
- Оцените юридические рамки и получите разрешение.
- Зафиксируйте окружение: дата, время, участники, интерфейсы.
- Выберите подходящий capture‑фильтр (если нужно) или снимите полную запись.
- Сохраните исходный файл в защищённом хранилище.
- Сделайте проверяемую копию (hash, например SHA‑256).
- Анализируйте копию; при необходимости делайте дополнительный целевой захват.
- Документируйте все шаги и результаты.
Критерии приёмки: пcap содержит трафик с временными метками, охватывающими инцидент; сохранён hash файла; есть документ с описанием действий.
Когда Wireshark не подходит (ограничения)
- Для корреляции больших объёмов трафика в режиме 24/7 лучше подходят Zeek или SIEM;
- Для захвата высокоскоростных линий (10Gb+) без специализированного оборудования Wireshark может терять пакеты;
- Для автоматического длительного мониторинга Wireshark GUI — не оптимален, лучше использовать tshark/Zeek.
Сравнение: Wireshark vs tcpdump vs Zeek vs tshark
- Wireshark: GUI, глубокий анализ протоколов, удобство интерактивного разбора.
- tshark: командная версия Wireshark, подходит для скриптов и автоматизации.
- tcpdump: лёгкий, быстрый захват с BPF; удобен для быстрого снимка.
- Zeek: событийный анализ, богатая логика и интеграция в конвейер безопасности.
Выбор зависит от целей: интерактивный разбор — Wireshark; автоматизация и скрипты — tshark/tcpdump; долговременная аналитика и детекция — Zeek.
Приёмочные тесты и примеры проверок
Тестовые кейсы для проверки установки и базовой работы:
- Захват пакета ICMP при ping localhost.
- Захват и фильтрация HTTP‑ответа при localhost:8080.
- Экспорт списка конечных точек через Statistics → Endpoints.
- Убедиться, что tshark может читать сохранённый pcapng.
Критерии успеха: виден ожидаемый тип трафика, фильтры возвращают ожидаемые пакеты, файлы открываются и не повреждены.
Этические и правовые замечания
Захват чужого трафика без разрешения может нарушать законы и политику компании. Всегда документируйте разрешения и цели исследования.
Краткое резюме
Wireshark — универсальный инструмент для захвата и глубинного анализа сетевых пакетов. Он хорош для интерактивной отладки и расследований. Для большого объёма данных и длительного мониторинга дополняйте его tshark, tcpdump и Zeek. Следуйте процедурам безопасности и правилам конфиденциальности при работе с pcap‑файлами.
Важно: храните исходные файлы и журналы действий, чтобы обеспечить воспроизводимость и юридическую корректность расследования.
Быстрая шпаргалка — фильтры и команды
- Display:
http.response,ip.addr == 10.0.0.1,tcp.port == 22; - Capture:
host 10.0.0.1,port 80,arp; - tshark:
tshark -i eth0 -w out.pcapng; - Запуск GUI:
wireshark.
Авторская заметка: применяйте фильтры поэтапно — сначала сузьте область поиска capture‑фильтром, затем валидируйте гипотезы с помощью display‑фильтров и coloring rules.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента