Ubuntu 桌面版 Wireshark 抓包权限不足问题解决指南

Ubuntu 桌面版 Wireshark 权限不足问题完整解决指南

错误提示:

text 复制代码
Couldn't run dumpcap in child process: 权限不够

这是 Ubuntu 桌面环境中使用 Wireshark 最常见、也最容易让新手困惑的问题


一、问题根源:Wireshark ≠ dumpcap

很多人误以为:

只要 Wireshark 能打开,就应该能抓包

但实际上:

  • Wireshark(GUI):普通用户程序
  • dumpcap:真正负责抓包的底层程序

而在 Linux 中:

抓包 = 访问网卡 = 高权限操作

Ubuntu 的安全设计是:

  • 不给整个 Wireshark 提权
  • 只给 dumpcap 最小必要权限

如果 dumpcap 没权限,你就会看到:

text 复制代码
Couldn't run dumpcap in child process: 权限不够

二、官方推荐方案(一次配置,永久可用)

✔ 适用于 Ubuntu / Linux Mint / Debian 桌面版

✔ 可直接通过「桌面图标」启动

✔ 不需要 sudo

① 确认 Wireshark 完整安装

打开终端,执行:

bash 复制代码
sudo apt update
sudo apt install wireshark

安装过程中如果出现提示:

Allow non-superusers to capture packets?

👉 一定要选择 YES

如果你之前选错了,可以重新配置:

bash 复制代码
sudo dpkg-reconfigure wireshark-common

然后重新选择 YES


② 将当前用户加入 wireshark 用户组

bash 复制代码
sudo usermod -aG wireshark $USER

⚠️ 这一步之后必须注销或重启系统,否则权限不会生效。


③ 给 dumpcap 设置抓包能力(核心步骤)

Ubuntu 官方使用的是 setcap

bash 复制代码
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap

验证是否成功:

bash 复制代码
getcap /usr/bin/dumpcap

正确结果应类似:

text 复制代码
/usr/bin/dumpcap = cap_net_admin,cap_net_raw=eip

④ 用桌面图标重新启动 Wireshark

现在你可以:

  • ✔ 不用 sudo
  • ✔ 不报权限错误
  • ✔ 正常抓 Wi‑Fi / 有线 / Loopback

三、快速验证(排错用)

如果你不确定是不是权限问题,可以临时测试:

bash 复制代码
sudo wireshark
  • sudo 能抓包
  • 桌面图标不能抓包

👉 那 100% 就是 dumpcap 权限问题,按本文方案即可。


Ubuntu 不允许普通用户直接访问网卡,

所以必须:

给 dumpcap 权限,而不是给 Wireshark 权限

相关推荐
tntxia10 小时前
linux curl命令详解_curl详解
linux
扛枪的书生13 小时前
Linux 网络管理器用法速查
linux
顺风尿一寸16 小时前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
XIAOHEZIcode1 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫1 天前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao3 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐4 天前
Linux内存扩容指南
linux
zylyehuo4 天前
Linux 彻底且安全地删除文件
linux
用户805533698035 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297915 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux