piy*_*iyo 11 workflow lua restart wireshark read-eval-print-loop
我终于在Lua for Wireshark为我的UDP协议创建了一个Dissector,但是工作流程非常糟糕.它包括在我的编辑器中编辑我的自定义Lua文件,然后双击我的示例捕获文件以启动Wireshark以查看更改.如果出现错误,Wireshark会通过对话框或树分析子窗格中的红线通知我.然后我重新编辑我的自定义Lua文件,然后关闭该Wireshark实例,然后再次双击我的示例捕获文件.这就像编译C文件一样只能看到一个编译器错误.
是否有更好(更快)的方式来查看我的更改,而无需一直重启Wireshark?
当时,我在启用了Lua的情况下使用Wireshark 1.2.9 for Windows.
小智 5
自动执行此操作的最佳方法是使用命令行.是的,使用tshark而不是加载gui thingy.
如果你的lua脚本被称为"proto.lua"并且它定义了一个名为"MyProto"的协议,它使用端口8888,你可以使用以下方法测试你的解剖器:
tshark -X lua_script:proto.lua -O MyProto -V -f "port 8888"
Run Code Online (Sandbox Code Playgroud)
您也许可以编写一个 Wireshark 加载的简单包装函数,并让它仅从磁盘加载真实文件(例如通过dofile())。这可能会“欺骗”Wireshark 始终重新加载您的 Lua 代码,直到您对它更加满意并可以删除此 hack。