最近,在提示启动更新后,Wireshark 无法再检测到我的以太网接口,列表中只剩下 USB。
由于重启后问题仍然存在,我决定重新安装Wireshark,所有选项都一样。情况并没有改善,这时我开始怀疑驱动程序。
快速检查给了我相互矛盾的信息。
>sc query npcap
SERVICE_NAME: npcap
TYPE : 1 KERNEL_DRIVER
STATE : 1 STOPPED
WIN32_EXIT_CODE : 31 (0x1f)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
>sc qc npf
SERVICE_NAME: npf
TYPE : 1 KERNEL_DRIVER
START_TYPE : 1 SYSTEM_START
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : \SystemRoot\system32\DRIVERS\npf.sys
LOAD_ORDER_GROUP : NDIS
TAG : 28
DISPLAY_NAME : Npcap Packet Driver (NPF)
DEPENDENCIES :
SERVICE_START_NAME :
>sc start npcap
[SC] StartService FAILED 2:
The system cannot find the file specified.
>sc start npf
[SC] StartService FAILED 2:
The system cannot find the file specified.
因此,显然,该服务存在,但无法启动,因为缺少相关文件。由于 Wireshark 仍然一无所获,我决定卸载 npcap,从头开始。
不幸的是,卸载 Npcap 比我想象的要难,卸载失败并生成以下日志:
从注册表读取服务选项
Windows 当前版本:10.0 (Win10)
试图阻止司机......
停止 npf 驱动程序
Npcap 数据包驱动程序 (NPF) 服务未启动。
输入 NET HELPMSG 3521 即可获得更多帮助。
停止 npcap 驱动程序
Npcap 数据包驱动程序 (NPCAP) 服务未启动。
输入 NET HELPMSG 3521 即可获得更多帮助。
Npcap 服务并未暂停。
Npcap。设备管理器还检测到了 Npcap 环回接口。
因此驱动程序服务没有运行,但显然还残留着一些痕迹。作为测试,我尝试重新安装 Wireshark 和 Npcap。
令我惊讶的是,Wireshark 检测到了 Npcap(适当版本)并且不让我再次安装它。
最后,我检查了:
C:\Windows\System32\drivers
查看相关文件是否存在,结果发现两个文件都存在。
这更让人恼火,因为我的笔记本电脑上运行着同样的版本。我不知道下一步该怎么做。
答案1
问题出在 Windows 驱动程序存储文件存储库中的旧 Npcap 驱动程序。由于我所不知道的原因,安装或卸载过程均未检测到它们。
虽然我不太清楚是怎么回事,但这些残留文件阻碍了完整 Ncap 驱动程序套件的安装。为了删除它们,我使用了以下批处理脚本(来自 J奥纳坦·范霍夫):
@echo off
for /L %%A in (1,1,300) do (
echo Deleting OEM%%A.INF
pnputil /d OEM%%A.INF
)
之后我重新安装了 Wireshark,发现它的功能已恢复。到目前为止,我还没有遇到任何其他问题。
答案2
找到答案https://github.com/nmap/nmap/issues/1289
光盘 c:\windows\system32\
删除 npcap
cd c:\windows\Syswow64\
删除 npcap
按下 Windows 键,在控制面板中输入
选择卸载程序
选择 npcap
对我有用