我知道这个问题已经在 ServerFault 和 Stackoverflow 上被问到了,但是没有任何讨论和解决方案对我有用。 (不直接链接到问题,因为目前我只能发布 2 个链接。)
我在 Windows 7 64 位版本上使用 Wireshark 2.2.4 和 WinPcap 4.1.3。以下是我尝试过的各种方法,但没有成功。Wireshark 仍然显示“未找到接口”
- 以管理员身份运行 Wireshark。
- 确保 NPF 服务正在使用 运行。使用 和 停止并
sc qc npf
重新启动它。net stop npf
net start npf
NPF 状态 - 我尝试将 NPF 服务启动类型设置为系统或自动,然后重新启动机器。没什么区别。
- 使用能够看到接口的 Windump -D。Windump 输出
- 安装了 Win10Pcap 而不是与 Wireshark 捆绑的 WinPcap 4.1.3,但没有什么区别。
- 尝试切换到 32 位版本的 Wireshark,但出现了同样的情况。
任何帮助或想法都将受到赞赏。
编辑:请参阅下面我自己的答案。
答案1
我花了一天半的时间才弄清楚,所以我想分享我的结果。
我发现,即使 WinPCap 安装正确,NPF 驱动程序实际上也没有绑定到任何网络适配器。当我尝试手动绑定它时,如下图所示:将 NFP 绑定到适配器我得到了错误:
“系统上当前安装的过滤器已达到极限。“
Windows 7 的默认限制设置为 8。您可以手动将此限制增加到 14。为此,您必须调整 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\ 下的 MaxNumFilters 值
- 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
- 找到并单击以下注册表子项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\
- 在右窗格中,右键单击“MaxNumFilters”,然后单击“修改”。
- 将值更改为“14”,然后单击选择十进制选项,然后单击确定。
- 关闭注册表编辑器。
如果该值已设置为 14,您可能需要卸载一些其他网络过滤器驱动程序。
然后按照截图所示再次执行 NPF 驱动的手动绑定,并重启 Wireshark。现在 Wireshark 应该能够看到所有的接口了!