首页
学习
活动
专区
圈层
工具
发布

eNSP 安装 WinPcap 报错:A newer version of WinPcap is already installed

在搭建eNSP 实验环境时,安装 WinPcap 可能会出现下面的提示:

A newer version of WinPcap (internal version 5.1.83.730) is already installed on this machine. The installation will be aborted.

提示的意思是:

系统中已经安装了更高版本的 WinPcap,因此当前安装被终止。

但如果访问 WinPcap 官网:https://www.winpcap.org/

会发现WinPcap 的最新版本只有 v4.1.3,发布时间是2018 年 9 月 15 日,并不存在更高版本。

因此很多人会疑惑:

电脑里到底安装的是什么?

一、原因:系统中安装了 Npcap

这种情况大概率是因为电脑中已经安装了Npcap

Npcap 是WinPcap 的继任项目(successor),由Nmap 项目团队维护。它在保持 WinPcap 兼容性的基础上进行了升级,例如:

支持Windows 10 / Windows 11

使用NDIS 6 驱动模型

支持环回接口抓包

性能和安全性更好

现在很多网络工具在安装时都会自动安装Npcap,例如:

Wireshark

Nmap

因此,如果你的电脑安装过这些工具,系统中很可能已经存在Npcap

为了兼容旧程序,Npcap 在系统中会提供WinPcap 兼容接口,某些程序在检测时会把它识别为更高版本的 WinPcap,于是安装程序就会提示:

A newer version of WinPcap (internal version 5.1.83.730)

这个5.1.83.730实际上就是Npcap 提供的兼容版本号

二、为什么 eNSP 必须使用 WinPcap

虽然Npcap 是 WinPcap 的升级替代品,但在实际测试中:

eNSP 只能正常识别 WinPcap,而无法正常使用 Npcap。

原因主要有两个:

1️⃣eNSP 发布时间较早

eNSP 最初发布时,Windows 抓包驱动主要就是WinPcap,程序内部依赖的是 WinPcap 的接口和驱动。

2️⃣Npcap 的兼容模式并不能完全满足 eNSP

虽然 Npcap 提供了WinPcap Compatible Mode,但 eNSP 在某些情况下仍然无法正确识别或调用 Npcap。

实际表现通常是:

eNSP 启动设备失败

报错40

抓包接口异常

因此,在搭建eNSP 实验环境时,一般需要直接安装 WinPcap

三、解决方法

WinPcap 安装程序在安装前,会检测系统中的版本信息。

检测主要依赖下面这个文件:

C:\Windows\SysWOW64\packet.dll

只需要将这个文件重命名即可,例如:

packet.dllpacket.dll.old

重命名时系统会提示需要管理员权限,点击继续即可。

四、重新安装 WinPcap  

完成重命名后,重新运行 WinPcap 安装程序。

安装过程保持默认选项即可:

1️⃣Setup Wizard

点击Next

2️⃣License Agreement

点击I Agree

3️⃣安装选项

保持默认设置,点击Install

安装完成后点击Finish即可。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OBg0m7maliRAFZJUgxSqPVyQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券