
答案1
對於要新增為列的每個字段,最簡單的方法是先選擇該字段,假設「功能代碼」舉個例子。當您選擇它時,您會注意到 Wireshark 視窗底部的狀態行將向您顯示該欄位的 Wireshark 顯示過濾器,在本例中,它將是modbus.func_code
.這是了解給定欄位的顯示過濾器的一種方法。
現在,如果您右鍵單擊該字段,您可以選擇申請為專欄。該欄位將作為新列新增。新增後,您可以將該欄位拖曳到任何所需的列位置。您也可以透過主選單新增列,但如果您以這種方式新增列,則必須知道 Wireshark 顯示篩選器名稱,以便在新增時輸入它,您可以透過以下方式進行操作:編輯 -> 首選項 -> 列 -> + -> [雙擊預設的新列標題並重新命名,雙擊預設的數字類型並選擇自訂,雙擊欄位下並鍵入顯示過濾器,例如 modbus。。
如果您不知道顯示過濾器的名稱,您可以透過至少 3 種不同的方式找到它:
- 線鯊顯示過濾器參考頁面列出了所有顯示過濾器以及每個顯示過濾器適用的 Wireshark 版本。
- 從 Wireshark GUI:編輯 ->檢視 -> 內部結構 -> 支援的協定 -> Modbus -> [展開]
- 您也可以使用
tshark
顯示它們,例如:
在 Windows 上:
tshark -G fields | findstr "modbus\."
在 *nix 上:
tshark -G fields | grep "modbus\."
您可以根據需要對任意多個欄位重複此過程。在將 modbus 特定欄位新增至列之前,可能值得先建立一個新的“Modbus”配置文件,因此當您檢查 modbus 資料包時,這些欄位只會顯示為列。右鍵單擊狀態列右下角的設定檔並選擇新增設定文件新的或者管理個人資料。您也可以透過主選單新增新的設定檔:編輯 -> 設定檔。
我tshark
上面提到過;它是相當於 Wireshark 的命令行,它允許您僅列印所需的字段,然後您可以將該輸出重定向到文字文件,然後將其導入到其他程式中以進行進一步處理。一個例子:
tshark -r file.pcap -Y "modbus" -T fields -E separator=/t -e frame.number -e modbus.func_code -e modbus.byte_cnt > file.txt
tshark
有很多選項,因此請務必閱讀手冊頁以更好地了解如何使用它。
如果您不使用tshark
,則可以使用以下命令從 Wireshark GUI 匯出資料:檔案 -> 匯出封包剖析 -> 作為 CSV... -> [選擇/取消選擇所需選項,選擇檔案名稱並點擊儲存]。
最後,Wireshark使用者指南也是一個很好的參考。