2016-01-06 6 views
0

Я создаю простой анализатор пакетов в Python, в котором анализируются выходные файлы Tshark .xml.Как настроить вывод Tshark/Wireshark .psml file

Tshark (эквивалент командной строки Wireshark) имеет функцию, которая позволяет выводить все пакеты в файл .psml (язык разметки пакетов). В Wireshark я могу настроить содержимое экспортированного файла .psml, добавив/удалив вкладки в графическом интерфейсе. Однако я не могу найти какой-либо вариант для этого, используя командную строку в Tshark.

Пример вывода из Wireshark:

<?xml version="1.0"?> 
<psml version="0" creator="wireshark/2.0.0"> 
<structure> 
<section>No.</section> 
<section>Time</section> 
<section>Source</section> 
<section>Destination</section> 
<section>Protocol</section> 
<section>Length</section> 
<section>Info</section> 
<section>dBm</section> 
</structure> 

<packet> 
<section>1</section> 
<section>0.000000</section> 
<section>xx:xx:xx:xx:xx:xx</section> 
<section>Broadcast</section> 
<section>802.11</section> 
<section>223</section> 
<section>Beacon frame, SN=1524, FN=0, Flags=........C, BI=100, SSID=xxx</section> 
<section>4294967260 dBm</section> 
</packet> 

В Tshark я получаю выход без секции дБм (IEEE 802.11 RSSI). Как настроить Tshark для получения этих данных в файле .psml?

ответ

1

PSML показывает столбцы, которые будут отображаться в сводной панели в Wireshark или выходе TShark без -V, поэтому вам нужно запросить столбец RSSI.

Предположительно, добавив/удалив вкладки, вы имеете в виду «добавление/удаление столбцов».

Попробуйте запустить TShark с параметром командной строки

-o gui.column.format:'"No.", "%m", "Time", "%t", "Source", "%s", "Destination", "%d", "Protocol", "%p", "Length", "%L", "Info", "%i", "dBm", "%e"' 

, который определяет, какие столбцы для отображения - или поставить на выходе PSML.

(К сожалению, есть ошибка в Wireshark 2.x, где значение дБм записывается в PSML, как если бы это было неподписанный, так, например, -33 дБм показывает, как 4294967263. я проверил в исправить, поэтому он должен быть исправлен при выходе Wireshark 2.0.2. Wireshark 1.x не имеет этой ошибки.)

Смежные вопросы