为Wireshark编写插件解析器

时间:2015-06-01 07:13:48

标签: plugins wireshark wireshark-dissector

我必须编写一个wireshark Dissector作为协议的插件。我有一个捕获的文件,其中包含十六进制字节代码输入,将通过我的Dissector /插件进行解析。

怎么做?
我按照

构建了一个基本的wireshark插件

https://www.wireshark.org/docs/wsdg_html_chunked/ChDissectAdd.html

和doc / README.plugins

所以我知道构建wireshark插件的基本步骤(自定义扩展)。 但我不知道在哪里放这个文件进行分析,以及在我的packet-dissector.c中写入所需的所有功能是什么? 有什么建议吗? 感谢。

3 个答案:

答案 0 :(得分:2)

有一个第三方插件Wireshark Generic Dissector,它允许您在不编写任何代码的情况下剖析协议。该插件的二进制版本可用于Windows和至少一些Linux发行版;源是可用的,以便您可以为其他平台编译它。您可能想看看是否会更容易。

答案 1 :(得分:1)

epan 树中有很多packet-xxx.c文件。根据基本协议(UDP / TCP / other),选择一个协议解析器,并查看用于剖析协议的内容。这应该是解剖员的好模板。

此外,您应该考虑解剖器可以复杂显示许多细节,流分析,协议违规指示等。真正需要的是取决于对解剖器的期望,一般无法回答。

答案 2 :(得分:0)

如果要将其创建为插件,请在plugins文件夹中为协议添加新目录。在此目录中添加所需的文件(makefile.am,cmakefile.txt等,以及.c)。更改makefile以编译并为新的解剖器创建dll。寻找gryphon插件示例并为解剖器进行类似的更改。

这应该创建" yourproto.dll"在运行目录中,这意味着wireshark已准备好识别您的协议。