Wireshark что это за программа

Руководство по использованию Wireshark

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Системные администраторы используют массу программ для анализа трафика и поиска причин сбоев. Одной из самых популярных утилит для анализа сетевого трафика является Wireshark. Возможности программы безграничны – от захвата пакетов, передаваемых в сети, до извлечения отдельных файлов для их изучения и проверки.

Поговорим об этой программе подробнее.

Назначение программы Wireshark

Программный продукт Wireshark перехватывает входящие и исходящие TCP-пакеты. И благодаря встроенным функциям мониторит содержимое, ищет ошибки. Заметно упрощает использование программы система фильтров, а также простой и логичный графический интерфейс на фреймворке GTK+ с поддержкой открытого API (внешне окна похожи на Windows).

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Изначально разработчики назвали проект Ethereal, и предназначался он исключительно для Ethernet-сетей. В 2006 году из-за проблем с торговой маркой произошло переименование. По функционалу программа схожа с tcpdump, но получила большую популярность за счет интерфейса и богатых возможностей сортировки и фильтрации.

Основные возможности Wireshark

Сетевой трафик преобразуется буквально «на лету». В программу «заложена» структура различных протоколов, поэтому пользователь работает с перехватываемым информационным потоком. Единственное ограничение заключается в списке поддерживаемых стандартов – он ограничивается возможностями библиотеки pcap. Правда, функционал легко расширяется скриптами на языке Lua.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Востребованные функции сетевого анализатора Wireshark:

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

Интерфейс программы

Еще одно преимущество Wireshark – русскоязычный интерфейс. Правда, встроенная справка идет только на английском, поэтому самостоятельно разбираться в программе без знания языка придется при помощи переводчика. Или ориентироваться на наименования пунктов меню, которые также переведены на русский. Главное, понимать принцип работы программы и не бояться огромного массива данных, поступающего при сниффинге трафика.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Также выделены опции для работы с сетями Wi-Fi и Bluetooth (пункт «Беспроводные»). Если для анализа сетевого трафика понадобилось подключение дополнительных скриптов, поддержка Lua активируется в разделе «Инструменты». Тестовый запуск перехватчика затруднений не вызывает, достаточно выбрать нужную сеть и нажать «Запуск». Процесс будет идти непрерывно до ручного закрытия программы или нажатия «Стоп».

Как пользоваться Wireshark

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

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Основные приемы:

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

В любом случае оптимально сначала опробовать все возможности и лишь затем пытаться применять утилиту по прямому назначению.

Источник

Wireshark для всех. Лайфхаки на каждый день

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа
Пакет с сертификатами от Хабра

Практические варианты использования

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

Расшифровка трафика SSL/TLS

Chrome и Firefox могут записывать логи сессионных ключей, которые используются для шифрования трафика SSL/TLS. Наша задача — включить запись этих логов, а потом загрузить их в Wireshark для анализа. Предполагается, что у нас есть физический доступ к компьютеру пользователя, трафик которого мы хотим расшифровать. Или к серверу, который устанавливает зашифрованное соединение с пользователем.

Сначала включаем запись ключей.

Старые билды Windows 10

В старых билдах Windows 10 работает старый метод. Заходим в Панель управленияСистема и безопасностьСистема. На вкладке «Дополнительные параметры системы» нажимаем кнопку «Переменные среды».

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Добавляем для пользователя новую переменную SSLKEYLOGFILE и указываем путь до файла.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

В результате получаем логи с ключами, начало файла:

Новые билды Windows 10

В более новых версиях после установки Windows 10 старый способ добавления переменных окружения может больше не работать. Тогда есть альтернативный вариант с помощью команды в оболочке PowerShell.

[Environment]::SetEnvironmentVariable(«PATH», «C:\TestPath», «User»)

Первый параметр — это имя переменной, второй — значение, третий — для какого уровня переменная (пользовательский или системный).

[Environment]::SetEnvironmentVariable(«SSLKEYLOGFILE», «D:\wireshark», «User»)

Linux и Mac OS X

