非root运行wireshark

非root运行wireshark

CAP_NET_ADMIN – Allow various network-related operations (e.g., setting privileged socket options, enabling multicasting, interface configuration, modifying routing tables).
CAP_NET_RAW – Permit use of RAW and PACKET sockets.
CAP_NET_ADMIN allows us to set an interface to promiscuous mode, and CAP_NET_RAW permits raw access to an interface for capturing directly off the wire. These capabilities are assigned using the setcap utility.

Enabling Non-root Capture
若是没有 setcap 这个程序,请自行安装。

1首先下载libcap

2.若是系统里面没有 wireshark 组,建立一个,而后把本身添加到这个组:
sudo groupadd wireshark
sudo usermod -a -G wireshark jieen
# 或者sudo gpasswd -a  jieen
在把本身添加到wireshark 组以后,一般状况下你要登出而后再登入才能生效,
你还能够运行这个来强制使新建立的组生效(注意,等下你要在同一个terminal中
运行 wireshark 命令来启动wireshark才能成功):

newgrp wireshark
下面咱们修改dumpcap 的权限,使它属于 wireshark 组,而后,咱们让这个组
拥有执行权限:

sudo chgrp wireshark /usr/local/bin/dumpcap
sudo chmod 754 /usr/local/bin/dumpcap

3.Grant Capabilities

sudo setcap cap_net_raw,cap_net_admin=eip /usr/local/bin/dumpcap
# 或者:
sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/local/bin/dumpcap
而后 咱们看下:


 sudo getcap /usr/local/bin/dumpcap
/usr/local/bin/dumpcap = cap_net_admin,cap_net_raw+eip
而后运行下wireshark , 是否是不要root也能抓包啦.
相关文章
相关标签/搜索