我有2个tcp解析器,它们监听同一个端口
因此,我选择了一个基础解剖器来监听该端口,这个基础解剖器保存了2个tcp解剖器的信息。
当一个数据包到达该端口时,基础解剖器会进行一个foreach循环并尝试依次调用2个tcp解析器中的每一个。
我正在使用代码行:
res = Dissector.get("first_tcp_dissector"):call(buffer, pinfo, tree)
我期待如果被叫解剖器成功解析了数据包,它将返回一个数字(如果该数据包不适合它,则返回0)。
但是dissector:call(tvb, pinfo, tree)
没有返回任何内容,如果解析成功,我没有任何迹象。
如果解析成功,我如何获得first_tcp_dissector的真实返回值或相当一些指示?
(顺便说一下,我不想使用启发式......)
答案 0 :(得分:0)
但dissector:call(tvb, pinfo, tree)
不会返回任何内容
Dissector_call()
会返回“Number of bytes dissected.
”
也许您在2014年6月17日由Anders Broman承诺的StigBjørlykke所做的this更改之前运行旧版本的Wireshark?