Wireshark - Ubuntu 中的权限问题

Wireshark - Ubuntu 中的权限问题

我使用以下方式安装了wireshark( tshark)

sudo apt-get install tshark 

这将安装tshark可执行文件/usr/bin/tshark

现在的问题是,如果没有 root 权限,我无法运行它。我如何使用普通用户的权限执行此命令?

答案1

您需要配置 wireshark 以允许非 root 用户捕获数据包:

dpkg-reconfigure wireshark-common

将您自己添加到wireshark群组:

sudo usermod -a -G wireshark "$USER"

重启系统以便应用组权限。现在您可以启动 wireshark 并捕获一些数据包!

答案2

Wireshark维基百科讨论了权限以及在必要时“规避”它们的方法 - 尽管我很确定在 Linux 上捕获任何数据包都需要某种级别的 root 权限。

答案3

我遇到了类似的问题,当以非 root 用户身份运行 Wireshark(tshark 的 GUI 版本)时,无法看到任何网络接口。如今,Ubuntu 和 Debian 支持文件功能,因此我能够以非 root 用户身份运行 Wireshark(和 tshark)。

  1. 创建一个 wireshark 组。

    sudo groupadd wireshark  
    
  2. 将您的用户名添加到 wireshark 组。

    sudo usermod -a -G wireshark yourusername
    
  3. 将 dumpcap 的组所有权更改为 wireshark 组。

    sudo chgrp wireshark /usr/bin/dumpcap
    
  4. 将 dumpcap 的文件权限设置为 754 (用户为 rwx,组为 rx)。

    sudo chmod 754 /usr/bin/dumpcap
    
  5. 启用 dumpcap 的文件功能。

    sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
    
  6. dpkg-reconfigure如果您通过 Synaptic 安装 Wireshark 或 tshark 作为包并为非 root 用户启用数据包捕获,您可能还需要运行wireshark-common。

    sudo dpkg-reconfigure wireshark-common
    

答案4

可能需要 root 凭证才能将网卡置于混杂模式。您需要设置用户 IDhttp://www.zzee.com/solutions/linux-permissions.shtml#setuid或者使用 sudo 运行。Sudo 是更好、更安全的选择。

相关内容