在这里[附1]我曾经介绍过在windows上面是如何实现批量的切流。因为windows终究不如Linux上面可以使用shell脚本来的方便,因此这次在linux上面又实现了一遍(然后还发现,针对同一个报文,linux的执行速度要比之windows快上不少),这里有些注意的地方做一下记录。
当然wireshark对于lua的支持应该在2.0版本之后了,较低的版本可能不会支持lua。对于一些linux默认的安装源一般来说,版本是比较低的。这里面建议的是源码安装,详细见这篇[附2],我在centos7上面安装主要包括如下几点:1,安装libpcap;2,安装lua-devel;3,编译安装wireshark源码(可从官网下载)。然后确认wireshark支持lua ,同时确认init.lua文件中disable_lua = false。
这个时候基本就是可以执行lua脚本了,相应的命令为tshark -X lua_script:cutflow.lua -r allSite.pcap,这时候会发现执行的结果只是读取了pcap文件,并没有执行lua脚本,使用tshark -q -X lua_script:cutflow.lua -r allSite.pcap则出现如下的提示
Running as user “root” and group “root”. This could be dangerous.
tshark: Lua: Error during loading: [string
“/usr/local/share/wireshark/init.lua”]:44: dofile has been disabled
due to running Wireshark as superuser. See
https://wiki.wireshark.org/CaptureSetup/CapturePrivileges for help in
running Wireshark as an unprivileged user.
导致上述问题的原因是由于我是在root用户下面执行该命令的,切换到非root用户下面执行tshark -X lua_script:cutflow_sjw.lua -r allSite2.pcap则会执行相应的lua脚本。然后在结合find等强大的命令,就可以批量操作了。
附1:
附2: