linux中非root用户使用wireshark进行抓包

作者: 张不正 2017-02-12 09:40:15

开始的时候我是在终端中使用sudo 命令打开 wireshark 的,因为如果不这样的话 wireshark 就没法抓包啊。偶尔抓一次包就使用这样的方式提权。


今天使用 wireshark 的时候特意留意了一下 wireshark 的提示信息,大致就是告诉我,使用 root 权限,危险!


 


那一定有解决办法喽,当然。提示信息里给出了:




里面给出了好几种解决方法,我这里只说一下我在我的archlinux中使用的方法。


 


1.假设你安装 wireshark 时的依赖包中的 dumpcap 这个软件的位置是 /bin/dumpcap


 


2.设置 dumpcap 归 root 所有,属于 wireshark 组。(wireshark 组在我安装wireshark的时候是自动创建的)


chown root:wireshark /bin/dumpcap


 


3.安全起见,为 dumpcap 去掉 other 的权限。


chmod o-rwx /bin/dumpcap


 


4.为 dumpcap 设置 setuid,让其在执行的时候拥有 root 的权限。


chmod u+s /bin/dumpcap


 


5.将你想用来启动 wireshark 的用户添加进 wireshark 组中,假设用户名是 userone。


usermod -a -G wireshark userone


 


6.完成!这种做法的原理是借助 setuid 进行提权,而且为 dumpcap 去掉 other 的执行权限来防止被滥用。


 


ps:将用户添加进 wireshark 组之后可能不会立即生效,反正我是重新登录之后才生效的。


 


本文永久更新地址:http://www.linuxdiyf.com/linux/28343.html

相关资讯