usbmon (wireshark, tshark) 适用于普通用户

usbmon (wireshark, tshark) 适用于普通用户

我已经使用最新的 cvs 版本设置了 libpcap。普通用户可以运行 Wireshark 和 tshark。具体来说,它们已被添加到 wireshark 组,并且可以从

1. eth0
2. br0
3. nflog (Linux netfilter log (NFLOG) interface)
4. nfqueue (Linux netfilter queue (NFQUEUE) interface)
5. any (Pseudo-device that captures on all interfaces)
6. lo

不幸的是,他们看不到 root 所拥有的 usbmon 设备:

1. eth0
2. br0
3. nflog (Linux netfilter log (NFLOG) interface)
4. nfqueue (Linux netfilter queue (NFQUEUE) interface)
5. usbmon1 (USB bus number 1)
6. usbmon2 (USB bus number 2)
7. usbmon3 (USB bus number 3)
8. usbmon4 (USB bus number 4)
9. usbmon5 (USB bus number 5)
10. usbmon6 (USB bus number 6)
11. usbmon7 (USB bus number 7)
12. any (Pseudo-device that captures on all interfaces)
13. lo

以 roottshark -D身份列出所有 usbmon 设备。但是,普通用户无法使用 wireshark 或 tshark 查看 usbmon 设备。

如何使 wireshark 组用户可以使用 usbmon 设备?

答案1

我通过为用户创建一个组来解决这个问题,该组应该能够使用 usbmon,然后让 udev 更改设备的所有权。因此,只需创建一个组,将您的用户添加到该组并将 udev 规则放入“/etc/udev/rules.d”中:

addgroup usbmon
gpasswd -a $USER usbmon
echo 'SUBSYSTEM=="usbmon", GROUP="usbmon", MODE="640"' > /etc/udev/rules.d/99-usbmon.rules

最后但同样重要的是,重新启动或确保用户确实在该组中并再次触发 udevrmmodmodprobe

答案2

我找到了答案这里

为了使 wireshark 用户(添加到 wireshark 组的用户)能够捕获 USB 数据,必须更改 usbmon 的权限:

chmod o=rw /dev/usbmon*

对于几乎相同的问题(有替代答案)的另一个答案是这里

答案3

wireshark.org

您需要在具有足够权限的帐户上运行 Wireshark 或 TShark 来捕获,或者需要授予运行 Wireshark 或 TShark 的帐户足够的权限来捕获。

相关内容