如何向wireshark添加自定义协议分析器?

我有一个自定义协议,我正在wireshark中查看。 我认为如果wireshark可以为我解读它,那么我将不需要解码十六进制。虽然我在我的程序日志中这样做,但wireshark使用时间信息捕获整个会话,因此它在那里更有用。 这可以轻松完成吗?     
已邀请:
这取决于你对“轻松”的定义。这绝对可行 - Wireshark对可插拔的解剖器有很大的支持。 README.developer显然是解剖器开发的“最佳手册”。看看,并自己决定。     
您可以使用Wireshark的LUA API编写解剖器。这样你就可以编写一个快速而肮脏的解剖器而无需下载Wireshark的代码,甚至是编译器。 文档中显示了一个非常简单但功能强大的示例。 这样的LUA解剖器非常适合调试使用,甚至可以与您的项目一起分发。 如果您打算将解剖器提交到Wireshark官方存储库,您当然应该在性能和集成方面用C语言实现它。 要使用解剖器,请创建一个文件
my_dissector.lua
并调用Wireshark,如下所示:
wireshark -X lua_script:my_dissector.lua
    
或者,有些项目不是编写自己的解剖器,而是根据定义生成协议解析器或在API之上提供DSL: wssdl - 一个Lua库,它定义了一个基于Lua构建的特定于域的语言,用于定义协议解析器。 wsgd - 一种通用解析器,用于解析协议定义并使用它来分析消息。 asn2wrs - 一个编译ASN.1规范和一些C胶粘到Wireshark解剖器的工具。 csjark - 用于从C struct定义生成Lua解析器以与Wireshark一起使用的工具。     

要回复问题请先登录注册