經測試可用
我使用的ubuntu12.04
先直接在軟體庫安裝wireshare
開啟軟體發現無法找到網卡 網上說是許可權不夠 以下為解決辦法
譯自http://packetlife.net/blog/2010/mar/19/sniffing-wireshark-non-root-user/
本文介紹Linux中的方法,Windows使用者可以參照Wireshark的Wiki 從Linux中第一次啟動Wireshark的時候,可能會覺得奇怪,為什麼看不到任何一個網卡,比如eth0之類的。這是因為,直接存取這些裝置需要
root許可權。然後,我就用root許可權去用了。當然,這是一個不好的做法。比如Gentoo中就會提示:WIRESHARK CONTAINS OVER ONE POINT FIVE MILLION LINES OF SOURCE CODE. DO NOT RUN THEM AS ROOT. 那怎麼辦呢?Wireshark的leader Gerald Combs指出,現在多數Linux發行版都開始實現對raw網路裝置使用 ,可以用這個途徑從普通使用者啟動Wireshark。 以下是具體步驟:
1.安裝setcap。setcap 是libcap2-bin包的一部分,一般來說,這個包預設會已經裝好。
sudo apt-get install libcap2-bin
2.建立Wireshark組。這一步在安裝Wireshark的時候,也會完成。
# groupadd -g wireshark
# usermod -a -G wireshark <自己的使用者名稱>
# chgrp wireshark /usr/bin/dumpcap
# chmod 4750 /usr/bin/dumpcap 3.賦予許可權。
#setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap 完成。
可以使用 getcap /usr/bin/dumpcap驗證,輸出應當是:/usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip
現在就可以從自己的普通使用者啟動Wireshark抓包了