Wireshark設置interface 時提示“There are no interfaces on which a capture can be done ”
解決方法:
今天在電腦上安裝了WIRESHARK軟件,在設置interface 時提示"There are no interfaces on which a capture can be done" 提示沒有任何一個網絡接口准備好。此提示明顯是不對的, 我的網卡明明可以正常上網,網絡接口怎么會沒有准備好呢? 想着應該是和linux下的普通用戶權限有關系。上網google了一下,找到了解決問題的方法, 現在整理下來, 以備后用。
思路;即然問題與權限有關系 , 那么解決方法無法有兩點, 一個就是直接使用root登陸,這樣就可以有足夠的權限運行任意程序了, 但顯然是不安全的,另外一種方法是通過suid guid等辦法給予普通用戶執行wireshark的權限。這樣相對來說比安全。
第一種方法:使用root用戶登陸
xiaoshancun@xiaoshancun-VM500:~$ sudo wireshark
第二種方法: 通過guid形式使當前普通用戶可以運行此程序。
root@xiaoshancun-VM500:~# groupadd -g 130 wireshark
# 新建一個名為wireshark的用戶組, 130 是GID,此數字不是固定不變的, 請先查看/etc/group 文件查看最大的GID是多少,然后加1即可。
root@xiaoshancun-VM500:~# usermod -a -G wireshark xiaoshancun
# 將當前用戶 xiaoshancun 添加到wireshark組中。 使之成為新的組員。
root@xiaoshancun-VM500:~# chgrp wireshark /usr/bin/dumpcap
# 將/usr/bin/dumpcap 程序的屬組更改為wireshark 。
root@xiaoshancun-VM500:~# chmod 4750 /usr/bin/dumpcap
修改 /usr/bin/dumpcap 的權限 更改為 4750 添加suid 權限 。
root@xiaoshancun-VM500:~# setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
修改完成還不能直接使用,需要重新登陸一下才可以。需你不想重新登陸可以使用如下命令。
root@xiaoshancun-VM500:~# newgrp wireshark
完屔后就可以使用普通用戶執行wireshark 程序了。
