gpt4 book ai didi

wireshark - 如何在wireshark中动态解密数据

转载 作者:行者123 更新时间:2023-12-02 23:12:30 26 4
gpt4 key购买 nike

我在wireshark中为我的协议(protocol)编写了​​一个lua解析器:my.lua。问题是我的协议(protocol)对数据使用 AES 加密,每个 session 的加密 AES key 都不同。

现在我在my.lua中硬编码了16字节的aes-key,但是每次在开始捕获或加载一些保存的数据包之前,我都需要修改硬编码的值,这非常困难不方便。

wireshark 中是否有允许用户输入某些内容的功能?例如,弹出对话框显示:“请输入 aes key ”,用户输入后,lua 脚本使用它来进行解密。

最佳答案

考虑使用 Prefs API。创建新首选项就像在读取首选项时设置索引一样简单:

your_proto = Proto("yourproto", "Your Proto")
your_proto.prefs.key = Pref.string("Decryption key", "", "128-bit AES key (in hex)")

function your_proto.dissector(tvb, pinfo, tree)
local decryption_key = your_proto.prefs.key
decrypt(tvb, tvb()) -- assume suitable "decrypt" routine
end

然后您可以右键单击协议(protocol)树,选择协议(protocol)首选项并修改您的设置。请参阅https://www.wireshark.org/docs/wsdg_html_chunked/lua_module_Proto.html#lua_class_Pref用于文档。

(无耻插件:)可以在此处找到将 Preferences API 与 luagcrypt 库(用于更快的 AES 解密)结合使用的示例:

关于wireshark - 如何在wireshark中动态解密数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41074152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com