Глава 5. Действия с захваченными пакетами

Материал из wireshark.wiki

5.1. Просмотр захваченных пакетов

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

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

Онлайн-курс по Wireshark

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.


Пример пакетов, захваченных с помощью Wireshark

Пример пакетов, захваченных с помощью Wireshark

Детальную информацию о пакете можно посмотреть в отдельном окне. Существует несколько способов сделать это:

  • дважды кликнуть по нужному пакету в списке пакетов;
  • выбрать пакет в области списка пакетов и в главном меню выбрать Вид
    Показать пакет в новом окне;
  • выбрать пакет в области списка пакетов и в контекстном меню нужного пакета в списке пакетов выбрать пункт: Показать пакет в новом окне.


Просмотр пакета в отдельном окне

Просмотр пакета в отдельном окне в Wireshark

5.2. Контекстное меню

5.2.1. Контекстное меню элемента «Названия столбцов» в области «Список пакетов»

Контекстное меню элемента «Названия столбцов» в области «Список пакетов»

Контекстное меню элемента «Названия столбцов» в области «Список пакетов» в Wireshark


Далее приведено описание пунктов контекстного меню элемента «Названия столбцов» в области «Список пакетов» в Wireshark:

Выровнять по левому краю – выровнять содержимое выбранного столбца по левому краю.

Выровнять по центру – выровнять содержимое выбранного столбца по центру.

Выровнять по правому краю – выровнять содержимое выбранного столбца по правому краю.

Параметры столбца – открыть диалоговое окно «Параметры» сразу в разделе в котором выполняется настройка столбцов.

Редактировать столбец – открыть панель редактирования настроек выбранного столбца.

Размер по содержимому – сделать ширину выбранного столбца равной размеру самой длинной записи в нем.

Изменить размер столбцов по ширине – задать ширину выбранного столбца в пикселях.

Выполнить разрешение имен – преобразовать имена, содержащиеся в столбце, в адреса.

No. – включить/выключить отображение одноименного столбца.

Time – включить/выключить отображение одноименного столбца.

Source – включить/выключить отображение одноименного столбца.

Destination – включить/выключить отображение одноименного столбца.

Protocol – включить/выключить отображение одноименного столбца.

Length – включить/выключить отображение одноименного столбца.

Info – включить/выключить отображение одноименного столбца.

Удалить данный столбец – удалить столбец (действие, аналогичное удалению столбцов из меню настроек в диалоговом окне «Параметры»).

5.2.2. Контекстное меню области «Список пакетов»

Контекстное меню области «Список пакетов»

Контекстное меню области «Список пакетов» в Wireshark


Установить/снять отметку пакета (пакетов) – установить/снять отметку с одного или нескольких пакетов. Может быть использовано, например, для выборочного сохранения пакетов.

Игнорировать/отменить игнорирование пакета – выполнить/отменить виртуальное удаление информации о пакете. Сама строка с записью о пакете при этом остается.

Установить/отменить привязку ко времени – установить/отменить привязку ко времени у выбранного пакета. Если для захваченных пакетов используется сквозная временная шкала, которая начинается со значения 0.000000, то отсчет будет производиться относительно того пакета, для которого выполнили отмену привязки ко времени.

Временной сдвиг – открыть диалоговое окно «Временной сдвиг», в котором можно изменить настройки абсолютного времени для пакета.

Комментарии к пакету – добавить комментарий, который будет отображен в области информации о пакете.

Изменить разрешенное имя – изменить DNS-имя, связанное с одним из двух IP-адресов, указанных в пакете.

Применить в качестве фильтра – создать и сразу применить экранный фильтр на основе строки и столбца, которые были выделены при вызове контекстного меню. В подчиненных разделах меню будут предложены различные варианты (И, ИЛИ, НЕ, РАВНО и др.).

Подготовить в качестве фильтра – создать (но не применять) экранный фильтр на основе строки и столбца, которые были выделены при вызове контекстного меню. В подчиненных разделах меню будут предложены различные варианты (И, ИЛИ, НЕ, РАВНО и др.).

Фильтр диалога – создать и сразу применить экранный фильтр на основе адресной информации из выбранного пакета. В подчиненных разделах меню будут предложены различные заголовки выделенного пакета, из которых будет браться информация об адресации (Ethernet, IP, TCP, UDP и др).

Выделить диалог цветом – выделить пакеты цветом на основе адресной информации из выделенного пакета. В подчиненных разделах меню будут предложены различные заголовки выделенного пакета из которых будет браться информация об адресации (Ethernet, IP, TCP, UDP и др). После этого можно будет выбрать один из десяти цветов для выделения.

SCTP – подготовить экранный фильтр на основе SCTP-ассоциации.

Отслеживать – открыть окно, в котором будет отображена информация, доступная во всех пакетах, относящихся к выбранному виду потока. В зависимости от того, какой пакет выделен, в подчиненном меню могут быть указаны разные виды потоков: TCP Stream, UDP Stream, DCCP Stream, TLS Stream, HTTP Stream.

Копировать – копировать сводку о пакете или байты пакета. Копирование сводки о пакете возможно в текстовом формате, в формате CSV или YAML. Копирование байтов пакета возможно в виде шестнадцатеричных значений вместе с ASCII-дампом, в виде шестнадцатеричного дампа, шестнадцатеричного потока, строки с записью в системе счисления с основанием шестьдесят четыре, а также MIME-данных или C-строки.

Параметры протокола – настройки различных протоколов, входящих в состав выбранного пакета.

Декодировать как – принудительно указать диссектор, с помощью которого необходимо декодировать пакет.

Показать пакет в новом окне – открыть детальную информацию о пакете в отдельном окне.

5.2.3. Контекстное меню области «Детали пакета»

Контекстное меню области «Детали пакета»

Контекстное меню области «Детали пакета» в Wireshark

Развернуть поддеревья – раскрыть содержимое выделенного заголовка, включая все вложенные вкладки. Действие выполняется со всеми захваченными пакетами, имеющими такой заголовок.

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

Развернуть все – раскрыть содержимое всех заголовков пакета, включая все вложенные вкладки. Действие выполняется со всеми захваченными пакетами.

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

Использовать в качестве столбца – создать столбец в списке пакетов на основе выделенной строки.

Применить в качестве фильтра – создать и сразу применить экранный фильтр на основе выделенной строки. В подчиненных разделах меню будут предложены различные варианты (И, ИЛИ, НЕ, РАВНО и др.).

Подготовить в качестве фильтра – создать и сразу применить экранный фильтр на основе выделенной строки. В подчиненных разделах меню будут предложены различные варианты (И, ИЛИ, НЕ, РАВНО и др.).

Фильтр диалога – создать и сразу применить экранный фильтр на основе адресной информации из выделенного пакета. В подчиненных разделах меню будут предложены различные заголовки выделенного пакета, из которых будет браться информация об адресации (Ethernet, IP, TCP, UDP и др).

Выполнить выделение цветом с помощью фильтра – выделить пакеты цветом на основе информации из выбранной строки. В подчиненном меню предложено десять цветов для выделения.

Отслеживать – открыть окно, в котором будет отображена информация, доступная во всех пакетах, относящихся к выбранному виду потока. В зависимости от того, какой пакет выделен, в подчиненном меню могут быть указаны разные виды потоков: TCP Stream, UDP Stream, DCCP Stream, TLS Stream, HTTP Stream.

Копировать – копировать информацию о пакете или байты пакета. Также возможно создание экранного фильтра на основе данных, содержащихся в строке.

Копирование информации о пакете выполняется в текстовом формате и на выбор предлагаются следующие варианты:

  • Все видимые элементы – все явным образом отображенные элементы содержимого пакета. Если содержимое каких-то заголовков будет свернуто, то для них будет скопирована только строка с общей информацией о содержимом заголовка.
  • Все видимые элементы выбранного дерева – все явным образом отображенные элементы выбранного заголовка пакета.
  • Описание – строка с общей информацией о содержимом заголовка.
  • Имя поля – имя поля (например, eth, ip, udp, tcp, data и др.).
  • Значение – строка с общей информацией о содержимом заголовка и (или) данные в шестнадцатеричном виде.

Копирование байтов пакета возможно в следующих форматах:

  • шестнадцатеричные значения вместе с ASCII-дампом;
  • шестнадцатеричный дамп;
  • шестнадцатеричный поток;
  • строка с записью в системе счисления с основанием шестьдесят четыре;
  • MIME-данные;
  • C-строка.

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

Экспортировать байты пакета – экспортировать байты выделенного поля в «сыром» формате (*.bin, *.dat, *.raw).

Вики-страница протокола – перейти на вики-страницу протокола в разделе проекта Wireshark на сайте gitlab.com. Страница для выбранного протокола может быть незавершенной, содержать ошибки или отсутствовать.

Справка по полю фильтра – перейти на страницу сайта wireshark.org на которой описываются возможные условия экранного фильтра для выбранного поля.

Параметры протокола – настройки различных протоколов, входящих в состав выбранного пакета.

Декодировать как – принудительно указать диссектор, с помощью которого необходимо декодировать пакет.

Перейти к связанному пакету – перейти к пакету, с которым связан выбранный пакет (например, ответ на DNS-запрос).

Показать связанный пакет в новом окне – открыть пакет, с которым связан выбранный пакет (например, ответ на DNS-запрос), в новом окне.

Онлайн-курс по Wireshark

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

5.2.4. Контекстное меню области «Байты пакета»

Контекстное меню области «Байты пакета»

Контекстное меню области «Байты пакета» в Wireshark

Содержимое контекстного меню области с байтами пакета можно условно разделить на четыре части. Далее приведены эти условные части и их подчиненные элементы:

  • включение/выключение подсветки байтов при наведении на них курсора;
  • копирование байтов в разных форматах:
    • в виде шестнадцатеричных значений вместе с ASCII-дампом,
    • в виде шестнадцатеричного дампа,
    • в виде шестнадцатеричного потока,
    • в виде строки с записью в системе счисления с основанием шестьдесят четыре,
    • в виде MIME-данных,
    • в виде C-строки;
  • выбор системы счисления, в которой будут отображаться байты:
    • в шестнадцатеричной системе,
    • в десятичной системе (decimal),
    • в восьмеричной системе (octal),
    • в двоичной системе (как биты);
  • выбор формата, в котором будет отображаться привязанный к пакету текст («кракозябры», отображающиеся правее байтов пакета, которые иногда могут содержать полностью читаемый текст):
    • в виде обычного текста,
    • в виде ACSII-кода,
    • в виде EDCDIC-кода.

5.2.5. Контекстное меню области «Диаграмма пакета»

Контекстное меню области «Диаграмма пакета»

Контекстное меню области «Диаграмма пакета» в Wireshark


Показать значения полей – включить/выключить отображение содержимого полей рядом с их названиями.

Сохранить диаграмму как – сохранить диаграмму в виде файла с расширением png, bmp или jpg.

Копировать в виде растрового изображения – копировать диаграмму в виде растрового изображения.

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

После захвата пакетов или открытия ранее сохраненного файла захвата можно найти нужные пакеты. Для этого в главном меню надо выбрать ПравкаПоиск пакета.

Панель инструментов «Найти пакет»

Панель инструментов «Найти пакет» в Wireshark

Существует несколько вариантов поиска:

  • Вариант «Фильтр отображения» предполагает использование экранного фильтра.
  • Вариант «Шестнадцатеричное значение» предполагает поиск определенной последовательности байтовых данных в данных пакете. Можно указывать данные слитно, через пробел или двоеточие (например, 05b400, 05 b4 00 или 05:b4:00).
  • Вариант «Строка» предполагает указание некоторого значения, содержащегося в столбце Info, в формате, который используется в этой строке. При выборе этого варианта дополнительно можно указать где должен выполняться поиск: в списке пакетов, в подробной информации о пакете или в байтах пакета.
  • Вариант «Регулярное выражение» предполагает использование регулярных выражений, совместимых с Perl. При выборе этого варианта дополнительно можно указать где должен выполняться поиск: в списке пакетов, в подробной информации о пакете или в байтах пакета.

5.4. Переход к заданному пакету

Переходы между пакетами можно выполнять в главном меню в разделе Запуск с помощью следующих элементов:

  • Перейти к пакету – перейти к пакету с заданным номером.
  • Перейти к связанному пакету – перейти к пакету, который связан с выбранным пакетом. Например, это может быть ICMP-ответ, если выбран ICMP-запрос.
  • Следующий пакет – перейти к следующему пакету в списке.
  • Предыдущий пакет – перейти к предыдущему пакету в списке.
  • Первый пакет – перейти к первому пакету в списке.
  • Последний пакет – перейти к последнему пакету в списке.
  • Следующий пакет в диалоге – перейти к следующему пакету в диалоге (например, это могут быть пакеты одного TCP-соединения).
  • Предыдущий пакет в диалоге – перейти к предыдущему пакету в диалоге (например, это могут быть пакеты одного TCP-соединения).
  • Следующий пакет в истории выбора – перейти к следующему пакету в истории пакетов, которые были выбраны (выделены для просмотра).
  • Предыдущий пакет в истории выбора – перейти к предыдущему пакету в истории пакетов, которые были выбраны (выделены для просмотра).
  • Автопрокрутка при захвате – включение/выключение во время захвата автоматического отображения последних захваченных пакетов.

5.5. Маркировка пакетов

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

Маркировка пакетов может пригодиться для облегчения поиска при анализе файлов захвата или для какого-то дальнейшего действия с промаркированными пакетами (например, сохранение в отдельный файл только промаркированных пакетов).

Существует несколько способов ставить отметки на пакеты и снимать их.

В главном меню в разделе Правка можно выбрать следующие опции:

  • Установить/снять отметку пакета (пакетов) – установить маркировку на пакет или группу выделенных пакетов либо снять ее.
  • Отметить все отображаемое – отметить все пакеты, захваченные на момент выполнения маркировки.
  • Снять отметку со всего отображенного – отменить всю выполненную ранее маркировку пакетов.
  • Следующая отметка – перейти к следующему промаркированному пакету.
  • Предыдущая отметка – перейти к предыдущему промаркированному пакету.

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

5.6. Игнорирование пакетов

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

Существует несколько способов ставить отметку на пакеты и снимать ее.

В главном меню в разделе Правка и в контекстном меню в области списка пакетов есть пункт Игнорировать/отменить игнорирование пакета, с помощью которого можно установить или снять отметку об игнорировании пакета или группы выделенных пакетов.

5.7. Форматы отображения времени и временные ссылки

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

  • Дата и время суток (1970-01-01 01:02:03.123456),
  • Год, день года и время суток (1970/001 01:02:03.123456),
  • Время суток (01:02:03.123456),
  • Количество секунд с 1970-01-01,
  • Количество секунд с момента захвата первого пакета,
  • Количество секунд с момента захвата предыдущего пакета,
  • Количество секунд с момент захвата отображаемого пакета,
  • Дата и время суток в UTC (1970-01-01 01:02:03.123456),
  • Год, день года и время суток в UTC (1970/001 01:02:03.123456),
  • Время суток в UTC (01:02:03.123456).

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

  • Автоматически (из файла захвата),
  • Секунды,
  • Десятки секунд,
  • Сотни секунд,
  • Миллисекунды,
  • Десятки миллисекунд,
  • Сотни миллисекунд,
  • Микросекунды,
  • Десятки микросекунд,
  • Сотни микросекунд,
  • Наносекунды.

Если фактическая точность меньше, будут добавлены нули. Если точность больше, оставшиеся десятичные знаки будут обрезаны. Например, если временная метка отображается в формате «Секунды с момента предыдущего пакета», то значение может быть 1.123456. По умолчанию для файлов формата libpcap используется точность до микросекунд. Если выбрать точность «секунды», то отобразится просто 1, а если выбрать – «наносекунды», то будет отображено как 1.123456000.

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


5.7.1. Привязка ко времени

Пакетам, идущим после пакета с установленной или отмененной привязкой ко времени, можно изменить точку отсчета времени при использовании формата «Количество секунд с момента захвата первого пакета». Это делается с помощью опции Установить/отменить привязку ко времени. У пакета с установленной привязкой в столбце времени будет отображаться «*REF*». В одном файле захвата может быть установлено несколько привязок ко времени.

Изменение привязки ко времени может быть полезно, если необходимо узнать, сколько времени прошло с момента получения (отправки) конкретного пакета. Например, с момента отправки нового запроса.

Использование привязки ко времени имеет смысл, только если используется формат отображения времени «Количество секунд с момента захвата первого пакета». Если используется какой-либо другой формат, то использование привязки не будут иметь смысла.

Информация о привязки ко времени нигде не сохраняется и будет потеряна при закрытии файла захвата.

Формат отображения времени можно выбрать в главном меню в разделе Правка. Доступны следующие опции:

  • Установить/отменить привязку ко времени –выбрать пакет в качестве отправной точки, относительно которой будет указываться время в следующих пакетах, или отменить этот выбор.
  • Отменить все привязки ко времени – отменить все имеющиеся в файле захвата привязки ко времени.
  • Следующая привязка ко времени – перейти к следующему пакету в отношении которого принудительно указано, что он является отправной точкой отсчета времени для следующих пакетов.
  • Предыдущая привязка ко времени – перейти к предыдущему пакету в отношении которого принудительно указано, что он является отправной точкой отсчета времени для следующих пакетов.

Пункт Установить/отменить привязку ко времени также доступен из контекстного меню в области списка пакетов.

Пакеты в отношении которых принудительно указано, что они являются отправной точкой отсчета времени для следующих пакетов

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

5.8. Корректировка временных меток

Иногда может потребоваться скорректировать временные метки в файле захвата. Это может быть необходимо по разным причинам:

  • из-за неверного значения времени на устройстве, используемом для захвата;
  • из-за того, что захват был выполнен на устройстве, находящемся в другом часовом поясе;
  • если необходимо объединить два файла захвата, созданных на устройствах, у которых разные настройки времени;
  • по другим причинам.

Для выполнения операции смещения временной метки в главном меню необходимо выбрать пункты ПравкаВременной сдвиг.

Окно «Временной сдвиг»

Окно «Временной сдвиг» в Wireshark

В диалоговом окне «Временной сдвиг» можно выбрать один из следующих вариантов:

  • Сместить все пакеты на – задать фиксированное значение смещения времени для всех пакетов. Значение указывается в часах, минутах, секундах и долях секунд.
  • Задать время для пакета – задать смещение времени для всех пакетов относительно времени одного или, если установлен флажок, двух указанных пакетов. При указании смещения времени для двух пакетов выполняется линейная коррекция для всех остальных пакетов. Это может быть полезно, например, если известны точные дата и время некоторых пакетов. Это могут быть, например, пакеты протокола NTP.
  • Отменить все сдвиги – удалить все несохраненные изменения во временных метках.

Начиная с версии Wireshark 4.2.0 скорректированные временные метки записываются в файл захвата при сохранении. Сведения об этих метках можно увидеть, ознакомившись с детальной информацией о пакете в поле «Time shift for this packet».

Информация о смещении времени пакета

Информация о смещении времени пакета в Wireshark

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

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

Онлайн-курс по Wireshark

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.