如何在同一端口上使用两个lua解析器让wireshark正确解析。

我正在编写 Lua 脚本作为 Wireshark(1.12.4)插件来解析我的私有协议。我有两个协议,为每个协议编写了单独的 Lua 脚本,两个脚本看起来像下面这样:

问题是: 这两个协议使用相同的端口。当我将这两个脚本都添加到 Wireshark 的 init.lua 中时,只有一个脚本能够起作用。 那么,如何让这两个协议解析器同时正确工作? 任何解决方案都可以,但是端口不能更改。

点赞
用户2139094
用户2139094

如果端口一定不能改变(这似乎很奇怪,因为这似乎在端口80上运行,这是用于http的IANA分配端口),那么你有两个真正的选择。

1)从wireshark包列表中,使用“解码为”选项手动选择每个tcp流所需的协议 - 尽管这可能会对捕获中的所有流进行修改。

2)添加一个额外的分析层,从tcp.data中获取有效负载,检测其属于你的哪个协议,然后将数据传递给真正的分析器。

第三个选项是将你的独立分析器合并为一个。假设每个tcp流只包含其中一个协议,请在第一个数据包中确定其属于哪个协议,然后解码为该协议。

2015-03-23 13:50:22