将 FT_UNIT32 字段解释为小端
我正在为自定义协议编写 Wireshark 解析器。 但是,我有一个无符号 32 位整数字段。它实际上是以小端形式传输的。我如何强制 Wireshark 如此解释它?
即我的 hf_register_info 结构包含
&hf_foo_length,
{ "Length", "foo.length", FT_UINT32, BASE_DEC,
NULL, 0x0, NULL, HFILL }
在我调用的解剖函数中
proto_tree_add_item(foo_tree, hf_foo_length, tvb, offset, 4, FALSE);
I'm in the middle of writing a Wireshark dissector for a custom protocol.
However, I have a field which is a unsigned 32-bit integer. It's actually transmitted in little endian form. How do I force Wireshark to interpret it as such?
i.e. my hf_register_info struct contains
&hf_foo_length,
{ "Length", "foo.length", FT_UINT32, BASE_DEC,
NULL, 0x0, NULL, HFILL }
And in the dissect function I'm calling
proto_tree_add_item(foo_tree, hf_foo_length, tvb, offset, 4, FALSE);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
回答我的最后一个问题。我发现,如果 proto_tree_add_item 的最后一个参数非零,则会使其将该字段解释为小端。
参见proto.h
To answer my last question. I discovered that if the last parameter of proto_tree_add_item if non-zero will make it interpret the field as little-endian.
See proto.h