我正在尝试自动化使用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文件
答案 0 :(得分:6)
我在debian系统上看了wireshark的依赖列表,我找到了 Tshark :这是wireshark的命令行版本。
这看起来很有意思,但我还没有看过这本手册,但是它确实更适合于脚本。
此外,我将继续关注此主题,并在我开始使用它时发布更多信息。
答案 1 :(得分:1)
我认为你应该做的是研究tshark。这是linux命令行版本,它将允许你所要求的(假设你有权访问它)。当然,这假设运行tshark然后手动查看输出是可以接受的。
答案 2 :(得分:0)
我之前从未尝试过自动化Wireshark,尽管我必须做一些类似于你描述的事情。我最终将少数人(因此容易出错)的步骤减少到一个自动化的步骤。
Autohotkey是我对许多重复的基于GUI的任务的解决方案。您可以非常轻松地编写按键回放脚本,该脚本将执行上述所有步骤。您可能必须让它自动为您增加文件名。您还可以使用其他自动化工具通过击键启动Autohotkey脚本。