我正在使用“实时”数据分析工具链,该工具链分为两部分。第一部分获取要分析的数据,将其打包成UDP数据包并将其发送到另一台主机。在上述主机上运行的第二部分接收UDP分组并对接收的分组执行分析。 “实时”是指分析工具链的输出应该对人类用户显示,因此可以接受长达100毫秒的延迟。
我正在研究为接收部分提供新的数据源。我正在寻找的数据正在Ethercat总线上传输,我可以嗅探。 Wireshark / tshark有一个Ethercat数据包解析器。话虽如此,在Wireshark / tshark中运行的脚本中获取数据非常简单。由于我几乎无法控制分析的第二部分,所以我不能轻易修改第二部分来通过pcap或某些东西来嗅探Ethercat帧。
是否可以从Wireshark / tshark中运行的脚本发送UDP数据包?
答案 0 :(得分:0)
Wireshark的Lua没有办法开箱即用,但它的库存Lua所以你可以编写一个本身可以导入的wireshark Lua脚本(即,使用require
)任何其他Lua脚本或编译Lua DLL / so库。因此,例如,您可以使用LuaSocket库从wireshark Lua脚本中发送数据包。
请注意,Wireshark Lua脚本没有可用的事件循环,因此通过LuaSocket接收数据包并不能正常工作。但是既然你正在谈论通过UDP发送,并且仅在调用Wireshark Lua脚本时发送(即,因为你在tap或解析器内进行send()调用),我认为它< em>应该工作。如果它确实/不要回复,因为这个问题时不时出现,这将是很好的。