chromium+xdg-open Wireshark 来自 URL 方案处理程序:无法在子进程中运行 /usr/bin/dumpcap:权限被拒绝

chromium+xdg-open Wireshark 来自 URL 方案处理程序:无法在子进程中运行 /usr/bin/dumpcap:权限被拒绝

我需要从 Web 服务的 Web 用户界面启动本地 Wireshark,以立即启动捕获会话,并使用一些外部捕获插件连接到 Web 服务。使用 Firefox 时,启动 Wireshark,然后数据包捕获即可。使用 Chromium 时,Wireshark 启动,但数据包捕获失败,因为 /usr/bin/dumpcap 似乎受到限制。

  • 安装 Wireshark,以便非 root 用户也可以使用它。
  • 将我的用户添加到 wireshark 组:sudo gpasswd -a $USER wireshark
  • 从 bash 终端启动 wireshark 并成功开始捕获。

接下来,我注册了一个桌面条目(xdg-settings set default-url-scheme-handler xxx xxx.desktop):

[Desktop Entry]
Encoding=UTF-8
Name=Remote Capture URL Handler
Type=Application
Exec=wireshark -k -i xxx -o extcap.xxx.url:%u
MimeType=x-scheme-handler/xxx
Terminal=false
NoDisplay=true
Categories=Utility

单击 xxx:// 链接可以正确启动 Wireshark,但 Wireshark 无法启动 dumpcap:

Couldn't run /usr/bin/dumpcap in child process: Permission denied

Dumpcap 已设置 POSIX 文件功能,但看起来 Chromium 沙盒可能会改变边界功能?

$ ls -l `which dumpcap`
-rwxr-xr-- 1 root wireshark 121344 Mar 15 18:01 /usr/bin/dumpcap
$ getcap `which dumpcap`
/usr/bin/dumpcap cap_net_admin,cap_net_raw=eip

我如何使用 Chromium 注册我的应用程序,以便以用户的完整权限正确启动,从而 Wireshark 能够运行 dumpcap?

相关内容