2010-03-09 61 views
8

我試圖自動執行我使用Wireshark一個重複的手工過程:有沒有辦法使用Wireshark的設施以編程方式導出文件?

1)裝載一個給定的PCAP文件

2)應用一個簡單的過濾器對於給定的協議

3)使用導出對話框將顯示的數據包導出到CSV文件

4)使用導出對話框以XML PDML格式導出顯示的數據包。

這很乏味,需要人工參與大多數自動化過程(包括分析生成報告的文件)。

是否有某種方法可以自動化Wireshark,或者以某種方式訪問​​用於導出的底層庫?

更新:正如這裏的幾個人所指出的,TShark事實證明是最好的選擇。 最後我用具體的命令行是:

tshark -r MyDataFile.pcap -T pdml -R MyProtocol > MyOutputFile.xml\ 

然後我使用一個基於事件的XML解析器(Python的外籍)來解析生成2GB的文件

回答

6

我在我的debian系統上看到wireshark的依賴列表,我發現Tshark:它是wireshark的命令行版本。

它似乎很有趣,但我沒有閱讀手冊,但它肯定更多腳本友好。

此外,我會繼續關注此線程,併發布更多信息,當我開始使用它。

+0

好吧,它很棒。您可以提取您想要的字段並提供pcap過濾和wireshark顯示過濾。輸出被壓入標準輸出,因此您可以輕鬆地將其編出來。 – Dacav

0

我還沒有過嘗試過自動化的Wireshark ,儘管我不得不做類似於你描述的東西。我最終將一小撮人類(因而容易出錯)的步驟減少到自動化的一步。

Autohotkey是我對許多重複的基於GUI的任務的解決方案。您可以非常輕鬆地編寫一個可執行上述所有步驟的按鍵回放腳本。您可能必須自動爲您增加文件名。您還可以讓您的其他自動化工具通過按鍵啓動Autohotkey腳本。

1

我認爲你應該做的是看着tshark。這是Linux命令行版本,它將準確地提供你所要求的(假設你有權訪問它)。當然,這裏假設運行tshark然後手動查看輸出是可以接受的。

+0

有趣的是,由於它與接受的答案几乎完全相同,所以我在這方面得到了較低的評價,並且在接受的答案之前發佈了10分鐘。奇怪。 – MJB

相關問題