Wireshark:无需 sudo 即可访问 USB 总线接口

Bry*_*mas 5 usb sudo wireshark

我正在尝试在 Linux (Ubuntu) 上使用 Wireshark 监控一些 USB 流量。如果我以没有 root 权限的普通用户身份启动 Wireshark,则不会列出 USB 总线接口。如果我sudo wireshark虽然,我看到了USB总线接口。使用以下dumpcap命令列出可用的捕获接口可能是最好的说明:

~$dumpcap -D

1. eth0
2. any (Pseudo-device that captures on all interfaces)
3. lo
Run Code Online (Sandbox Code Playgroud)

相对

~$sudo dumpcap -D

1. eth0
2. usbmon1 (USB bus number 1)
3. usbmon2 (USB bus number 2)
4. usbmon3 (USB bus number 3)
5. usbmon4 (USB bus number 4)
6. usbmon5 (USB bus number 5)
7. usbmon6 (USB bus number 6)
8. usbmon7 (USB bus number 7)
9. usbmon8 (USB bus number 8)
10. any (Pseudo-device that captures on all interfaces)
11. lo
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以配置 Wireshark,这样我就不必以 root 身份运行来访问 USB 总线接口?我之前遵循设置wireshark的指南,这样我就不必以root身份运行它来查看以太网接口,所以我想知道这是否只是更改其他可执行文件的权限才能看到USB的问题无需以 root 身份运行的接口...

小智 6

是的,您只需要向 dumpcap 实用程序添加另一个功能。CAP_DAC_OVERRIDE 提供了覆盖文件权限检查的能力,并允许 dumpcap 访问 USB 捕获所需的文件。这不是一个漂亮的解决方案,但它比以 root 身份运行整个 Wireshark 好得多。由于您已经完成了大部分工作,因此您只需要运行最后一条命令。

须藤 setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip CAP_DAC_OVERRIDE+eip' /usr/bin/dumpcap

阅读 Evan Huus 对此错误报告的回复以获取更多信息:

https://bugs.launchpad.net/ubuntu/+source/wireshark/+bug/893828