如何使Wireshark启用启发式分析器?

我正在编写一个 Lua 脚本作为 Wireshark(版本为 1.12.4)插件,用于解析我的私有协议。我可以将它工作为普通的 Dissector,将某个端口(例如 80)绑定到 DissectorTable "tcp.port" 上。伪代码如下:

问题是: 如果我的协议没有在特定端口上运行,我不想每次都修改上面的端口。实际上,我希望解剖器足够聪明,能够动态识别某种模式,然后进行正确的解析。 我搜索了一些发现有所谓的“启发式”解剖器,我添加下面的代码测试了一下,但无法使其工作。

``` 当我更改端口时,数据包不会被解析为我的协议,所以我必须使用“解码为”菜单。

那么,基于我的代码,如何使启发式解析器工作?我有什么遗漏的吗?

顺便说一下,带有代码的答案会很受欢迎。

点赞
用户9033630
用户9033630

遗憾的是,如果你需要一个启发式协议解析器(HD),它不能以插件方式完成,你需要编写一个新的 HD。

https://github.com/wireshark/wireshark/blob/master/doc/README.heuristic

(是的,已经过去2年了,但如果有些未来的谷歌用户发现它……)

2018-01-03 13:57:05