如何以编程方式确定网卡是虚拟的?

时间:2013-02-02 01:51:08

标签: c++ c windows winapi virtual-machine

在HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Windows NT / CurrentVersion / NetworkCards /下,我可以枚举我机器上安装的每张网卡。但是,某些应用程序(尤其是虚拟机)将安装一些虚拟网卡。

我的问题是:如何以编程方式确定网卡是虚拟网卡?

1 个答案:

答案 0 :(得分:1)

取决于虚拟机。如果它使用例如QEMU作为硬件仿真,则很难确定它不是"真实的东西" - 充其量,你可能会注意到它比真实的东西更快,但是你很难知道这一点。

当然,虚拟机也可能在虚拟机中安装了真实的网卡。因此,即使您以某种方式知道自己在虚拟机上运行,​​也无法确定它是否真实。

如果它是"半虚拟"网络适​​配器,然后你可能会发现制造商是像Citrix,VMWare或Oracle,或类似的东西。

我不完全确定有充分的理由知道差异......