我正在使用一个“实时”数据分析工具链,该工具链分为两个部分。第一部分获取要分析的数据,将其打包到UDP数据包中,并将其发送到另一个主机。第二部分运行在上述主机上,接收UDP数据包并对接收到的数据包进行分析。所谓“实时”,我指的是分析工具链的输出对人类用户来说应该是实时的,因此可以接受高达100 ms的延迟。
我正在寻找一个新的数据源提供给接收部分。我正在寻找的数据正在Ethercat总线上传输,我可以嗅到。Wireshark/tshark有一个Ethercat数据包的分解器。尽管如此,在Wireshark/tshark内运行的脚本中获取数据非常简单。由于我对分析的第二部分几乎没有控制权,所以我不能轻易地修改第二部分,通过pcap来嗅探Ethercat框架。
是否可以从Wireshark/tshark中运行的脚本发送UDP数据包?
发布于 2014-03-11 21:52:05
wireshark的Lua没有现成的方法,但它是库存Lua,因此您可以编写一个wireshark脚本,它本身可以导入(即使用require)任何其他Lua脚本或编译的Lua / so库。因此,例如,您可以使用LuaSocket库从wireshark脚本中发送数据包。
注意,Wireshark脚本没有可用的事件循环,所以通过LuaSocket接收数据包是行不通的,afaik。但是,由于您讨论的是发送UDP,并且只在Wireshark Lua脚本被调用时才发送(也就是说,因为您会在抽头或拆分中执行send()调用),所以我认为它应该能工作。如果是这样/不请发帖,因为这个问题不时会出现,很高兴知道。
https://stackoverflow.com/questions/22322082
复制相似问题