您的位置:首页 > 运维架构 > Linux

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

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

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

那一定有解决办法喽,当然。提示信息里给出了这个网址:https://wiki.wireshark.org/CaptureSetup/CapturePrivileges

里面给出了好几种解决方法,我这里只说一下我在我的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 组之后可能不会立即生效,反正我是重新登录之后才生效的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: