安装后Wireshark我必须将我的用户添加到线鲨组能够在没有 root 访问权限的情况下捕获数据包。
AFAIK Wireshark 使用libpcap本身使用的库网络链接协议从内核基础设施获取数据包。Netlink 还需要构建需要 root 访问权限的 RAW 套接字。
我的假设是:
- 任何一个线鲨组具有特殊权限,使其(以及该组中的每个用户)能够捕获数据包,而无需成为 root 或 sudoer。
- 或者更简单。 Wireshark 只是检查当前非 root 用户是否在线鲨组,如果是,那么它可以通过类似的方式升级它的特权设定值。
但第二个假设是错误的,因为wireshark没有设定值允许。
那么是什么让每个用户线鲨组能够在没有 root 访问权限的情况下捕获数据包吗?或者以更一般的形式:补充组如何获得这样的权限?
提前致谢。
答案1
这两个选项都不是;权限由 携带dumpcap
,它负责数据包捕获,并具有适当的功能:
$ sudo getcap /usr/bin/dumpcap
/usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip
它由 拥有root:wireshark
,并且只能由其所有者和组执行,因此只能由该wireshark
组中的用户使用。
看/usr/share/wireshark/README.Debian.gz
在您的系统上了解详细信息。