Под Linux и Mac OS X можно использовать такую команду для изменения переменной окружения и ведения логов — с запуском браузера из того же терминального окна, поскольку переменные окружения всегда работают в пределах одной сессии.

После накопления лога запускаем Wireshark.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Заходим в «Параметры», там на вкладке «Протоколы» (Protocols) находим раздел TLS (раньше он назывался SSL) — и указываем путь к файлу с логами и ключом, который использовался в сессии симметричного шифрования: (Pre)-Master-Secret log filename.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Например, при заходе пользователя на сервер Gmail в окне инспектирования пакетов QUIC мы видим обычные пакеты QUIC, зашифрованные ключом TLS.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Но в нижней части экрана появляется новая вкладка Decrypted QUIC, которая показывает расшифрованное содержимое этих пакетов.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Такой метод расшифровки трафика клиента не требует установки Wireshark на его компьютер, достаточно только скачать дамп с ключами, а потом использовать его вместе с дампом трафика.

Примечание. Этот способ не ограничен только HTTP. Точно так же можно перехватывать и расшифровывать трафик SSL/TLS в других потоках. Например, зашифрованный трафик от сервера MySQL.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Анализируем трафик с другого компьютера

Если нужно разобраться с сервером в продакшне, то удобно скопировать оттуда файлы pcap — и проанализировать трафик на личном компьютере.

Записываем пакеты на сервере с помощью сниффера пакетов tcpdump, который входит в стандартный комплект *nix:

Затем копируем файлы к себе на компьютер:

Здесь уже запускаем Wireshark и открываем полученный файл.

Есть вариант отслеживать серверный трафик в реальном времени со своего домашнего/рабочего компьютера. Например, весь трафик, кроме портов 22 и 53:

Примерно то же самое с компьютера под Windows:

Ищем проблемы

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

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Теперь из всего записанного трафика остались только пакеты, принадлежащие конкретно этому соединению.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

На скриншоте мы видим пакеты с начала установки соединения TLS: пакет с приветствием клиента, ответный пакет с приветствием сервера, предъявленный сертификат, список шифров и так далее. Содержимое каждого пакета можно изучить отдельно. Очень удобно.

Типичный паттерн — использовать Wireshark для диагностики конкретных проблем. Например, в случае разрыва TLS-соединения мы можем зайти и посмотреть, кто его разорвал (клиент или сервер), на каком этапе это произошло и по какой причине.

Содержимое пакетов

Побайтовое содержимое каждого пакета — это настоящая магия. Конкретно эта функциональность Wireshark позволяет выявить самые серьёзные баги. Например, несколько лет назад выяснилось, что гигабитные Ethernet-контроллеры Intel 82574L отключаются, если отправить на них специально сконструированный пакет с определённой последовательностью байтов — так называемый «пакет смерти». Именно благодаря Wireshark выяснилось, какие конкретно байты в пакете приводят к гарантированному отключению сетевой карты.

Вот запись конкретных пакетов: pod-http-post.pcap и pod-icmp-ping.pcap. Можем их скачать, открыть в Wireshark и посмотреть своими глазами.

Отключение сетевого интерфейса Intel происходит, если по адресу 0x47f находится значение 2 или 3, то есть 32 HEX или 33 HEX. Если там 4, то всё нормально.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Для атаки подходил любой пакет: HTTP POST, ICMP echo-request и проч. Например, на веб-сервере можно сконфигурировать ответ 200 таким образом, что «убивает» сетевые интерфейсы на клиентских машинах. Довольно любопытная ситуация.

Поиск пакетов по содержанию

Выше мы применили фильтр диалога, чтобы выдать все пакеты для конкретного TCP-соединения. Однако фильтры можно писать и вручную. Вот некоторые примеры запросов:

Трафик с мобильного телефона

Аналогичным образом можно проанализировать трафик с фитнес-часов по Bluetooth или трафик любого мобильного приложения под Android. Для этого нужно записать пакеты PCAP на мобильном устройстве — и передать их для анализа в Wireshark на рабочем ПК.

