8

我正在尝试自动化我使用 WireShark 的重复手动过程:

1) 加载给定的 pcap 文件

2) 为给定协议应用一个简单的过滤器

3) 使用导出对话框将显示的数据包导出为 CSV 文件

4) 使用导出对话框以 XML PDML 格式导出显示的数据包。

这很乏味,并且需要人工参与大部分自动化的流程(包括分析文件以生成报告)。

有没有办法自动化 Wireshark,或者以某种方式访问​​用于导出的底层库?

更新:正如这里的几个人所指出的,TShark 原来是要走的路。我最终使用的确切命令行是:

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

然后我使用基于事件的 XML 解析器(Python 的 expat)来解析生成的 2GB 文件

4

3 回答 3

6

我在我的debian系统上查看了wireshark的依赖列表,我发现了Tshark:它是wireshark的命令行版本。

看起来很有趣,但我还没有阅读手册,但是它肯定对脚本更友好。

此外,我将继续关注此线程并在我开始使用它时发布更多信息。

于 2010-03-09T20:36:29.707 回答
1

我认为你应该做的是研究 tshark。那是 linux 命令行版本,它将完全满足您的要求(假设您可以访问它)。当然,这假设运行 tshark 然后手动查看输出是可以接受的。

于 2010-03-09T20:28:53.687 回答
0

我以前从未尝试过自动化 Wireshark,尽管我不得不做一些类似于你描述的事情。我最终将少数人为(因此容易出错)的步骤减少到一个自动化的步骤。

Autohotkey是我针对大量基于 GUI 的重复任务的解决方案。您可以非常轻松地编写一个按键播放脚本来完成上述所有步骤。您可能必须让它自动为您增加文件名。您还可以让您的其他自动化工具通过击键启动 Autohotkey 脚本。

于 2010-03-09T19:56:24.680 回答