代码之家  ›  专栏  ›  技术社区  ›  Uri

有没有办法使用wireshark的工具以编程方式导出文件?

  •  8
  • Uri  · 技术社区  · 15 年前

    我正在尝试自动化一个重复的手动过程,为此我使用了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文件

    3 回复  |  直到 15 年前
        1
  •  6
  •   Dacav    15 年前

    我查看了我的debian系统上wireshark的依赖列表,发现 塔斯克 :这是wireshark的命令行版本。

    这看起来很有趣,但我还没读过手册,不过肯定更适合脚本。

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

        2
  •  1
  •   MJB    15 年前

    我想你应该去查查查克。这是linux命令行版本,它将允许您所要求的内容(假设您有权访问它)。当然,这假设运行tshark并手动检查输出是可以接受的。

        3
  •  0
  •   Dave    15 年前

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

    Autohotkey 是我为许多重复的基于gui的任务提供的解决方案。您可以很容易地编写一个击键回放脚本来完成上述所有步骤。您可能需要让它为您自动增加文件名。您还可以让其他自动化工具通过击键启动autohotkey脚本。