Есть несколько мобильных программ для записи PCAP. Например, приложение
PCAPdroid для Android:

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа
PCAPdroid

В принципе, можно не передавать записанные файлы PCAP, а анализировать их прямо на мобильном устройстве. В некоторых мобильных снифферах есть и зачаточные функции анализатора пакетов, см. Packet Capture и Termux (о нём ниже).

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа
Packet Capture

Wireshark имеет и прямой интерфейс Androiddump, чтобы снимать данные с телефона напрямую через Android SDK.

Трафик с телевизора и других бытовых приборов

Чтобы изучить трафик с телевизора, смартфона жены или других бытовых приборов, которые подключены в домашнюю сеть по Ethernet и WiFi, придётся записывать PCAP на маршрутизаторе. Иногда достаточно встроенных инструментов. Если у вас маршрутизатор с прошивкой DD-WRT, то можно прямо на устройстве запустить tcpdump :

Для прошивки OpenWrt есть вариант зеркалировать трафик с помощью iptables-mod-tee.

Можно зеркалировать и записывать трафик с помощью дополнительного физического хаба или врезки в сеть. Подробнее см. в документации.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Другой способ — перехватить беспроводной трафик WiFi с помощью утилиты Airodump-ng без подключения к маршрутизатору. Но это больше подходит для анализа трафика на чужих хотспотах.

Далее всё по накатанной — загружаем файлы в Wireshark, запускаем фильтры.

Кстати, Wireshark поддерживает также анализ трафика USB: встроенный сниффер USBPcap и импорт пакетов из сторонних снифферов, таких как Npcap и RawCap.

Termshark

Если вы анализируете объёмные логи на удалённом сервере, но не хотите копировать всё на свою машину, может пригодиться Termshark — удобный пользовательский интерфейс в консоли для анализатора TShark, по внешнему виду напоминающий Wireshark.

Функции

Вот как выглядит версия под Android:

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Wireshark как веб-приложение

Если по каким-то причинам вы не можете запустить Wireshark на локальной машине, можно воспользоваться облачным сервисом CloudShark, который сделан на удивление качественно.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Основная функция — совместная работа и публикация разборов пакетов по URL. Например, cloudshark.org/captures/05aae7c1b941. Файлы загружаются в облако и анализируются в браузере. Это нужно, если вы хотите спросить совета на форуме, поделиться информацией с коллегами или опубликовать разбор пакетов для широкой аудитории. Кстати, удобно использовать с мобильного телефона, ведь под Android есть приложения для захвата пакетов, а вот хорошего анализатора нет.

Сервис платный, есть 30-дневный пробный период.

В общем, Wireshark — просто фантастическая программа на все случаи жизни.

Кроме реальной практической пользы, анализатор даёт примерное представление о том, как работает фильтрация DPI у российских провайдеров. Там всё устроено примерно так же. Система в реальном времени сканирует трафик, фильтрует конкретно пакеты от Twitter — и замедляет их доставку пользователям на территории России. В частности, этим непотребством занимается Роскомнадзор с 10 марта 2021 года.

На правах рекламы

Если для работы необходим сервер в аренду на Linux или Windows, то вам однозначно к нам — активация услуги через минуту после оплаты!

Источник

Wireshark 3.0.0: обзор нововведений

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Wireshark Foundation выпустила финальную stable-версию популярного сетевого анализатора трафика — Wireshark 3.0.0. В новом релизе устранено несколько багов, реализована возможность анализа новых протоколов и заменен драйвер WinPcap на Npcap.

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

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Новые и обновленные функции

Поддержка новых протоколов

Помимо обновления огромного количества протоколов, уже существующих в Wireshark, разработчики добавили поддержку следующих:

Apple Wireless Direct Link (AWDL), Basic Transport Protocol (BTP), BLIP Couchbase Mobile (BLIP), CDMA 2000, Circuit Emulation Service over Ethernet (CESoETH), Cisco Meraki Discovery Protocol (MDP), Distributed Ruby (DRb), DXL, E1AP (5G), EVS (3GPP TS 26.445 A.2 EVS RTP), Exablaze trailers, General Circuit Services Notification Application Protocol (GCSNA), GeoNetworking (GeoNw), GLOW Lawo Emberplus Data format, Great Britain Companion Specification (GBCS) used in the Smart Metering Equipment Technical Specifications (SMETS), GSM-R (User-to-User Information Element usage), HI3CCLinkData, Intelligent Transport Systems (ITS) application level, ISO 13400-2 Diagnostic communication over Internet Protocol (DoIP), ITU-t X.696 Octet Encoding Rules (OER), Local Number Portability Database Query Protocol (ANSI), MsgPack, NGAP (5G), NR (5G) PDCP, Osmocom Generic Subscriber Update Protocol (GSUP), PCOM protocol, PKCS#10 (RFC2986 Certification Request Syntax), PROXY (v2), S101 Lawo Emberplus transport frame, Secure Reliable Transport Protocol (SRT), Spirent Test Center Signature decoding for Ethernet and FibreChannel (STCSIG, disabled by default), Sybase-specific portions of TDS, systemd Journal Export, TeamSpeak 3 DNS, TPM 2.0, Ubiquiti Discovery Protocol (UBDP), WireGuard, XnAP (5G), and Z39.50 Information Retrieval Protocol.

Источник

Практические приёмы работы в Wireshark

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

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Установка Wireshark

Вот как выглядит интерфейс программы.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

На первый взгляд всё это может показаться слишком сложным: длинный список пакетов, таинственное поле для ввода каких-то запросов… Как же работать с Wireshark?

Анализ pcap-файлов

Обычно я использую Wireshark для выяснения причин сетевых неполадок. Последовательность действий, выполняемая в ходе решения подобных задач, выглядит так:

Анализ TCP-соединений

Часто, когда я анализирую в Wireshark некую ситуацию, мне нужно проверить какое-то конкретное TCP-соединение, с которым, по какой-то причине, что-то не так. Благодаря Wireshark можно проанализировать весь жизненный цикл отдельного TCP-соединения и выяснить причины неправильного поведения системы.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Начало анализа TCP-соединения

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

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

Команда Decode as

Для того чтобы понять, чем именно является конкретный пакет, Wireshark использует номера портов, и обычно этот подход срабатывает. Например, если программа видит некий трафик на порте 80, она решает, что это HTTP-трафик и обычно так оно и есть.

Просмотр содержимого пакетов

В Wireshark имеется просто восхитительный режим просмотра подробных сведений о пакете, с помощью которого можно разобраться в содержимом любого пакета. Возьмём, например, пакет с сообщением client hello из предыдущего примера. Это — первый пакет SSL-соединения, клиент с его помощью как бы говорит: «Привет! Вот он я!».

Wireshark даёт сетевому администратору два невероятно полезных инструмента для исследования содержимого пакетов. Первый — это режим просмотра, в котором можно раскрывать заголовки, имеющиеся у пакета (например — Ethernet-заголовок, IP-заголовок, TCP-заголовок) и просматривать их содержимое.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Анализ заголовков пакета

Второй режим просмотра пакетов — это настоящее чудо. Здесь можно видеть необработанные данные пакета в виде последовательности байтов. И, что особенно приятно, если навести мышь на какой-нибудь байт (например, на рисунке ниже указатель наведён на байт, входящий в tiles.services.mozilla.com ), программа, в строке состояния, сообщит о том, к какому полю относится этот байт (в данном случае это — поле Server Name ), и о кодовом имени, используемом Wireshark для этого поля (в данном случае — ssl.handshake.extensions_server_name )

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Анализ необработанных данных пакета

Поиск пакетов

Wireshark поддерживает мощный язык запросов. Это значительно упрощает поиск конкретных пакетов в списках. Обычно я, при работе с программой, использую очень простые запросы. Вот несколько примеров:

Просмотр сведений о продолжительности TCP-соединений

Иногда мне нужно обратить особое внимание на исследование медленных TCP-соединений. Как это сделать, при условии, что в имеющемся у меня файле есть записи о тысячах пакетов? Как найти медленные TCP-соединения?

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Обновление Wireshark

Если вы давно не обновляли Wireshark — это стоит сделать. Например, недавно я, на рабочем ноутбуке, занималась исследованием HTTP/2-пакетов. Мне тогда пришлось нелегко, и я решила посмотреть документацию. Как оказалось, у меня была старая версия программы. В установленном мной обновлении была серьёзно улучшена поддержка HTTP/2, то есть, там было как раз то, что мне было тогда нужно.

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

В этом материале встречаются некоторые термины, которые можно отнести к чему-то вроде жаргона сетевых специалистов. Например — кадр (frame), TCP-порт (TCP port), DNS-ответ (DNS response), IP-адрес источника (source IP address), пакет client hello SSL-соединения (SSL client hello). Одной из причин их использования является тот факт, что Wireshark, определённо, не пытается оградить пользователя от тонкостей внутреннего устройства сетевых технологий. Новичка такое положение дел может, поначалу, заставить задуматься о том, что Wireshark — это программа не для него, а лишь для опытных сетевых специалистов.

Итоги

Wireshark имеет огромнейшие возможности. Здесь мы рассказали лишь о некоторых из них. Однако, те приёмы работы, которые здесь рассмотрены, по словам автора материала, используются примерно в 95% ситуаций, когда возникает необходимость в Wireshark. Поэтому мы надеемся, что даже то немногое, о чём вы сегодня узнали, вам пригодится.

Уважаемые читатели! Пользуетесь ли вы Wireshark?

Источник

Wireshark — приручение акулы

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Wireshark — это достаточно известный инструмент для захвата и анализа сетевого трафика, фактически стандарт как для образования, так и для траблшутинга.
Wireshark работает с подавляющим большинством известных протоколов, имеет понятный и логичный графический интерфейс на основе GTK+ и мощнейшую систему фильтров.
Кроссплатформенный, работает в таких ОС как Linux, Solaris, FreeBSD, NetBSD, OpenBSD, Mac OS X, и, естественно, Windows. Распространяется под лицензией GNU GPL v2. Доступен бесплатно на сайте wireshark.org.
Установка в системе Windows тривиальна — next, next, next.
Самая свежая на момент написания статьи версия – 1.10.3, она и будет участвовать в обзоре.

Зачем вообще нужны анализаторы пакетов?
Для того чтобы проводить исследования сетевых приложений и протоколов, а также, чтобы находить проблемы в работе сети, и, что важно, выяснять причины этих проблем.
Вполне очевидно, что для того чтобы максимально эффективно использовать снифферы или анализаторы трафика, необходимы хотя бы общие знания и понимания работы сетей и сетевых протоколов.
Так же напомню, что во многих странах использование сниффера без явного на то разрешения приравнивается к преступлению.

Начинаем плаванье

Для начала захвата достаточно выбрать свой сетевой интерфейс и нажать Start.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

После чего и начнется процесс захвата, причем прилетевшие пакеты будут появляться в реальном времени.
В процессе рассмотрения и изучения пакетов бывают ситуации, когда нужно вернуться предыдущему пакету. Для этого есть две кнопки (см скриншот).

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

А следующая за ними кнопка позволяет сделать быстрый переход к пакету, указав его номер.
В случае если колонки перекрываются и наползают друг на друга, можно кликнуть по такой колонке правой кнопкой мыши и выбрать “Resize Column”.
Произойдет автоматическая подгонка размеров под текущую ситуацию.
И кроме того, есть кнопка “Resize all Columns”, которая приведет в порядок все колонки.
Используя меню View – Time Display Format, можно, например, настроить, чтобы отсчет времени шел не с начала захвата, а с момента получения предыдущего пакета (Since Previous Captured Packet).
Самое важное в каждой программе (Help – About Wireshark) покажет не только версию и список авторов, но и содержит закладку Folders, которая покажет пути размещения каталогов с конфигурациями.
Изучая интерфейс, можно выбрать, например, пакет http, и увидеть, что HTTP инкапсулируется в TCP (транспортный уровень), TCP инкапсулируется в IP (сетевой уровень), а IP в свою очередь инкапсулируется в Ethernet (перед этим даже мелькает 802.1Q).

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

И на самом верху идет нечто вроде небольшого обзора собранной информации о кадре.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Про фильтры мы поговорим дальше, а на данном этапе, если нужно быстро отфильтровать лишние пакеты, достаточно сделать правый клик на пакете, выбрать меню Apply as Filter – Not selected и изменения сразу же вступят в силу.
Если нужно еще что-то убрать, то в следующий раз выбирать “and not Selected”, и новое правило просто добавится к фильтру.

Убираем заусенцы

Довольно часто при работе с Wireshark возникает ошибка IP checksum offload – ошибка контрольной суммы заголовка IP пакета.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Современные сетевые карты насколько умные, что сами считают контрольную сумму, зачем это делать на уровне стека TCP/IP программно, если можно делать хардварно.
А Wireshark натурально перехватывает пакеты, до того как они попадают в сеть.
И до того как эта сумма была просчитана и была добавлена в заголовок пакета.
Соответственно есть два пути решения этой проблемы — выключать функцию offload в настройках сетевой карты или в настройках сниффера указать, чтобы он не обращал внимание на это значение.
Хардваные функции зачастую лучше софтварных, в основном из-за скорости обработки (в железе обычно выше) поэтому лучше изменить настройки самого сниффера.
Для этого нужно зайти в настройки (Edit — Preferences), затем Protocols – IPv4 – и снять флаг с “Validate IPv4 checksum if possible”.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Фильтруем поток

Wireshark содержит два вида фильтров – захвата (Capture Filters) и отображения (Display Filters).
Вначале рассмотрим Capture Filters.
Как можно догадаться по названию, они служат для фильтрации еще на этапе захвата трафика.
Но в таком случае, безусловно, можно безвозвратно потерять часть нужного трафика.
Фильтр представляет собой выражение, состоящее из встроенных значений, которые при необходимости могут объединяться логическими функциями (and, or, not).
Для того, чтобы его задействовать, нужно зайти в меню Сapture, затем Options, и в поле Capture Filter набрать, например, host 8.8.8.8 (или, например, net 192.168.0.0./24)

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Так же, конечно, можно выбрать и заранее созданный фильтр (за это отвечает кнопка Capture Filter).
В любом из вариантов фильтр появится возле интерфейса, можно жать Start.

Теперь перейдем к Display Filters.
Они фильтруют исключительно уже захваченный трафик.
Что можно фильтровать?
— Практически все — протоколы, адреса, специфические поля в протоколах.
Операции, которые можно использовать при построении фильтров:

Как вы, наверное, заметили, в таблице в качестве примеров были разнообразные выражения, достаточно понятные и зачастую говорящие сами за себя.
Например, ip.dst – это поле протокола IP.
Чтобы увидеть это поле, можно просто посмотреть на пакет, и в нижней части окна можно увидеть его значение, которое потом можно применять в любом фильтре.
Например, нас интересует, как создать фильтр, где будет проверяться значение TTL.
Для этого раскрываем L3 часть и становимся на соответствующее поле:

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

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

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

и после нажатия на кнопку ОК фильтр появится как кнопка на панели.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

А если кликнуть на расположенную неподалеку кнопку «Expression…», то откроется достаточно мощный конструктор выражений, по которому можно чуть ли не изучать сетевые протоколы. Количество поддерживаемых протоколов постоянно увеличивается.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Как уже упоминалось ранее, можно выделить любой пакет и в контекстном меню выбрать Apply as Filter и в подменю выбрать режим — selected или not selected и соответственно сразу же появится фильтр, который будет показывать только выбранное или наоборот уберет выбранное с экрана.
Таким образом можно гибко выбирать, что видеть на экране, а что — нет.
Это может быть определенный ip-адрес, ttl, порт, dns ответ и многое другое.
Кроме того, есть два варианта для таких быстрых фильтров — Prepare as Filter и Apply as Filter.
Как можно догадаться по названию — разница заключается в том, что в первом случае только появится в поле для ввода Display Filter, но не применится (удобно, если например, добавлять таким способом несколько фильтров, а затем сразу применить готовый результат), а во втором — сразу же и применится.

