![usbmon (wireshark, tshark) 适用于普通用户](https://linux22.com/image/1370466/usbmon%20(wireshark%2C%20tshark)%20%E9%80%82%E7%94%A8%E4%BA%8E%E6%99%AE%E9%80%9A%E7%94%A8%E6%88%B7.png)
我已经使用最新的 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
最后但同样重要的是,重新启动或确保用户确实在该组中并再次触发 udevrmmod
或modprobe
。
答案2
答案3
您需要在具有足够权限的帐户上运行 Wireshark 或 TShark 来捕获,或者需要授予运行 Wireshark 或 TShark 的帐户足够的权限来捕获。