VirtNet生成虚拟网卡                                                                      VirtNet生成虚拟网卡


据说 “Microsoft KM-TEST 环回适配器” 虚拟网卡功能有限制。

列举一些可以生成虚拟网卡的软件:OpenVPN、VirtualBox、VMware、Npcap、SoftEtherVirtNet

本文教程关于VirtNet生成虚拟网卡:

https://www.ntkernel.com/virtnet/  解压得到3个文件virtnet60.cat 、virtnet60.inf、virtnet60.sys。

想要虚拟多个网卡,可以通过修改virtnet60.inf 文件,并多次安装得到多个虚拟网卡,因为修改了virtnet60.inf 文件,

会导致安装设备时不能通过驱 动签名,解决办法是启 用测试模式安装驱动。所以安装前准备工作,启 用测试模式,重 启后安装。

1. 启用命令:  bcdedit /set testsigning on
2.重启系统。
3.用记事本编辑文件virtnet60.inf ,并手动安装此驱动:


;-------------------------------------------------------------------------------
; VIRTNET.INF
;
; VirtNet Virtual Ethernet Adapter
;
; Copyright (c) NT Kernel Resources.  All rights reserved.


[version]
Signature   = "$Windows NT$"
Class       = Net
ClassGUID   = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider    = %ProviderString%
PnpLockDown = 1
CatalogFile     = virtnet60.cat
DriverVer = 05/28/2020,1.2.0.3


[ControlFlags]
ExcludeFromSelect={b85b7c50-6a01-11d2-b841-00c04fad5171}\virtnet60

[Manufacturer]
%ManufacturerName% = Standard,NTx86.6.0,NTia64.6.0,NTamd64.6.0


[Standard.NTx86.6.0]
%virtnet.DeviceDesc%    = virtnet.ndi, root\virtnet60_a ; Root enumerated
%virtnet.DeviceDesc%    = virtnet.ndi, root\virtnet60_b
%virtnet.DeviceDesc%    = virtnet.ndi, root\virtnet60_c
%virtnet.DeviceDesc%    = virtnet.ndi, root\virtnet60_d
%virtnet.DeviceDesc%    = virtnet.ndi, {b85b7c50-6a01-11d2-b841-00c04fad5171}\virtnet60 ; Toaster Bus enumerated

[Standard.NTia64.6.0]
%virtnet.DeviceDesc%    = virtnet.ndi, root\virtnet60_a ; Root enumerated
%virtnet.DeviceDesc%    = virtnet.ndi, root\virtnet60_b
%virtnet.DeviceDesc%    = virtnet.ndi, root\virtnet60_c
%virtnet.DeviceDesc%    = virtnet.ndi, root\virtnet60_d
%virtnet.DeviceDesc%    = virtnet.ndi, {b85b7c50-6a01-11d2-b841-00c04fad5171}\virtnet60 ; Toaster Bus enumerated

[Standard.NTamd64.6.0]
%virtnet.DeviceDesc%    = virtnet.ndi, root\virtnet60_a ; Root enumerated
%virtnet.DeviceDesc%    = virtnet.ndi, root\virtnet60_b
%virtnet.DeviceDesc%    = virtnet.ndi, root\virtnet60_c
%virtnet.DeviceDesc%    = virtnet.ndi, root\virtnet60_d
%virtnet.DeviceDesc%    = virtnet.ndi, {b85b7c50-6a01-11d2-b841-00c04fad5171}\virtnet60 ; Toaster Bus enumerated


;-------------------------------------------------------------------------------
; Microsoft Virtual Ethernet Adapter
;
[virtnet.ndi]
Characteristics    = 0x1 ; NCF_VIRTUAL
*IfType            = 0x6 ; IF_TYPE_ETHERNET_CSMACD
*MediaType         = 0x0 ; NdisMedium802_3
*PhysicalMediaType = 14 ; NdisPhysicalMedium802_3
AddReg             = virtnet.Reg, virtnet.params.reg
CopyFiles          = virtnet.CopyFiles

[virtnet.ndi.Services]
AddService         = virtnet60, 2, virtnet.Service, virtnet.EventLog

;-----------------------------------------------------------------------------
; Microsoft Virtual Miniport Common
;
[virtnet.Reg]
HKR,    ,                         BusNumber,           0, "0"
HKR, Ndi,                         Service,             0, "VirtNet60"
HKR, Ndi\Interfaces,              UpperRange,          0, "ndis5"
HKR, Ndi\Interfaces,              LowerRange,          0, "ethernet"

;-----------------------------------------------------------------------------
; Driver and Service Section
;
[virtnet.CopyFiles]
virtnet60.sys,,,2

[virtnet.Service]
DisplayName        = %virtnet.Service.DispName%
ServiceType        = 1 ;%SERVICE_KERNEL_DRIVER%
StartType          = 3 ;%SERVICE_DEMAND_START%
ErrorControl       = 1 ;%SERVICE_ERROR_NORMAL%
ServiceBinary      = %12%\virtnet60.sys
AddReg             = TextModeFlags.Reg

[virtnet.EventLog]
AddReg             = virtnet.AddEventLog.Reg

[virtnet.AddEventLog.Reg]
HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\netevent.dll"
HKR, , TypesSupported,   0x00010001, 7

[TextModeFlags.Reg]
HKR, , TextModeFlags,    0x00010001, 0x0001

;-------------------------------------------------------------------------------
; Optional Custom Parameters in the Registry ("Advanced" menu).
[virtnet.params.reg]
; For example:
HKR, NDI\params\NetworkAddress,           ParamDesc,      0, %NetworkAddress%
HKR, NDI\params\NetworkAddress,           type,           0, "edit"
HKR, NDI\params\NetworkAddress,           LimitText,      0, "12"
HKR, NDI\params\NetworkAddress,           UpperCase,      0, "1"
HKR, NDI\params\NetworkAddress,           default,        0, " "
HKR, NDI\params\NetworkAddress,           optional,       0, "1"

[SourceDisksNames]
1 = %DiskId1%,,,""

[SourceDisksFiles]
virtnet60.sys  = 1,,

;-----------------------------------------------------------------------------
; DestinationDirs
;
[DestinationDirs]
virtnet.CopyFiles = 12

;-----------------------------------------------------------------------------
; Localizable Strings
;
[Strings]
ProviderString              = "NT Kernel Resources"
ManufacturerName            = "NT Kernel Resources"
virtnet.DeviceDesc          = "VirtNet Network Adapter (1)"
virtnet.Service.DispName    = "VirtNet Network Adapter (1)"
DiskId1                     = "VirtNet Device Installation Disk #1"
NetworkAddress              = "Network Address (MAC)"



[Strings] 部分,修改 NetVirtNet_Desc:
NetVirtNet_Desc = "VirtNet Network Adapter (1)"
virtnet.Service.DispName = "VirtNet Network Adapter (1)"

#说明,“VirtNet Network Adapter (1)”就是自命名的虚拟网卡的名字。

完整图文教程:

Converted Image



4.安装完成后,关闭test模式的命令:bcdedit /set testsigning off

5.
自定义 MAC 地址:

MAC地址首字节次低位解释