测试Wireshark插件
我有一个使用 Lua 写的 Wireshark 解析器,并想要单独测试它。我提取了一些通用的功能,这些功能不依赖于 Wireshark 函数(并在我的 LuaJIT IDE 中隔离地测试这些功能),但现在我需要测试缓冲区检查和转换函数(buffer(1,2):uint() 等)。有没有办法从我的 LuaJIT 解释器中访问内置的 Lua 函数(也许是在 Wireshark 测试套件中),或者(作为替代)可以编程地重新运行脚本在一些 PCAP 文件上(使用 tshark),并编程地将测试结果打印到 stdout 或文件中?另一个用例是手动指定数据包并在它们上测试我的解析器功能(即将数据包作为代码而不是生成包含数据包以进行测试的PCAP文件)。
其他人如何测试他们的 Wireshark 解析器?
如果您需要用于调试的测试,那么我所知道的唯一一个易于与Wireshark配合使用的是Paul的ZeroBrane Studio。
如果您需要进行自动化测试(例如可以用于回归测试等),那么我们在Wireshark本身中用于测试的方法是通过使用tshark的“-X lua_script:<script>”选项通过shell脚本运行,以详细模式输出到文本文件中,然后验证输出文件是否具有我们预期的内容。(例如,使用另一个检查输出文本文件的Lua脚本)
如果您克隆了代码库,或者在在线浏览中查看,您可以看到在test/suite-wslua.sh文件中,这是Lua API测试套件Shell脚本。而被测试的Lua脚本在test/lua目录中。
这个问题已经很老,而且已经有解答了,但我认为我有相关的内容要分享。
我一直在开发 Wirebait 这个工具,它是一个专门设计的工具,可以在编写 Wireshark 协议解析器时运行。
你所需要做的就是加载模块,并在你的协议解析器脚本的顶部添加一个五行代码片段。然后,如果你使用像 Paul Kulchenko 的 ZeroBrane Studio 这样的 IDE,Wirebait 允许你直接在写代码的过程中进行调试,不需要使用 Wireshark。即使你没有 pcap 文件,你也可以使用它。
它还很新,但我已经能够非常可靠地使用它与 UDP 协议解析器一起工作。
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
我一直在开发一个 Lua 调试器,它可以调试 Wireshark 中运行的 Lua 代码(包括展开器)。我还没有测试最新版本的 Wireshark,但不看到为什么不能继续工作。您可以在此处查看如何完成此操作的示例:http://notebook.kulchenko.com/zerobrane/debugging-wireshark-lua-scripts-with-zerobrane-studio。
我不认为有一种直接在 PCAP 文件上重新运行脚本的方法,但是您可以使用其中一种 traffic generators(例如 bit-twist)“回放”来自捕获文件的流量,并以通常的方式调试脚本。