我正在寻找一种编译和运行自定义Wireshark解剖器的方法,而无需重新编译整个wireshark项目。 Web上的许多地方都要求开发人员编写插件并链接到Wireshark。
但是,我发现有些人能够编写解剖器并使用Wireshark的插件系统运行,其路径可以在Wireshark帮助/关于部分找到。
尽管这些人在Lua和C ++中成功地编写了解剖器,但我尝试了许多教程,但我真的输了。
有人可以帮我解决在Ubuntu 16.04 64bit上制作一个非常简单的Wireshark解剖器的步骤吗?
答案 0 :(得分:3)
为Wireshark编写自定义解剖器有三种方法:
几年前,我需要为我公司使用的自定义协议编写一个解剖器。我比较了这三个选项,并对它们进行了一些了解。 C ++是最快的执行但最难学习和使用。 Lua和WSGD的执行速度大致相同。 Lua解剖器内置于Wireshark,然而,我发现它更难学,因为你需要学习一门语言(Lua),然后如何用语言编写解剖器。 WSGD是专为写作解剖器而设计的语言。它更像是一种流控制语言的结构定义。 WSGD网站有文档和示例。很难找到Lua的文档和示例以及如何在其中编写解剖器。
2015年Graham Bioice介绍了#34;使用WSGD编写Wireshark解析器,Lua和C"在Sharkfest。这是一个关于这个主题的非常直接的演讲,虽然为时已晚,无法帮助我。您可以在以下位置获取幻灯片并查看演示文稿:
由于我上面列出的原因,我选择了WSGD。我已经写了几千行来为WSGD中的三个自定义协议创建解剖器。我强烈推荐它。 WSGD网站是http://wsgd.free.fr