为啥wireshark检测不到我的接口?

Posted

技术标签:

【中文标题】为啥wireshark检测不到我的接口?【英文标题】:Why doesn't wireshark detect my interface?为什么wireshark检测不到我的接口? 【发布时间】:2012-01-05 12:56:32 【问题描述】:

我刚刚安装了Wireshark,但是当我点击capture > interfaces时,出现了对话框,但它不包含我的网络接口。

当点击capture > interfaces 时,它会出现在下面的屏幕截图中。这是什么原因造成的?

【问题讨论】:

你是否安装并运行了 libpcap? 我把这个和sudo一起用了,然后效果很好。 【参考方案1】:

这通常是由于与正确运行 Wireshark 相关的权限设置不正确造成的。虽然您可以通过以提升的权限运行 Wireshark(例如使用sudo)来避免此问题,但通常应该避免此问题(请参阅here,特别是here)。这有时是由于 Wireshark 安装不完整或部分成功造成的。由于您正在运行 Ubuntu,因此可以按照 Wireshark Q&A site 上的 this answer 中给出的说明解决此问题。综上所述,安装Wireshark后,执行如下命令:

sudo dpkg-reconfigure wireshark-common 
sudo usermod -a -G wireshark $USER

然后注销并重新登录(或重新启动),Wireshark 应该可以正常工作而无需额外的权限。最后,如果问题仍然没有解决,可能是dumpcap没有正确配置,或者有其他东西阻止它正常运行。在这种情况下,您可以为dumpcap 设置setuid 位,使其始终以root 身份运行。

sudo chmod 4711 `which dumpcap`

在某些发行版中,您在执行上述命令时可能会遇到以下错误:

chmod:‘4711’后缺少操作数

尝试“chmod --help”以获取更多信息。

在这种情况下尝试运行

sudo chmod 4711 `sudo which dumpcap`

【讨论】:

+1 用于使用which dumpcap。我确信我做的一切都是正确的,但是当我为 /usr/bin/dumpcap 设置权限时,Wireshark 试图使用 /usr/local/bin/dumpcap。 “以管理员身份运行”在 Windows 中 非常感谢。 fedora 上也缺少 chmod 4711 的那部分。尽管您也需要将 which 命令作为 sudo 运行:sudo chmod 4711 sudo which dumpcap @planetmaker sudo which dumpcap 解决了这个问题。【参考方案2】:

在 Windows 中,使用 Wireshark 2.0.4,以管理员身份运行并没有为我解决这个问题。所做的是重新启动 NetGroup Packet Filter Driver (npf) 服务:

    以管理权限打开命令提示符。 执行命令sc query npf,验证服务是否正在运行。 执行命令sc stop npf,然后执行命令sc start npf。 打开 WireShark 并按 F5。

来源:http://dynamic-datacenter.be/?p=1279

【讨论】:

sc stop npf 命令完成之前,我必须关闭所有正在运行的 Wireshark 副本。不过谢谢 - 这在 Win7 上对我有用! 谢谢 - 必须自己做。在我退出 Wireshark 之前,该服务不会停止。之后,一切正常。 如果其他人像我一样愚蠢......我遇到了这个问题,运行上面的命令导致:The specified service does not exist as an installed service。原来只是我在安装 WireShark 期间取消选中了“安装 WinPacp”复选框,认为这是不必要的添加,而没有查看任何信息。最重要的是注释:“WinPcap 是捕获实时网络数据所必需的”。 或者,就我而言,您正在运行 Wireshark Portable,默认情况下 不安装 WinPcap :-|您可以安装它,也可以手动将捕获的内容保存/转换为文件,然后将它们提供给 Wireshark,请参阅here。【参考方案3】:

对于 *nix 操作系统,使用 sudo 权限运行 wireshark。您需要成为超级用户才能查看界面。就像运行 tcpdump -Dsudo tcpdump -D 一样,第一个不会显示任何界面,也不会抱怨/提示 sudo 权限。

所以,从终端运行:

$ sudo wireshark

【讨论】:

【参考方案4】:

如其他答案所述,这通常是由于错误设置与正确运行 Wireshark 相关的权限造成的。

Windows 机器:

以管理员身份运行 Wireshark。

【讨论】:

No you should not do that, and it’s not necessary. @kissaki 这通常适用于 Windows 程序吗?或者更具体的问题:如果以管理员权限运行,程序的哪些方面使其易受攻击? @RnBandCrunk 以管理员身份运行程序使程序可以访问所有用户和组(包括管理员)执行它想要执行的任何操作。它有效地赋予程序 root 权限。如果程序写得不好或恶意或使用这样编写的库,它可能会对您的计算机做一些不太愉快的事情。除非绝对必要,否则为什么还要给它机会?【参考方案5】:

重启NPF,可以看到wireshark 1.6.5的接口

使用管理权限打开命令提示符。

    执行命令“sc stop npf”。 然后通过命令“sc start npf”启动 npf。 打开 WireShark。

就是这样。

【讨论】:

【参考方案6】:

在带有 Wireshark 3.0.0 的 Fedora 29 上,只需将用户添加到 Wireshark 组:

sudo usermod -a -G wireshark $USER

然后注销并重新登录(或重新启动),Wireshark 应该可以正常工作。

【讨论】:

【参考方案7】:

我在使用 Wireshark(版本 3.2.0)的笔记本电脑(win 10)上遇到了同样的问题,我尝试了上述所有解决方案,但不幸的是没有帮助。

所以,

我直接卸载了Wireshark,重新安装了

之后,这个问题就解决了。

将解决方案放在这里,希望它可以帮助某人......

【讨论】:

【参考方案8】:

只需卸载 NPCAP 并安装 wpcap。这将解决问题。

【讨论】:

以上是关于为啥wireshark检测不到我的接口?的主要内容,如果未能解决你的问题,请参考以下文章

WireShark检测不到网卡怎么办

电脑上用wireshark软件为啥抓不到带VLAN TAG的数据包,是软件问题还是网卡问题

为啥wireshark安装后抓包时提示没有一个可以抓包的接口。。怎么解决这个问题??? 跪求高手!!!!

笔记本用wireshark抓包没有找到网络接口?

如何让Wireshark可以捕获无线网卡的数据包

Wireshark抓包找不到接口