问题:如何在Linux上安装Wireshark并捕获USB流量?

我在安装 Wireshark 和捕获 USB 流量时遇到了很多问题,尤其是由于用户权限问题。

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

解答

在 Ubuntu 14.04 上测试,但可能适用于其他发行版,因为这些步骤都不是特定于 Ubuntu 的。

第一次学习本教程时,请执行所有步骤 1 -> 7。

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

1.安装Wireshark和libpcap:

sudo apt-get install wireshark libpcap0.8

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

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

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

sudo dpkg-reconfigure wireshark-common

在提示中选择<Yes>

  1. 将您的用户名添加到“wireshark”用户组:

sudo usermod -a -G wireshark <your_username>

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

groups <your_username>

如果没有,您可以手动添加组“wireshark”:

groupadd wireshark

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

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

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

uname -r

对于 2.6.21 之前的内核版本,如果 debugfs 尚未安装在 /sys/kernel/debug 上,请通过发出以下命令确保它已安装在那里:

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

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

`sudo modprobe usbmon`

See [Wireshark Wiki](https://wiki.wireshark.org/CaptureSetup/USB#Linux) for more information about this differentiation.
  1. 如果 Wireshark 中没有出现 usbmon 接口,请使用 dumpcap(Wireshark 的命令行工具)查找接口:

sudo dumpcap -D

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

ls -l /dev/usbmon*

如果 usbmon* 文件有“crw-------”,那么 Wireshark 无法读取它们是正常的,因为它不是以 root 身份运行的。不要在root模式下执行wireshark,可能会损坏文件。相反,你可以给它普通用户权限:

祖兹 100033

现在 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?viewu003dmarkup

Logo

更多推荐