Среди множества инструментов для обеспечения сетевой безопасности Wireshark выделяется своей способностью захватывать и отображать пакеты в реальном времени, что особенно полезно для диагностики и анализа сети.
Wireshark прост в использовании и является отличным вариантом для новичков, но при этом достаточно мощный для профессионалов, которым нужны детализированные данные о сетевом трафике.
В этом руководстве объясняется, как установить Wireshark и использовать его для выявления проблем с подключением, обнаружения подозрительной активности и анализа производительности сети.
Что такое Wireshark?
Wireshark — это бесплатный и с открытым исходным кодом анализатор сетевых протоколов. Он захватывает и отображает полный контент пакетов, включая все уровни протоколов (например, Ethernet, HTTP, TCP).
Wireshark может анализировать сетевой трафик в реальном времени или проверять ранее захваченные данные пакетов. Это делает его ценным инструментом для анализа поведения сети, устранения неполадок и выявления потенциальных угроз безопасности.
Wireshark совместим с большинством основных операционных систем, включая Windows, Linux и macOS.
Зачем использовать Wireshark?
Если вы новичок в использовании Wireshark, первое, что вы заметите — это удобный графический интерфейс, который отображает захваченные пакеты с детализированной информацией на уровне протоколов. Эти данные предоставляют прямой доступ к тому, что на самом деле происходит в сети.
Wireshark стоит использовать, потому что он:
Бесплатен, без скрытых подписок или лицензионных сборов.
С открытым исходным кодом, активно поддерживается и обновляется сильным и активным сообществом.
Способен распознавать и декодировать сотни протоколов, включая TCP, UDP, HTTP, TLS, DNS и ��ногие другие.
Совместим с Windows, Linux и macOS.
Может захватывать живой трафик, проходящий через сетевой интерфейс, включая исходные и конечные IP‑адреса, типы протоколов и информацию о полезной нагрузке.
Полезен для офлайн‑анализа, позволяя проверять ранее сохранённые захваченные пакеты.
Оснащён мощными фильтрами отображения и захвата для быстрого сужения релевантного трафика.
Преимущества Wireshark
Wireshark обладает множеством функций, которые позволяют мониторить повседневный сетевой трафик, а также глубоко анализировать пакеты. Преимущества использования Wireshark включают:
Универсальный инструмент для анализа сети. Используйте Wireshark для диагностики, улучшения производительности сети, реагирования на инциденты и цифровой криминалистики.
Мощные визуализации. Включает цветовую кодировку для просмотра пакетов, интерактивные графики, деревья иерархий протоколов и инструменты для восстановления потоков.
Глубокая способность инспекции. Пользователи могут исследовать каждый уровень захваченного трафика. Захваченные пакеты данных раскрывают поведение протоколов, порты, флаги, заголовки и метаданные для полного контекста каждой транзакции.
Поддержка как проводных, так и беспроводных сетей. Анализирует трафик с Ethernet, Wi‑Fi, loopback и других типов интерфейсов.
Дешифровка трафика. Поддерживает дешифровку SSL/TLS, WPA/WPA2 и других протоколов шифрования с необходимыми ключами.
Пользовательские правила цветовой маркировки. Выделяйте определённые шаблоны трафика для быстрого выявления протоколов, ошибок или аномалий.
Захват пакетов в реальном времени и анализ после захвата. Легко переключайтесь между живым мониторингом и офлайн‑проверкой захваченных данных.
Поддержка плагинов и скриптов. Поддерживает пользовательские декодировщики протоколов и автоматизацию рабочих процессов с помощью Lua‑скриптов.
Как установить Wireshark
В следующих разделах объясняется самый быстрый способ установки версии Wireshark с графическим интерфейсом на Linux, Windows и macOS.
Примечание: Wireshark — это приложение с графическим интерфейсом. Для Linux‑дистрибутивов, которые по умолчанию не включают графическую среду, таких как Alpine или Arch Linux, необходимо установить рабочее окружение перед запуском Wireshark. Однако, учитывая минималистичную природу и предполагаемое использование этих систем, версия Wireshark для командной строки (tshark) часто является более подходящим вариантом для захвата и анализа трафика.
Установка Wireshark на Linux
Выполните следующие шаги для установки Wireshark на Linux:
Установите Wireshark
Откройте командную строку и введите команду установки для вашего дистрибутива Linux:
Дистрибутив | Команда для установки Wireshark |
Ubuntu/Debian | sudo apt install wireshark ‑y |
Fedora/Rocky Linux/RHEL | sudo dnf install wireshark ‑y |
openSUSE | sudo zypper install wireshark ‑y |
Примечание: Kali Linux часто используется для анализа сети и тестирования на проникновение. Wireshark уже включён в его состав, и дополнительная установка не требуется.
2. Разрешите захват пакетов без прав суперпользователя (только для дистрибутивов на основе Debian)
Во время установки на дистрибутивах на основе Debian, таких как Ubuntu, вам будет предложено следующее сообщение:

Когда появится запрос, выберите «Yes» и нажмите Enter, чтобы разрешить пользователям без прав суперпользователя захватывать сетевые пакеты. Это означает, что вам больше не нужно запускать всё приложение с привилегиями sudo. Wireshark теперь проще и безопаснее в использовании.
3. Добавьте пользователя в группу Wireshark
Чтобы добавить текущего пользователя в системную группу wireshark, выполните команду:
sudo usermod -aG wireshark $USER
Теперь только пользователи из группы wireshark смогут захватывать пакеты без прав суперпользователя.
4. Установите права для dumpcap (только Fedora, Rocky и RHEL)
Wireshark использует вспомогательную программу dumpcap для захвата пакетов. На Fedora, Rocky Linux и RHEL вам нужно вручную предоставить dumpcap необходимые права для захвата пакетов без привилегий суперпользователя:
sudo setcap cap_net_raw,cap_net_admin=eip $(which dumpcap)
Теперь бинарный файл dumpcap может захватывать трафик без полного доступа к правам суперпользователя.
Примечание: Этот шаг не требуется на системах на основе Debian, если вы выбрали «Yes» при установке.
5. Выйдите и войдите снова
Выйдите из системы или перезагрузите её, чтобы изменения в группе вступили в силу.
Установка Wireshark на Windows
Для установки Wireshark на Windows следуйте шагам, приведённым ниже:
1. Скачайте установочный файл
Перейдите на официальную страницу загрузки Wireshark и нажмите на ссылку «Windows x64 Installer», чтобы скачать последнюю стабильную версию.

2. Установите Wireshark
Дважды щелкните по загруженному.exe файлу, чтобы запустить мастер установки Wireshark, и следуйте инструкциям на экране.
3. Выберите компоненты
Когда появится окно, выберите компоненты для установки Wireshark. Если вы не уверены, оставьте выбор по умолчанию и нажмите «Next».

Дополнительные инструменты можно добавить или удалить позже.
4. Установите Npcap (обязательно)
Npcap — это драйвер захвата пакетов, который позволяет Wireshark захватывать живой сетевой трафик. Эта опция обычно выбрана по умолчанию.

Оставьте эту опцию включённой и нажмите «Next».
5. Установите USBPcap (необязательно)
USBPcap позволяет Wireshark захватывать USB‑трафик. Оставьте этот необязательный компонент невыбранным, если вам не требуется захват пакетов USB.

Нажмите «Установить», чтобы начать процесс установки.
6. Запустите Wireshark
После завершения установки запустите приложение Wireshark из меню «Пуск» или с ярлыка на рабочем столе.
Установка Wireshark на macOS
Для установки Wireshark на macOS следуйте приведённым ниже шагам.
1. Скачайте установочный файл Wireshark
Перейдите на официальную страницу загрузки Wireshark и скачайте образ диска для macOS Arm или macOS Intel, в зависимости от архитектуры вашего Mac.

Примечание: Чтобы проверить архитектуру вашего Mac, откройте меню Apple >> «About this Mac». Если указано Intel, скачайте версию для Intel, а если указано Apple M1/M2/M3, скачайте версию для Arm.
2. Откройте образ диска
Дважды щелкните по загруженному.dmg файлу, чтобы открыть установочный образ диска.
3. Скопируйте Wireshark в папку «Applications»
Перетащите значок Wireshark в папку «Applications».

4. Откройте Wireshark
После того как пакет приложения Wireshark будет скопирован, запустите Wireshark из папки «Программы».
Как использовать Wireshark?
Графический интерфейс является основным методом для захвата и анализа сетевого трафика в Wireshark. Пользователи могут взаимодействовать с панелями инструментов, меню и визуальными отображениями для интерпретации сетевых данных в реальном времени. Захваченные данные также могут быть экспортированы и сохранены для последующего анализа.
Кроме того, пользователи могут вводить команды через tshark — инструмент командной строки Wireshark. Хотя он не имеет графического интерфейса, он предоставляет аналогичную функциональность и отлично подходит для систем без GUI.
Объяснение захвата пакетов Wireshark
Захват пакетов также называется «сниффингом». Термин «сниффинг» относится к пассивному наблюдению за трафиком, когда инструмент перехватывает и регистрирует пакеты, передаваемые через сеть, без их изменения. Wireshark переводит выбранный сетевой интерфейс в режим «Promiscuous», что позволяет захватывать каждый пакет, который он видит.
Wireshark разбивает каждый захваченный пакет на уровни протоколов, такие как Ethernet, IP и TCP, и отображает как необработанный поток байтов, так и декодированную читаемую версию.
Как начать захват пакетов
Для захвата и анализа пакетов в Wireshark:
Запустите Wireshark.
Выберите сетевой интерфейс из списка. Идеально выбрать тот, который показывает активный трафик.
Нажмите на синюю кнопку в виде плавника акулы, чтобы начать захват пакетов.

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

Столбцы содержат следующую информацию для каждого сетевого пакета:
Столбец | Описание |
No. | Номер пакета в последовательности захвата. |
Time | Время, прошедшее с начала захвата. |
Source | IP‑адрес или MAC‑адрес источника пакета. |
Destination | IP‑адрес или MAC‑адрес назначения пакета. |
Protocol | Тип протокола, например, TLS v1.2, TCP, ICMP и так далее |
Length | Размер пакета в байтах. |
Info | Краткое описание функции или содержимого пакета. |
Инспекция деталей пакета
Выбирая пакет в списке, вы можете заполнить два дополнительных окна. Нижняя левая панель организует структуру пакета по уровням протокола. Пользователи могут развернуть уровни, чтобы просмотреть заголовки отдельных пакетов и их полезные нагрузки.

Просмотр необработанных байтов
Правая нижняя панель отображает необработанный поток байтов пакета в формате как в шестнадцатеричном виде, так и в ASCII.

Эта информация полезна для выявления аномалий протоколов, проверки полезных нагрузок на уровне приложения или отладки бинарных протоколов.
Остановить захват и сохранить данные
Когда вы готовы остановить захват пакетов, нажмите на красную кнопку «Stop» на панели инструментов.

Чтобы сохранить захваченные данные, перейдите в меню «File» и выберите «Save As», чтобы сохранить сессию в формате.pcapng.

Вы можете открыть сохранённые захваты из списка недавних файлов на главном экране.

Формат.pcapng позволяет делиться файлами с другими для совместной работы по устранению проблем и решению сетевых вопросов.
Объяснение фильтров Wireshark
Wireshark захватывает огромное количество данных. Может быть трудно найти конкретные пакеты для анализа. Фильтры позволяют сузить объём данных до удобоваримой величины.
Существует два типа фильтров в Wireshark: фильтры захвата и фильтры отображения.
Фильтры захвата Wireshark
Фильтры захвата применяются до начала захвата пакетов. Они ограничивают то, что Wireshark записывает, и не могут быть изменены после начала захвата.
Чтобы настроить фильтры захвата в Wireshark:
Нажмите на Capture в панели инструментов и выберите опцию Capture Filters.

Нажмите на знак +, чтобы добавить новый фильтр.
Введите имя фильтра и соответствующее выражение. Например:
Фильтр захвата
Описание
tcp
Захватывать только TCP‑трафик
port 80
Захватывать только трафик на порту 80
host 192.168.1.1
Захватывать только трафик к и от указанного IP
Нажмите «ОК», чтобы сохранить фильтр.

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

Например, вы можете применить следующие фильтры:
Фильтр отображения | Описание |
http | Показывать только HTTP‑трафик. |
ip.addr == 192.168.1.1 | Показывать только трафик к и от конкретного IP. |
tcp.flags.syn == 1 | Показывать только TCP SYN‑пакеты (попытки соединений). |
dns.qry.name contains “example.com” | Показывать DNS‑запросы для «example.com„.“» |
Фильтры отображения не изменяют данные и могут быть изменены в любой момент.
Wireshark и утилита Ping
Wireshark может захватывать и анализировать пакеты ICMP Echo Request и Reply, генерируемые командой ping.
Чтобы мониторить активность ping в Wireshark:
Начните захват пакетов в Wireshark.
Откройте терминал и введите следующую команду:
ping 8.8.8.8Примените фильтр отображения, введя следующее в поле фильтра и нажав Enter:
icmp

