我有两个tcp分析器,它们监听相同的端口。
因此,我选择了一个侦听该端口的基本解析器,这个基本解析器保存两个tcp解析器的信息。
当数据包到达该端口时,基本解析器生成一个foreach循环,并尝试依次调用两个tcp解析器中的每一个。
我使用的是代码行:
res = Dissector.get("first_tcp_dissector"):call(buffer, pinfo, tree)我期望如果被调用的解析器成功解析数据包,它将返回一个数字(如果该数据包不是针对它的,则返回0)。
但是dissector:call(tvb, pinfo, tree)没有返回任何东西,我也没有任何迹象表明解析是否成功。
如果解析成功,我如何获得first_tcp_dissector的真实返回值或某种指示?
(顺便说一下,我不想使用启发式...)
发布于 2017-01-25 22:51:09
但是dissector:call(tvb, pinfo, tree)不会返回任何内容
真的吗?因为如果您查看源代码,Dissector_call()将返回"Number of bytes dissected.“
也许在Anders Broman于2014年6月17日对Stig Bjørlykke所做的this更改之前,您正在运行较旧版本的Wireshark?
https://stackoverflow.com/questions/41837842
复制相似问题