lua解剖器解密包

时间:2013-12-11 10:30:49

标签: encryption lua aes wireshark-dissector

我正在为lua的Wireshark定制解剖器。

协议中的某些PDU使用AES加密,我想解密这些,以便我可以在Wireshark中显示清晰的内容。这是否可以使用lua解剖器以及我可以使用哪些API来进行解密?

或者我是否需要制作一个c / c ++解剖器来制作解密数据的解剖器?

2 个答案:

答案 0 :(得分:3)

我个人使用lua-crypto但它需要OpenSSL。 您可以查看lua-wiki。 最近,我为名为thisbgcrypto AES实现创建了包装器。 它没有外部依赖,但我还没有在实际工作中使用它。

答案 1 :(得分:2)

目前Wireshark(2.0)没有向LUA解剖器公开加密API,所以你必须在Lua解剖器中实现它。

对于纯Lua解决方案,您可以使用lua-lockbox(如Lua wiki中所述)。如果您需要性能,则不建议这样做,但可能对原型设计很有用。

更快的AES解密实现通常使用本机库,例如:

  • LuaCrypto - 使用OpenSSL,但似乎没有维护
  • lcrypt - 使用libtomcrypt,但似乎没有任何开发

由于这些库都没有满足我的需求,我基于Libgcrypt开发了一个新的库:​​

  • Wireshark已经链接到Libgcrypt以获取SSL解密等内容。
  • Libgcrypt库支持足够多的密码和哈希值。
  • Libgcrypt广泛可用,并且拥有一个活跃的开发团队。
  • Luagcrypt API非常简单并且有文档记录。

结果是luagcrypt,它适用于Wireshark(Linux,OS X,Windows)支持的平台。它在KDNET解剖器中使用,commit显示从lua-lockbox到luagcrypt的转换。