为啥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 -D
与 sudo 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软件为啥抓不到带VLAN TAG的数据包,是软件问题还是网卡问题