2016-01-06 48 views
0

我正在Python中創建一個簡單的數據包分析器,其中分析了Tshark .xml輸出文件。如何配置Tshark/Wireshark .psml文件的輸出

Tshark(相當於Wireshark的命令行)有一個功能,允許將所有數據包輸出到.psml文件(數據包摘要標記語言)。在Wireshark中,我可以通過添加/刪除GUI中的選項卡來配置導出的.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的我正在而不部dBm的(IEEE 802.11 RSSI)輸出。如何配置Tshark在.psml文件中獲取此數據?

回答

1

PSML顯示了在Wireshark的摘要窗格中顯示的列或沒有-V的TShark輸出,因此您需要請求RSSI列。

推測「添加/刪除標籤」意味着「添加/刪除列」。

嘗試使用命令行選項

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

指定哪個列,以顯示運行tshark的 - 或把在PSML輸出。

(遺憾的是,其中的dBm值是寫在PSML就好像它是簽名在Wireshark的2.X的錯誤,因此,例如,-33 dBm的顯示爲4294967263.我在一個檢查修復,所以它應該在Wireshark 2.0.2出來時修復。Wireshark 1.x沒有這個bug。)