Фильтры можно объединять, используя знакомые по булевой алгебре логические операции:
(dns) && (http) логическое и

(dns) || (http) это логическое или

Таким образом можно строить большие и сложные фильтры вроде:
(tcp.flags.syn==1) && (ip.src == 172.16.10.2) && (ip.dst == 172.16.10.1)
Здесь видим, что выбираются только TCP SYN сегменты, только с определенным адресом отправителя и получателя. При составлении больших фильтров нужно помнить, что фильтр по сути — логическое выражение, и если оно истинно, то пакет отобразится на экране, если ложно — нет.

Ныряем глубже

Достаточно частая ситуация, когда возникают жалобы на медленную работу сети, причин этого может быть множество.
Попробуем разобраться, в чем может быть причина, и рассмотрим два способа.
Первый состоит в добавлении колонки TCP delta.
Открываем пакет, находим поле Time since previous frame in this TCP frame, правый клик и выбираем Apply as Column. Появится новая колонка.
На ней можно кликнуть правой кнопкой мыши и выбрать режим сортировки, например, Sort Descending.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

И сразу же рассмотрим второй способ.
Относительно недавно (в версии 1.10.0) появился фильтр tcp.time_delta, который, собственно, учитывает время с момента последнего запроса.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Если клиент делает запрос и получает ответ через 10 миллисекунд, и клиент говорит, что у него все медленно работает, то, возможно, проблема у самого клиента.
Если же клиент делает запрос и получает ответ через 2-3 секунды, тут уже, возможно, проблема кроется в сети.

Еще глубже

Если посмотреть в TCP пакет (или сегмент если быть точным), то можно увидеть там Stream index, который начинается обычно с нуля.
Само поле будет называться tcp.stream.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

По нему можно сделать правый клик и создать фильтр.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Таким образом можно фильтровать нужные соединения.

Еще один способ – сделать правый клик на самом пакете, выбрать Conversation Filter и создать фильтр для l2 l3 l4 уровня соответственно.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

В итоге мы опять увидим взаимодействие двух хостов.

И третий вариант — это одна из самых интересных фич — Follow TCP Stream.
Для того чтобы его задействовать, нужно опять таки кликнуть правой кнопкой мыши на пакете и выбрать “Follow TCP Stream”. Появится окно, где будет наглядно продемонстрирован весь обмен между двумя узлами.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Если же зайти в меню Statistics – Conversations, то, выбирая закладки, можно увидеть статистику по таким “разговорам” и различные сессии, при этом можно отсортировать их по различным колонкам, например, по количеству переданных данных.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

И прямо в этом окне можно правой кнопкой взывать контекстное меню и опять же применить как фильтр.

Со временем приходит опыт

После некоторого времени, проведенного за захватом разнообразного трафика, можно заметить какую-то шарообразную кнопку в нижнем левом углу, которая еще иногда меняет цвет.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Нажатие на эту кнопку приведет к открытию окна Expert Infos.
Того же результата можно добиться, пройдя в меню Analyze – Expert Info.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

В этом окне будет содержаться информация по найденным пакетам, разбитая на группы Errors, Warnings, Notes и Chats.
Цветовая раскраска для этих групп выглядит следующим образом:
Ошибки — красный цвет
Предупреждения — желтый
Примечания — сине-зелёный (cyan)
Чат — серый

Wireshark содержит в себе мощный анализатор и умеет автоматически обнаруживать большое количество проблем, возникающих в сети.
Как вы уже могли заметить, буквально везде можно использовать фильтры и Expert Info не является исключением.
Для того чтобы создать такой фильтр, нужно использовать конструкцию expert.severity.
Например, expert.severity==error.

Грабим трафик!

