红联Linux门户
Linux帮助

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

发布时间:2017-02-12 09:40:15来源:linux网站作者:张不正
开始的时候我是在终端中使用sudo 命令打开 wireshark 的,因为如果不这样的话 wireshark 就没法抓包啊。偶尔抓一次包就使用这样的方式提权。
今天使用 wireshark 的时候特意留意了一下 wireshark 的提示信息,大致就是告诉我,使用 root 权限,危险!
 
那一定有解决办法喽,当然。提示信息里给出了:
linux中非root用户使用wireshark进行抓包
里面给出了好几种解决方法,我这里只说一下我在我的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