我正在为lua的Wireshark定制解剖器。
协议中的某些PDU使用AES加密,我想解密这些,以便我可以在Wireshark中显示清晰的内容。这是否可以使用lua解剖器以及我可以使用哪些API来进行解密?
或者我是否需要制作一个c / c ++解剖器来制作解密数据的解剖器?
答案 0 :(得分:3)
我个人使用lua-crypto但它需要OpenSSL。 您可以查看lua-wiki。 最近,我为名为this的bgcrypto AES实现创建了包装器。 它没有外部依赖,但我还没有在实际工作中使用它。
答案 1 :(得分:2)
目前Wireshark(2.0)没有向LUA解剖器公开加密API,所以你必须在Lua解剖器中实现它。
对于纯Lua解决方案,您可以使用lua-lockbox(如Lua wiki中所述)。如果您需要性能,则不建议这样做,但可能对原型设计很有用。
更快的AES解密实现通常使用本机库,例如:
由于这些库都没有满足我的需求,我基于Libgcrypt开发了一个新的库:
结果是luagcrypt,它适用于Wireshark(Linux,OS X,Windows)支持的平台。它在KDNET解剖器中使用,commit显示从lua-lockbox到luagcrypt的转换。