Дифференцируйтесь сетевой адаптер VMware от физических сетевых адаптеров - или Обнаруживают Виртуальный сетевой адаптер

Я должен дифференцироваться между действительными адресами и адресами VM с помощью любого Windows API. Я использую GetAdaptersAddresses API для заполнения списка IP-адресов для локальной машины. Я должен извлечь только "реальные" адреса кроме адресов, связанных с сетевым адаптером VMware и другими адресами (автоматическая конфигурация и туннельные адреса адаптера). Я не смог найти, что любой API или любой флаг дифференцируют это. Есть ли какой-либо способ, которым это может быть сделано?

PS: IfType флаг в IP_ADAPTER_ADDRESSES структура, возвращенная GetAdaptersAddresses не помогает мне дифференцироваться между адресами VMware и действительными адресами.

15
задан Ajay 22 March 2016 в 11:21
поделиться

1 ответ

Начало (первые 3 сегмента) MAC-адреса показывает, является ли интерфейс виртуальным:

"00:05:69"; //vmware1
"00:0C:29"; //vmware2
"00:50:56"; //vmware3
"00:1C:42"; //parallels1
"00:03:FF"; //microsoft virtual pc
"00:0F:4B"; //virtual iron 4
"00:16:3E"; //red hat xen , oracle vm , xen source, novell xen
"08:00:27"; //virtualbox

ИЗМЕНИТЬ
Чтобы быть более ясным, если интерфейс имеет MAC-адрес , который начинается с любой из указанных выше строк, то он виртуальный.

16
ответ дан 1 December 2019 в 03:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: