非root用户正常使用wireshark方法

今天在linux环境下运行wireshark抓包,安装好wireshark后,开始抓包总是报错,内容如下:

The capture session could not be initiated (failed to set hardware filter to promiscuous mode)

Please check to make sure you have sufficient permissions, and that you have


查询解决方法,结果是将选项中的混杂模式关闭,关闭后仍然报错,继续查询,突然想起来可能是用户权限问题,然后用sudo wireshark打开wireshark就正常了,但是wireshark官方不推荐这么做:

Running as user "root" and group "root".
This could be dangerous.

dumpcap需要root权限才能使用的,以普通用户打开Wireshark,Wireshark当然没有权限使用dumpcap进行截取封包。


所以用另一种方法,改变/usr/share/dumpcap的group,添加一个group:wireshark,chgrp到wireshark组,再改成4755权限,这样方便权限控制,具体步骤如下:


1、添加用户组,我以wireshark为例
sudo groupadd wireshark

2、将dumpcap更改为wireshark用户组
sudo chgrp wireshark /usr/bin/dumpcap

3、让wireshark用户组有root权限使用dumpcap
sudo chmod 4755 /usr/bin/dumpcap

4、将自己加入wireshark用户组,我的用户是godben,你添加需要更改这个。
sudo gpasswd -a godben wireshark

这样就完成,你可以使用自己的用户打开Wireshark,并且有权限进行操作了。