如何在wireshark中使用lua转换为主机字节顺序



我没有找到一个标准函数来做字节顺序转换,为wireshark编写lua插件。

结构。Pack似乎不工作,至少当执行"require 'struct'"时,wireshark会抛出一个错误。

你可以调用tvb函数来获得一个显式的(这就是我现在所做的,所以它是不可移植的):((())转换为大端序或小端序,但对主机端序字节顺序没有任何改变。

我在网上搜索了又搜索,但什么也没找到,所以我希望有人能提供一个解决方案。

谢谢!

如果您可以确定正在运行的系统的端序是否足够?

至少在Lua 5.1和5.2中,字节码头的第7个字节对于小端序系统是1,对于大端序系统是0。您可以通过以下方式从任何Lua脚本获取此字节:

string.dump(function() end):byte(7)

如果你使用LuaJIT,你可以检查值:

ffi.abi("le")

找到这个应该足以让您编写可移植的代码。

Wireshark接近于支持结构体。打开做事的方式。它还没有发布稳定版本。

http://ask.wireshark.org/questions/32715/no -结构-支持-在wireshark - 1107年代- lua解释器

相关内容

最新更新