非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也能抓包啦.
相關文章
相關標籤/搜索