我在wireshark 中查看了一个自定义协议。我认为如果wireshark可以为我解析它会很有用,这样我就不必解码十六进制。虽然我在我的程序日志中这样做了,但wireshark 会使用时间信息捕获整个对话,因此它在那里会更有用。
这很容易做到吗?
我在wireshark 中查看了一个自定义协议。我认为如果wireshark可以为我解析它会很有用,这样我就不必解码十六进制。虽然我在我的程序日志中这样做了,但wireshark 会使用时间信息捕获整个对话,因此它在那里会更有用。
这很容易做到吗?
您可以使用 Wireshark 的 LUA API 编写解析器。这样,您无需下载 Wireshark 的代码甚至编译器即可编写快速而肮脏的解析器。文档中显示了一个非常简单但功能强大的示例。这样的 LUA 解析器非常适合调试使用,甚至与您的项目一起分发。
如果您打算将解析器提交到官方 Wireshark 存储库,出于性能和集成原因,您当然应该在 C 中实现它。
要使用您的解剖器,请创建一个文件my_dissector.lua
并像这样调用 Wireshark:wireshark -X lua_script:my_dissector.lua
这取决于您对“轻松”的定义。这绝对是可行的——Wireshark 对可插拔解剖器有很好的支持。
README.developer显然是剖析器开发的“最佳手册”。看一看,自己决定。