用ipconfig可直接识别虚拟网卡IP:名称含vEthernet、WSL、Docker、Hyper-V、VirtualBox等关键词的适配器即为虚拟网卡,其对应区块下的IPv4地址即所求;若名称混淆,可用getmac /v与ipconfig /all通过物理地址交叉验证;PowerShell命令Get-NetIPConfiguration | Where-Object {$_.NetAdapter.InterfaceDescription -match "Hyper-V|WSL|vEthernet|VirtualBox"} | ForEach-Object {$_.NetIPv4Address.IPAddress}可精准筛选。

直接用 ipconfig 筛出虚拟网卡区块
ipconfig 默认输出里混着物理网卡、回环、虚拟网卡,但虚拟网卡名称有明显特征。Windows 下常见含 vEthernet、WSL、Docker、Hyper-V、VirtualBox 的适配器名,基本就是虚拟网卡。它们的 IPv4 地址就写在对应区块的 IPv4 地址 行后面。
- 不要只看“有没有 IP”,有些虚拟网卡即使没联网也会分配
172.x.x.x或192.168.x.x段地址(比如 WSL2 默认用172.x.x.x) - 如果某块虚拟网卡显示
媒体已断开,它的 IP 仍可能有效(如 WSL2 虚拟交换机常处于“启用但无物理连接”状态) -
ipconfig /all可进一步确认:查物理地址是否为全零或形如00-15-5D-xx-xx-xx(Hyper-V)、00-0C-29-xx-xx-xx(VMware)等典型虚拟 MAC 前缀
getmac + ipconfig /all 联合定位虚拟网卡身份
单靠名字判断有风险——比如某些国产虚拟化软件会起名“以太网 2”,看着像物理网卡。这时要用 MAC 地址交叉验证。
先运行
getmac /v,输出所有网卡的连接名、网络适配器名、物理地址三列再运行
ipconfig /all,逐段比对“适配器名称”和“物理地址”找到物理地址匹配且适配器名含虚拟关键词的条目,它对应的
IPv4 地址就是你要的虚拟网卡 IP注意:
getmac输出的“连接名”(如“vEthernet (Default Switch)”)和ipconfig里“无线局域网适配器 WLAN”这类标题不总是一致,必须以“物理地址”为唯一锚点如果
getmac /v中某行“传输名称”为空或显示“N/A”,说明该网卡驱动未加载或已被禁用,可忽略
PowerShell 用 Get-NetIPConfiguration 精准过滤
命令行工具容易眼花,PowerShell 能直接按条件筛出虚拟网卡 IP:
- 运行:
Get-NetIPConfiguration | Where-Object {$<em>.NetAdapter.InterfaceDescription -match "Hyper-V|WSL|vEthernet|VirtualBox"} | ForEach-Object {$</em>.NetIPv4Address.IPAddress} - 这条命令会跳过所有物理网卡,只输出匹配关键词的虚拟网卡所配置的 IPv4 地址
-
InterfaceDescription字段比适配器名更稳定,不易被中文重命名干扰 - 如果返回空,不代表没虚拟网卡,可能是关键词没覆盖(比如某些国产容器平台用“Kube”前缀),可先跑
Get-NetAdapter | Select-Object Name,InterfaceDescription看真实描述再调整匹配条件
Linux/统信UOS 用户注意 ip a 里的 veth* 和 docker0
Windows 用户习惯找“虚拟”字样,Linux 下得认接口名模式:
-
veth*(如veth012abc)是容器或网络命名空间创建的虚拟以太网对,通常配inet 10.x.x.x/16类地址 -
docker0是 Docker 默认桥接网卡,固定为172.17.0.1/16 -
br-开头的桥接接口(如br-8a3f2e1d9c4b)也属虚拟网络,IP 多为172.x.x.x或192.168.x.x - 运行
ip a show up只看启用状态的接口,避免被lo或已 down 的接口干扰
真正麻烦的不是找不到,而是找到之后分不清哪个虚拟网卡对应哪个服务——WSL2、Docker Desktop、VMware Workstation 可能同时开着三套虚拟网络,各自分配独立子网。这时候光看 IP 没用,得结合进程、端口转发规则、或宿主机上 netsh interface portproxy show v4tov4 这类命令才能理清通信路径。

















