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 权限

相关推荐
酉鬼女又兒1 小时前
每天一个Linux命令_printf
linux·运维·服务器
Trouvaille ~1 小时前
TCP Socket编程实战(三):线程池优化与TCP编程最佳实践
linux·运维·服务器·网络·c++·网络协议·tcp/ip
June`1 小时前
高并发网络框架:Reactor模式深度解析
linux·服务器·c++
生活很暖很治愈2 小时前
Linux——孤儿进程&进程调度&大O(1)调度
linux·服务器·ubuntu
HalvmånEver2 小时前
Linux:线程同步
linux·运维·服务器·线程·同步
Zach_yuan2 小时前
自定义协议:实现网络计算器
linux·服务器·开发语言·网络
wdfk_prog3 小时前
[Linux]学习笔记系列 -- [drivers][I2C]I2C
linux·笔记·学习
VekiSon3 小时前
Linux内核驱动——杂项设备驱动与内核模块编译
linux·c语言·arm开发·嵌入式硬件
Y1rong3 小时前
linux之网络
linux
寄存器漫游者3 小时前
Linux 软件编程 - IO 编程
linux·运维·spring