Теперь Wireshark отображает пакеты Echo Request и Echo Reply, а также значения времени обратного пути (RTT) и времени жизни (TTL).
Эти данные полезны для диагностики задержек в сети, потерь пакетов и общих проблем с подключением.
Опции цветовой маркировки в Wireshark
Wireshark применяет стандартные цветовые правила для выделения различных типов пакетов и состояний в списке пакетов. Эти визуальные подсказки помогают пользователям быстро обнаруживать шаблоны, различать протоколы и выявлять аномалии.
Чтобы просмотреть или настроить цветовые правила в Wireshark:
Откройте меню «View» и выберите «Coloring Rules».

Откроется окно, в котором перечислены текущие правила, их фильтры и назначенные цвета. Стандартные цвета включают:
Цвет
Значение
Светло‑голубой
TCP трафик
Светло‑зелёный
HTTP трафик
Чёрный
Некорректные или ошибочные пакеты
Тёмно‑синий
DNS трафик
Красный
Повторная передача TCP или проблемы
Чтобы добавить пользовательское правило, нажмите кнопку +.
Введите имя для правила, например, Blocklisted IP.
В поле Filter введите корректное выражение для фильтра отображения, например:
ip.addr == 192.0.2.1
Используйте вкладки Foreground и Background, чтобы выбрать пользовательские цвета.
Нажмите «OK», чтобы применить изменения.

Теперь заблокированные IP‑адреса будут отображаться в списке пакетов в выбранном вами цвете.
Примечание: Чтобы удалить всю цветовую маркировку из списка пакетов и отобразить пакеты в обычном тексте, выберите опцию Colorize Packet List в меню View.
Режим Promiscuous в Wireshark
Режим Promiscuous позволяет Wireshark захватывать все пакеты, которые видны сетевому интерфейсу. Этот режим включён по умолчанию на всех интерфейсах.
Хотя режим Promiscuous полезен для общего анализа сети, в некоторых средах он может нарушать политику конфиденциальности или регламенты, особенно если пакеты не предназначены для вашего устройства.
Чтобы отключить режим Promiscuous, нажмите Ctrl+K и снимите галочку с поля Promiscuous для тех интерфейсов, которые вы хотите изменить.

Тем же методом можно снова включить режим Promiscuous. Когда он отключён, Wireshark будет отображать только пакеты, направленные к вашему устройству или от него на затронутом интерфейсе.
Командная строка Wireshark
При установке Wireshark на Windows и macOS пакет также включает tshark, командную строку, аналогичную Wireshark. tshark предоставляет схожую функциональность захвата пакетов, но без графического интерфейса. Вместо визуальных отображений tshark позволяет пользователям:
Захватывать пакеты с интерфейсов.
Применять фильтры захвата и отображения.
Отображать информацию о пакетах в реальном времени прямо в терминале.
Сохранять вывод в файлы.pcapng.
tshark — это предпочтительный инструмент для пользователей, которые хотят автоматизировать задачи и встроить функциональность Wireshark в скрипты. Это единственный вариант при работе в средах без графического интерфейса, например, на хедлесс‑серверах.
Некоторые Linux‑дистрибутивы, такие как Kali Linux, включают tshark по умолчанию или пакуют его в основной пакет Wireshark (openSUSE). Однако для большинства дистрибутивов требуется отдельная установка tshark.
Таблица ниже показывает команды для установки tshark на Linux:
Дистрибутив | Команда для установки tshark |
Debian/Ubuntu | sudo apt install tshark ‑y |
Fedora/RHEL/Rocky | sudo dnf install wireshark‑cli ‑y |
Arch Linux | sudo pacman ‑S wireshark‑cli |
Alpine | sudo apk add wireshark |
После установки tshark откройте терминал и введите следующую команду, чтобы вывести список доступных интерфейсов:
tshark -D

Чтобы захватить трафик на интерфейсе 1 (enp0s3) и сохранить данные в файл capture.pcapng, введите:
tshark -i 1 -w capture.pcapng

Нажмите Ctrl+C, чтобы остановить захват пакетов. Файл capture.pcapng теперь содержит все пакеты, захваченные до момента остановки захвата.
Используйте следующую команду, чтобы записать вывод в файл и одновременно вывести его в терминал:
tshark -i enp0s3 -w capture2.pcapng -P

Вы можете применить фильтры захвата и отображения для выявления релевантной информации. Например, чтобы применить фильтр захвата для HTTP‑трафика, введите:
tshark -i enp0s3 -f "tcp port 80" -w capture2.pcapng
После того как данные сохранены в файл, используйте tshark для чтения и фильтрации файла, чтобы отобразить данные в терминале:
tshark -r capture2.pcapng -Y "ip.addr == 185.15.59.224"

Вывод только отображает пакеты из файла capture2.pcapng, которые направлены к или от указанного IP‑адреса.
Команды Wireshark
В следующем разделе перечислены горячие клавиши и действия Wireshark GUI, операторы фильтров и синтаксис, а также основные и продвинутые команды tshark.
Горячие клавиши Wireshark GUI
Горячая клавиша | Действие |
|---|---|
Ctrl+E | Начать захват. |
Ctrl+E | Остановить захват. |
Ctrl+S или Ctrl+Shift+S | Сохранить текущий файл захвата. |
Ctrl+O | Открыть файл захвата (.pcap,.pcapng и так далее). |
Ctrl+F | Поиск пакета по строке или фильтру отображения. |
↓ / ↑ | Перемещение к следующему или предыдущему пакету в списке. |
Ctrl+↓ / Ctrl+↑ | Перемещение к следующему или предыдущему пакету в том же сеансе. |
Enter | Развернуть или свернуть элемент в панели подробностей. |
Backspace | Перейти к родительскому узлу в панели подробностей пакета. |
Tab или Shift+Tab | Навигация между элементами интерфейса (например, панель фильтра, список пакетов). |
Операторы фильтров отображения
Оператор | Описание | Пример |
|---|---|---|
| Равно |
|
| Не равно |
|
| Больше |
|
| Меньше |
|
| Больше или равно |
|
| Меньше или равно |
|
| Логическое И |
|
| ` | |
| Логическое НЕ |
|
Примеры фильтров отображения
Действие | Фильтр отображения |
|---|---|
Фильтровать по IP |
|
Фильтровать по исходному IP |
|
Фильтровать по IP назначения |
|
Исключить IP |
|
Диапазон IP |
|
Подсеть |
|
Фильтр по протоколу |
|
TCP порт |
|
TCP порт назначения |
|
IP и порт |
|
Временная метка |
|
Флаг SYN |
|
HTTP Host |
|
Широковещательный трафик |
|
Многоадресный трафик |
|
MAC адрес |
|
Примеры фильтров захвата
Сценарий | Фильтр захвата |
|---|---|
Захват всего трафика от хоста |
|
Захват всего трафика к хосту |
|
Захват трафика к и от хоста |
|
Захват трафика с конкретного порта |
|
Захват только TCP трафика |
|
Захват только UDP трафика |
|
Захват только DNS трафика (UDP порт 53) |
|
Захват ICMP (ping) трафика |
|
Захват HTTP трафика |
|
Захват HTTPS трафика |
|
Захват трафика с сети |
|
Исключить SSH трафик |
|
Примеры базовых команд tshark
Команда | Описание |
|---|---|
| Список всех доступных интерфейсов. |
| Захват пакетов на конкретном интерфейсе. |
| Сохранить захваченные пакеты в файл. |
| Захват трафика в течение 30 секунд. |
| Применить фильтр захвата для записи только HTTPS трафика. |
| Применить фильтр отображения для показа только HTTP трафика из сохранённого файла. |
| Вывести только выбранные поля (в этом примере — исходный и целевой IP). |
| Показать статистику ввода/вывода с интервалом 1 секунда. |
| Показать TCP‑сессии. |
Примеры продвинутых команд tshark
Команда | Описание |
|---|---|
| Захватить 100 пакетов и автоматически остановить захват. |
| Показать пакеты в реальном времени в терминале и записать их в файл. |
| Фильтровать и отображать только HTTP‑запросы из файла захвата. |
| Отобразить выбранные поля (исходный IP, целевой IP, размер кадра). |
| Экспортировать выбранные поля в CSV файл. |
| Вывести данные в структурированном формате JSON. |
| Извлечь доменные имена из DNS‑запросов. |
| Захватить 10 TCP SYN пакетов для выявления попыток соединений. |
| Захватить трафик к и от конкретного IP‑адреса. |
| Начать захват в фоновом режиме. |
| Печать количества пакетов в секунду за 60 секунд. |

Когда багживёт «между клиентом и сервером», догадки не помогают — нужен трафик. Если Wireshark и безопасность API/инфры для вас не теория, а способ быстрее закрывать инциденты и спорные кейсы, приходите на бесплатные занятия от преподавателей профильных курсов:
26 января 20:00 — Готовые решения и лучшие практики для надёжной защиты API в архитектуре бэкенда. Записаться
27 января 19:00 — Docker hardening + IaC security: типовые ошибки и чек-лист безопасной инфраструктуры. Записаться
27 января 20:00 — Wireshark 1/2: интерфейс и возможности. Записаться
