我在系统控制中哪里可以找到 WinPcap,我假设它作为服务运行,但似乎我错了。
我通过命令行启动了 WinPcap(来源):
runas /u:administrator "net start npf"
在启动 WinPcap 之前,Wireshark 没有显示任何捕获接口,启动之后才显示。所以我假设它正在运行。但我在任务管理器的服务列表中找不到它。
为了缩小候选范围,我比较了启动和停止 WinCap 后运行的服务,但没有区别。
我如何直接确认这个“服务”正在Windows 8上运行?
C:\WINDOWS\system32>sc query "npf"
SERVICE_NAME: npf
TYPE : 1 KERNEL_DRIVER
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
神秘:
sc query
列出了 85 项服务 - 其中没有一个是“npf” - 但sc query npf
会找到它。
答案1
是的,你没看错,WinPcap 是一个服务(但主要是驱动程序),名为NetGroup Packet Filter Driver
。事实上,它在 中是看不到的Windows Services Manager
。
您可以在注册表中找到它:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NPF
未经测试,但似乎您可以更改服务的启动方式。导航到上面的注册表项。然后您将找到一个REG DWORD
名为的值Start
。值为:
- 值
0x3
:SERVICE_DEMAND_START - 值
0x2
:SERVICE_AUTO_START - 值
0x1
:SERVICE_SYSTEM_START
在文档中,他们说它只在 Windows NTx 上工作,但请尝试一下!在我的系统上,它设置为0x2
。
要在 GUI 中查看它,请转到(我正在谈论Windows7
,希望它能起作用Windows8
):
- 跑步
msinfo32.exe
- 然后展开
Software environment
- 然后选择
System Drivers
您可以在此处获取服务状态npf
(但无法与其交互)
编辑 :
我如何直接确认这个“服务”正在Windows 8上运行?
您可以从命令提示符中使用以下命令来检查服务状态:
sc query "npf"
或者这样检查它是否正在运行:
sc query "npf" | findstr RUNNING
or
sc query "npf" | find "RUNNING"
编辑2:
神秘:
sc query
列出了 85 项服务 - 其中没有一个是“npf” - 但sc query npf
会找到它。
看起来很正常。关于文档这就是工作的方式sc
。
默认情况下,SC
仅列出服务,而不列出驱动程序。
NPF
更像是一个司机。
获取所有驱动程序:(
sc query type= driver
将出现 NPF)获取全部(服务 + 驱动程序):(
sc query type= all
NPF 也会出现)
答案2
如果您浏览到“运行”对话框(Windows 键 + s,然后键入运行(对于 Windows 8.1+))并键入“msinfo32”,这将打开高级系统信息对话框。展开“软件环境”,然后选择系统驱动程序。如果您单击标题“名称”,它将按顺序对它们进行排序,您应该会发现 npf 存在,其状态显示在右侧的列中。
从这里收集的信息:http://www.winpcap.org/misc/faq.htm#Q-3在 Windows 8.1 和 Windows 10 技术预览版上测试。