歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux中從普通用戶啟動Wireshark抓包

Linux中從普通用戶啟動Wireshark抓包

日期:2017/2/28 15:47:40   编辑:Linux教程
本文介紹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抓包了。
Copyright © Linux教程網 All Rights Reserved