在这里曾经提到在Linux下面root权限下,wireshark无法使用lua脚本。
由于前面所有基于wireshark编写的lua脚本均是用来分析离线的pcap报文,如果要使用lua脚本来分析在线的数据,该怎么办呢?
由于wiredshark提示lua脚本功能不能够在root权限下执行,那么我们就新增一个用户,该用户不具有root权限,只具有读取网卡数据的权限,就可以了,如下:
1,添加用户onlineLua :adduser onlineLua
2,设置该用户的密码online123 :passwd online123
3,添加用户组allowDump表示该用户组允许抓包:groupadd allowDump
4,将新用户添加到该用户组:usermod -a -G allowDump onlineLua
5,使新增用户组生效newgrp allowDump
6,找到负责抓包的程序which dumpcap得到/usr/local/bin/dumpcap,这里面没有找wireshark的原因在于底层抓包是由dumpcap来执行的,wireshark的主要作用在于报文解码。
7,将dumpcap所在的用户组改为 新增的用户组allowDump:chgrp allowDump /usr/local/bin/dumpcap
8,设置dumpcap权限,主要是可读,可写,可执行等权限:chmod 750 /usr/local/bin/dumpcap
9, 设置dumpcap权能(权能的解释,参考这里,setcap cap_net_raw,cap_net_admin=eip /usr/local/bin/dumpcap
当然需要确保setcap存在,使用yum install libcap2-bin 即可,因为 libcap2-bin包含setcap
10,检查是否生效:getcap /usr/local/bin/dumpcap得到/usr/local/bin/dumpcap = cap_net_admin,cap_net_raw+eip 表示成功
11,使用用户登陆进去 su onlineLua ,在该用户下面就可以使用lua分析在线的流量了,命令为tshark -X lua_script:XXX.lua -i eno1 -q
12,由于wireshark采用了动态链接库,因此如果没有配置动态链接库的路径的话,可能会有相应的提示。使用vim /etc/ld.so.conf添加提示的路径,使用 ldconfig命令生效。
同样复用之前的脚本,就可以在线分析报文了,例如在线打印host,ua以及servername,将在后面文章讲述。
本文为优快云村中少年原创文章,转载记得加上小尾巴偶,博主链接这里。
本文介绍如何在Linux环境下通过配置特定用户权限,利用Wireshark的Lua脚本功能进行在线数据包分析。包括创建用户、设置权限、修改dumpcap属性等步骤。
3818

被折叠的 条评论
为什么被折叠?



