如何在Linux上安装Wireshak并捕获USB流量?

时间:2015-06-25 15:21:01

标签: linux ubuntu usb root wireshark

我在Wireshark的安装中遇到了很多问题,并且捕获了USB流量,特别是由于用户权限。

在答案中,我描述了完成这项工作的完整工作流程。 每个问题的答案都在不同的论坛上给出,所以我认为我会在一个答案中将所有内容整合在一起,以避免未来的用户在他们遇到的每一个问题上都使用谷歌。

1 个答案:

答案 0 :(得分:25)

在Ubuntu 14.04上测试过,但可能适用于其他发行版,因为没有一个步骤特定于Ubuntu。

第一次按照教程操作时,请执行以下所有步骤1 - > 7。

重新启动计算机时,必须重复步骤6和7才能看到Wireshark中的USB接口。

  1. 安装Wireshark和libpcap:

    sudo apt-get install wireshark libpcap0.8

  2. 对于Debian,Ubuntu和其他Debian衍生产品,继续执行第3步。

    对于其他基于Linux的系统或其他安装方法,请参阅Wireshark Wiki,然后转到步骤6.

  3. 重新配置wireshark以允许非超级用户跟踪数据包:

    sudo dpkg-reconfigure wireshark-common

    在提示

  4. 中选择<Yes>
  5. 将您的用户名添加到&#34; wireshark&#34;用户组:

    sudo usermod -a -G wireshark <your_username>

    您可以通过显示您的用户名所属的群组来验证其是否正确完成:

    groups <your_username>

    如果没有,您可以添加组&#34; wireshark&#34;手动:

    groupadd wireshark

    然后将您的用户名添加到群组中(参见上文)

  6. 重要:退出会话,然后重新登录。

  7. 此步骤取决于计算机上安装的内核版本。要了解内核的版本,请键入:

    uname -r

    对于2.6.21之前的内核版本,如果/ sys / kernel / debug上尚未安装debugfs,请确保通过发出以下命令将其挂载到该处:

    sudo mount -t debugfs / /sys/kernel/debug

    对于内核版本2.6.21及更高版本,在内核中加载可加载模块usbmon:

    sudo modprobe usbmon

    有关此区别的更多信息,请参阅Wireshark Wiki

  8. 如果usbmon接口没有出现在Wireshark中,请使用dumpcap(Wireshark的命令行工具)查找接口:

    sudo dumpcap -D

    你应该看到usbmon *接口。现在显示usbmon接口的权限:

    ls -l /dev/usbmon*

    如果usbmon *文件有&#39; crw -------&#39;,那么Wireshark无法读取它们是正常的,因为它不能以root身份运行。 Do not execute wireshark in root mode,它可能会损坏文件。相反,您可以为其提供常规用户权限:

    sudo setfacl -m u:$USER:r /dev/usbmon*

  9. 现在usbmon接口应该出现在Wireshark中。

    玩得开心!

    来源:

    https://wiki.wireshark.org/CaptureSetup/USB#Linux

    https://wiki.wireshark.org/CaptureSetup/CapturePrivileges#Most_UNIXes

    https://unix.stackexchange.com/questions/55722/wireshark-couldnt-run-usr-sbin-dumpcap-in-child-process

    http://anonscm.debian.org/viewvc/collab-maint/ext-maint/wireshark/trunk/debian/README.Debian?view=markup