lua解析器针对浮点变量返回零值

我正在尝试从缓冲区中读取浮点变量,但我得到了零值。 这是我用过的代码:

-- 创建字段

str_format=string.format
p_Genie.fields = {}
local fields = p_Genie.fields
fields.number_field = ProtoField.float("p_Genie.number", "Number",base.DEC)

function addFloat32(tree, buf, start, name, floatSize)
    local rang = buf(start, floatSize)

    local ti = tree:add_le(fields.number_field, rang)
    ti:set_text(str_format("%s %f", name, rang:le_float()))
    return floatSize
end

我做错了什么? 谢谢。

点赞
用户2755698
用户2755698

我不认为你正确使用 ProtoField.float 。根据 Wireshark 开发指南第 11.6.7.16 节,第三个参数是可选的 valuestring ,而不是 base 。也许你可以先解决这个问题,看看是否能够解决你的问题。

2017-08-28 14:16:02