Можно ли с помощью Wireshark узнать, что было скачано?
Да, можно. И сейчас это увидим.
Вначале возьмем HTTP трафик.
Сделаем правый клик по HTTP пакету — Protocol Preferences – и видим тут массу опций, которые непосредственно влияют на извлечение файлов из веб трафика.
Для того чтобы увидеть, что можно извлечь из текущего дампа нужно перейти в меню File – Export Objects – HTTP.
Появится окно, которое покажет все захваченные http объекты — текстовые файлы, картинки и т.д. Для того чтобы вытащить любой файл из этого списка, достаточно просто выделить его и нажать Save As.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Как можно заметить, рисунок был извлечен без каких-либо проблем.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Таким же способом, можно извлекать и потоковое видео/аудио.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Но на этом возможности Wireshark не заканчиваются!
Он умеет вытаскивать файлы и с протокола FTP.
Для этого можно использовать знакомый уже Follow TCP Stream.
В итоге отобразится только обмен по протоколу FTP, в котором нужно будет найти строку RETR, что собственно и будет означать передачу файла.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Затем опускаемся дальше, находим пакеты уже непосредственно с файлом (FTP-DATA) и опять выбираем Follow TCP Stream, видим содержимое файла, жмем Save As и сохраняем.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Wireshark имеет несколько встроенных функций для работы с этой технологией.
Он поддерживает массу голосовых протоколов — SIP, SDP, RTSP, H.323, RTCP, SRTP и другие.
И, конечно же, умеет перехватывать и сохранять голосовой трафик для дальнейшего прослушивания.
Этот функционал как нельзя лучше подойдет для траблшутинга в сетях Voice over IP.
Меню Statistics — Flow Graph покажет наглядную картину, как происходил весь обмен пакетами.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

А вообще целое меню Telephony отведено для работы с голосовым трафиком.
Например, Telephony – RTP – Show All Streams покажет подробно, что происходило с RTP, в частности jitter (параметр, который, вероятно, самый важный в голосе), что иногда сразу скажет о наличии проблем.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Нажав на кнопку “Analyze”, можно открыть окно RTP stream Analysis – и, выбрав там поток, можно его даже проиграть, используя кнопку player.
Сначала отроется окно проигрывателя, в котором вначале нужно установить подходящее значение jitter и использовать кнопку decode.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Появится нечто похожее на анализатор спектра, в котором можно отметить требуемый разговор, и после этого кнопка Play станет активной.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Так же существует еще один способ прослушивания голосовых звонков — можно зайти в меню Telephony – VoIP Calls.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Откроется окно со списком совершенных звонков, где опять же можно нажать кнопку player, отменить нужные разговоры флажками и нажать play.
Для того чтобы добиться приемлемого качества звучания, потребуется проиграться со значением поля jitter buffer, меняя его значение.

Небольшое отступление

Некоторое время назад появился сайт CloudShark.org.

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Это тот самый сниффер Wireshark, но реализованный в виде онлайн-сервиса. Очевидно, что с его помощью не удастся захватывать сетевой трафик, но выполнять анализ дампа трафика – вполне. Загрузив туда через форму PCAP-файл на анализ, можно будет получить четкую последовательность пакетов, в которой всё данные будут разбиты на понятные поля в зависимости от протокола. В общем, тот же Wireshark, но немного облегченный и доступный из любого браузера.

Финальная битва

Напоследок рассмотрим как выглядит сканирование портов.
Смотрим на дамп и видим, что вначале происходит ARP запрос и затем непосредственно начинается сканирование. Адрес нашего маршрутизатора 192.168.10.11, сканирование идет с адреса 192.168.10.101

Wireshark что это за программа. Смотреть фото Wireshark что это за программа. Смотреть картинку Wireshark что это за программа. Картинка про Wireshark что это за программа. Фото Wireshark что это за программа

Это, так называемое, SYN сканирование, когда идут SYN-пакеты на указанный диапазон портов. Так как большинство портов закрыто, маршрутизатор отвечает пакетами RST, ACK.
Пролистав чуть ниже видим, что открыт telnet (tcp 23).

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *