Windows XP系统的“网络连接”窗口中一般可以列出系统中安装的网卡接口情况,不过如果在cmd窗口中键入ipconfig /all会发现,有一些系统中安装的网络接口并没有显示在网络连接窗口中,而是被隐藏了(也包括很多软件虚拟的网卡)。其实在系统注册表中有相关键值控制 着网卡接口的隐藏和显示的属性,详细的如下:

“开始”菜单→“regedit”回车打开注册表编辑器,定位到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}  键值处(此键值为系统中网卡的硬件类型UUID),展开后有从0000开始的一系列注册表项,每一项下面就是是系统中安装的对应网络接口的配置数据。比如 展开[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972- E325-11CE-BFC1-08002bE10318}\0001],找到其中有一项"Characteristics"=dword:00000084,修改这个dword值就可以改变此网卡接口隐藏或者显示的属性。

具体的有几种情况:
1、对于物理网卡,显示的属性是"Characteristics"=dword:0x00000084(十六进制),如果要隐藏的话把这个数值加上8,即改为0x8c 即可;
2、对于软件虚拟网卡,显示时候的值为"Characteristics"=dword:0x00000081; 隐藏的时候同样加上8,即改成0x89 ;
3、系统自带的一些PPTP和pppoe的miniport接口,默认就是隐藏的状态,这项的数值是"Characteristics"=dword:0x00000029;

其他一些系统内部接口的还有不同的特征值,可以继续详细的研究~~

PS:转网上的更详细的特征值定义:

Characteristics 值在注册表
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class \{4D36E972-E325-11CE-BFC1-08002bE10318}\数字下。

在windows 中,Characteristics 的取值如下,Characteristics项可以有1个或多个如下的值(多值应计算总和):

十六进制值 名字 描述

0x1 NCF_VIRTUAL 说明组件是个虚拟适配器
0x2 NCF_SOFTWARE_ENUMERATED 说明组件是一个软件模拟的适配器
0x4 NCF_PHYSICAL 说明组件是一个物理适配器
0x8 NCF_HIDDEN 说明组件不显示用户接口
0x10 NCF_NO_SERVICE 说明组件没有相关的服务(设
备驱动程序)
0x20 NCF_NOT_USER_REMOVABLE 说明不能被用户删除(例如,
通过控制面板或设备管理器)
0x40 NCF_MULTIPORT_INSTANCED_ADAPTER 说明组件有多个端口,每个端
口作为单独的设备安装。每个端口有自己的 hw_id(组件ID)并可被单独安装,这只适合于
EISA适配器
0x80 NCF_HAS_UI 说明组件支持用户接口(例如,Advanced Page或Customer Properties Sheet)
0x400 NCF_FILTER 说明组件是一个过滤器

从上面可以看出来,只要用户判断“Characteristics ”的值就可以判断网卡是虚拟网卡还是物理网卡。

如果是虚拟网卡:Characteristics & NCF_VIRTUAL ==NCF_VIRTUAL

如果是物理网卡:Characteristics & NCF_PHYSICAL ==NCF_PHYSICAL