Wireshark源码解析:Wireshark接口

运行 Arch linux,通过 pacman 安装的 wireshark。我是网络和 wireshark 组的成员,并且自从将自己添加到这些组后,不仅已注销,而且已经完全重新启动了计算机。设置了 dumpcap 上的权限,并且 setcap 运行 (几次。) 我可以从我的普通用户通过 CLI 直接运行 dumpcap 并捕获数据包:

╰─❯ groups
tty network wireshark libvirt docker users uucp optical disk audio wheel ddjones
╰─❯ ls -l /usr/bin/dumpcap
-rwsr-x--- 1 root wireshark 116928 Jun  7 15:16 /usr/bin/dumpcap
╰─❯ getcap /usr/bin/dumpcap
/usr/bin/dumpcap cap_net_admin,cap_net_raw=eip
─❯ dumpcap
Capturing on 'enp6s0'
File: /tmp/wireshark_enp6s09ZS040.pcapng
Packets captured: 37
Packets received/dropped on intece 'enp6s0': 37/0 (pcap:0/dumpcap:0/flushed:0/ps_ifdrop:0) (100.0%)

如果我通过 sudo 运行 wireshark,我会看到本地网络接口。如果我以普通用户身份运行它,我看到的只是 ciscodump 、 dpausmon 、 ranpkt 、 sdjournal 、 sshdump 和 udpdump。我能找到的一切都说在 dumpcap 上设置 perms 和 caps,我应该能够看到 Wireshark 内部的以太网接口。

0

尝试将pcap group添加到您的用户(如果存在)

usermod -aG pcap "$USER"
0

那是...

...很奇怪.

dumpcap 是 set-uid root,它应该足以打开捕获设备,并且还具有 cap_net_raw,它应该足以打开捕获设备。Wireshark 依靠 dumpcap 进行捕获并找出存在的设备,因此它应该可以看到所有设备。

此外,libpcap 已经有一段时间能够获取设备列表,而不需要打开它们,所以即使 dumpcap 不是 set-uid root 并且没有 cap_net_raw,Wireshark 仍然应该显示你的设备,但只是不让你捕获它们。

您应将此问题报告为the Wireshark issues list上的问题,以便进行调试。请在报告时提供完整的版本信息。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(119)
Linux创建新目录:每次在linux上运行shell脚本时创建一个新目录
上一篇
Windows系统评估工具占用cpu:显示进程占用内存的 CPU时间(mcshield process)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(43条)