Что нужно знать
- Wireshark - это приложение с открытым исходным кодом, которое собирает и отображает данные, перемещающиеся по сети туда и обратно.
- Поскольку он может детализировать и читать содержимое каждого пакета, он используется для устранения неполадок в сети и тестирования программного обеспечения.
Инструкции в этой статье относятся к Wireshark 3.0.3 для Windows и Mac.
Итог
Первоначально известный как Ethereal, Wireshark отображает данные сотен различных протоколов во всех основных типах сетей. Пакеты данных можно просматривать в режиме реального времени или анализировать в автономном режиме. Wireshark поддерживает десятки форматов файлов захвата/трассировки, включая CAP и ERF. Встроенные инструменты дешифрования отображают зашифрованные пакеты для нескольких распространенных протоколов, включая WEP и WPA/WPA2.
Как скачать и установить Wireshark
Wireshark можно бесплатно загрузить с веб-сайта Wireshark Foundation как для macOS, так и для Windows. Вы увидите последнюю стабильную версию и текущую разрабатываемую версию. Если вы не опытный пользователь, загрузите стабильную версию.
Во время установки Windows выберите установку WinPcap или Npcap, если будет предложено, так как они включают библиотеки, необходимые для оперативного сбора данных.
Вы должны войти на устройство в качестве администратора, чтобы использовать Wireshark. В Windows 10 найдите Wireshark и выберите Запуск от имени администратора В macOS щелкните правой кнопкой мыши значок приложения и выберите Получить информацию В настройках Общий доступ и разрешения предоставьте администратору права Чтение и запись..
Приложение также доступно для Linux и других UNIX-подобных платформ, включая Red Hat, Solaris и FreeBSD. Бинарные файлы, необходимые для этих операционных систем, можно найти внизу страницы загрузки Wireshark в разделе Сторонние пакеты. Вы также можете загрузить исходный код Wireshark с этой страницы.
Как перехватывать пакеты данных с помощью Wireshark
При запуске Wireshark на экране приветствия отображаются доступные сетевые подключения на вашем текущем устройстве. Справа от каждого из них отображается линейный график в стиле ЭКГ, который представляет реальный трафик в этой сети.
Чтобы начать захват пакетов с помощью Wireshark:
-
Выберите одну или несколько сетей, перейдите в строку меню, затем выберите Capture.
Чтобы выбрать несколько сетей, удерживайте клавишу Shift во время выбора.
-
В окне Wireshark Capture Interfaces выберите Старт.
Есть и другие способы инициировать захват пакетов. Выберите плавник акулы в левой части панели инструментов Wireshark, нажмите Ctrl+E или дважды щелкните сеть.
-
Выберите Файл > Сохранить как или выберите опцию Экспорт для записи захвата.
-
Чтобы остановить захват, нажмите Ctrl+E. Или перейдите на панель инструментов Wireshark и нажмите красную кнопку Stop, расположенную рядом с плавником акулы.
Как просматривать и анализировать содержимое пакетов
Интерфейс перехваченных данных состоит из трех основных разделов:
- Панель списка пакетов (верхняя часть)
- Панель сведений о пакете (средняя часть)
- Панель байтов пакетов (нижняя часть)
Список пакетов
Панель списка пакетов, расположенная в верхней части окна, показывает все пакеты, найденные в активном файле захвата. Каждый пакет имеет свою собственную строку и соответствующий ему номер, а также каждую из этих точек данных:
- No: Это поле указывает, какие пакеты являются частью одного разговора. Оно остается пустым, пока вы не выберете пакет.
- Время: В этом столбце отображается метка времени захвата пакета. Формат по умолчанию - количество секунд или неполных секунд с момента первого создания этого конкретного файла захвата.
- Source: В этом столбце содержится адрес (IP или другой), откуда был отправлен пакет.
- Destination: В этом столбце указан адрес, на который отправляется пакет.
- Протокол: Имя протокола пакета, например TCP, можно найти в этом столбце.
- Длина: В этом столбце отображается длина пакета в байтах.
- Информация: Дополнительная информация о пакете представлена здесь. Содержимое этого столбца может сильно различаться в зависимости от содержимого пакета.
Чтобы изменить формат времени на что-то более полезное (например, фактическое время суток), выберите Просмотр > Формат отображения времени.
Когда пакет выбран в верхней панели, вы можете заметить, что один или несколько символов появляются в столбце No.. Открытые или закрытые скобки и прямая горизонтальная линия указывают, является ли пакет или группа пакетов частью одного и того же обмена данными в сети. Ломаная горизонтальная линия означает, что пакет не является частью разговора.
Сведения о пакете
Панель сведений, расположенная посередине, представляет протоколы и поля протоколов выбранного пакета в сворачиваемом формате. Помимо расширения каждого выбора, вы можете применять отдельные фильтры Wireshark на основе конкретных деталей и отслеживать потоки данных в зависимости от типа протокола, щелкнув нужный элемент правой кнопкой мыши.
Пакетные байты
Внизу находится панель байтов пакетов, которая отображает необработанные данные выбранного пакета в шестнадцатеричном виде. Этот шестнадцатеричный дамп содержит 16 шестнадцатеричных байтов и 16 байтов ASCII вместе со смещением данных.
Выбор определенной части этих данных автоматически выделяет соответствующий раздел в панели сведений о пакете и наоборот. Любые байты, которые не могут быть напечатаны, представлены точкой.
Чтобы отобразить эти данные в битовом формате, а не в шестнадцатеричном, щелкните правой кнопкой мыши в любом месте панели и выберите как биты.
Как использовать фильтры Wireshark
Фильтры Capture предписывают Wireshark записывать только те пакеты, которые соответствуют заданным критериям. Фильтры также можно применять к файлу захвата, созданному таким образом, чтобы отображались только определенные пакеты. Они называются фильтрами отображения.
Wireshark по умолчанию предоставляет большое количество предустановленных фильтров. Чтобы использовать один из этих существующих фильтров, введите его имя в поле Применить фильтр отображения, расположенное под панелью инструментов Wireshark, или в поле Введите фильтр захватаполе, расположенное в центре экрана приветствия.
Например, если вы хотите отобразить пакеты TCP, введите tcp. Функция автозаполнения Wireshark показывает предлагаемые имена по мере того, как вы начинаете печатать, что упрощает поиск правильного имени для фильтра, который вы ищете.
Другой способ выбрать фильтр - выбрать закладку в левой части поля ввода. Выберите Manage Filter Expressions или Manage Display Filters, чтобы добавить, удалить или изменить фильтры.
Вы также можете получить доступ к ранее использованным фильтрам, выбрав стрелку вниз справа от поля ввода, чтобы отобразить раскрывающийся список истории.
Фильтры захвата применяются, как только вы начинаете запись сетевого трафика. Чтобы применить фильтр отображения, выберите стрелку вправо в правой части поля ввода.
Цветовые правила Wireshark
Хотя фильтры захвата и отображения Wireshark ограничивают, какие пакеты записываются или отображаются на экране, его функция раскрашивания делает шаг вперед: он может различать разные типы пакетов на основе их индивидуального оттенка. Это позволяет быстро находить определенные пакеты в сохраненном наборе по цвету строки на панели списка пакетов.
Wireshark поставляется с примерно 20 правилами раскраски по умолчанию, каждое из которых можно редактировать, отключать или удалять. Выберите Вид > Правила раскраски, чтобы узнать, что означает каждый цвет. Вы также можете добавить свои собственные цветовые фильтры.
Выберите Просмотр > Раскрасить список пакетов, чтобы включить или выключить раскрашивание пакетов.
Статистика в Wireshark
Другие полезные показатели доступны в раскрывающемся меню Статистика. К ним относятся информация о размере и времени файла захвата, а также десятки диаграмм и графиков, варьирующихся по тематике от разбивки пакетов при обмене данными до распределения нагрузки
Фильтры отображения можно применять ко многим из этих статистических данных через их интерфейсы, а результаты можно экспортировать в распространенные форматы файлов, включая CSV, XML и TXT.
Расширенные возможности Wireshark
Wireshark также поддерживает расширенные функции, в том числе возможность писать диссекторы протоколов на языке программирования Lua.