Экспорт интерпретированной информации о фрейме с помощью Wireshark - PullRequest
0 голосов
/ 16 апреля 2020

Мне было интересно, есть ли способ экспортировать указанную c информацию, отображаемую в информации пакета / кадра Wireshark, которая плохо видна в байтах кадра (интерпретируемая информация?). Меня особенно интересует длительность кадра в микросекундах (wlan_radio.duration) для беспроводных кадров.

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

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

Я также открыт для использования других инструментов, таких как tcpdump, но, насколько я знаю, tcpdump не обеспечивает длительность кадра.

Спасибо!

1 Ответ

3 голосов
/ 16 апреля 2020

В Wireshark вы можете добавить поле в виде столбца, щелкнув правой кнопкой мыши поле и выбрав «Применить в качестве столбца» или более длинным «Правка -> Настройки - > Столбцы " метод, а затем вы можете выбрать " Файл -> Экспортировать пакетные рассылки -> Как обычный текст ... " (или любой другой формат, который вы предпочитаете).

Вы также можете выполнить sh с помощью tshark (сопутствующий инструмент Wireshark's CLI) одним из 3 способов:

  1. Если вы уже добавили поле, представляющее интерес, как столбец в Wireshark, а затем простое выполнение tshark -r file.pcap приведет к печати каждого настроенного столбца в Wireshark.

  2. Вам не нужно полагаться на настройки столбцов Wireshark , Вы можете напрямую контролировать, какие столбцы печатаются в tshark, независимо от настроек столбцов в Wireshark, поэтому вы можете использовать что-то вроде этого:

    tshark -r file.pcap -o 'gui.column.format:"No.","%m","Time","%t","Source","%s","Destination","%d","Protocol","%p","Length","%L","Duration","%Cus:wlan_radio.duration","Info","%i"'

    ПРИМЕЧАНИЕ: Предоставленный формат для Unix. Если вы используете Windows, вы должны использовать двойные внешние кавычки и экранировать все внутренние двойные кавычки, например, "gui.column.format:\"No.\",\"%m\", ..."

    Выполнить tshark -G column-formats для списка встроенных " " форматы столбцов. Если поле отсутствует в списке, вы всегда можете использовать метод "Some Field","%Cus:someproto.somefield" для добавления так называемых пользовательских столбцов.

  3. Вы можете использовать tshark 's -T fields опция для извлечения только интересующих областей. Этот метод является моим предпочтительным методом для извлечения данных, и я считаю его особенно полезным для создания файла .csv, который затем можно импортировать в электронную таблицу для дальнейшего анализа и обработки данных, включая создание диаграмм, графиков и т. Д. c. Так, например:

    tshark -r file.pcap -T fields -E separator=, -E quote=d -Y "wlan_radio.duration" -e frame.number -e frame.time -e _ws.col.Source -e _ws.col.Destination -e _ws.col.Protocol -e frame.len -e wlan_radio.duration -e _ws.col.Info > file.csv

    ПРИМЕЧАНИЕ: Здесь я намеренно использовал столбцы Wireshark, чтобы проиллюстрировать, что вы можете это сделать и как это сделать, но если вы не хотите полагаться на столбцы Wireshark, то вам следует избегать использования полей _ws.col.foo и извлекать данные из полей протокола напрямую, как в случае wlan_radio.duration (и других полей показано).

В заключительной заметке, если вы собираетесь добавить пользовательские столбцы в Wireshark, такие как поле wlan_radio.duration , то вы можете создать специфический c профиль для "WLAN анализ" . Таким образом, если вы не работаете с трафиком 802.11 c, вы можете использовать профиль по умолчанию (или другой профиль, более подходящий для анализа этого траффика c) и использовать профиль «WLAN», только когда это уместно. Создайте профиль с помощью «Редактировать -> Профили конфигурации ...» . Вы можете легко переключать профили в Wireshark, нажимая на Профиль в правом нижнем углу строки состояния. И наконец, чтобы tshark использовал указанный профиль c, вы должны использовать tshark -C "WLAN" ... или любое другое имя вашего профиля.

...