我正在尝试捕获通过 USB 连接传输的数据,以对所使用的协议进行逆向工程。我使用 wireshark 来执行此操作,它明确警告不要以 root 身份运行。到目前为止,我已经安装了 wireshark 并运行以下命令:
sudo dpkg-reconfigure wireshark-common
允许 wireshark 组 (me) 的成员访问网络接口
sudo chmod +x /usr/bin/dumpcap
不确定它是做什么的,但我认为dumpcap
以前只能由 root 执行。
sudo usermod -aG wireshark (me)
将我添加到 wireshark 组
这使我无需以 root 身份运行即可嗅探网络接口,但我仍然看不到 USB 接口。
以 root身份
gksudo wireshark
运行 wireshark,然后我能然后查看 USB 接口。
我是否遗漏了某个步骤,导致非 root 用户无法嗅探 USB?目前我不介意以 root 身份运行 wireshark,但似乎我最好还是正确设置它。
答案1
我解决了......正在运行
sudo setcap CAP_NET_RAW,CAP_NET_ADMIN,CAP_DAC_OVERRIDE+eip /usr/bin/dumpcap
将该属性添加CAP_DAC_OVERRIDE
到dumpcap
程序中。这样它就可以绕过对接口设备的读写的常规限制检查(如果我理解正确的话)