Определите, является ли MAC-адрес физическим или виртуальным в Linux

Я пробовал использовать несколько команд, а также несколько примеров с использованием C/C++, но до сих пор не могу найти безупречного метода, который мог бы различать физические или виртуальные адаптеры Ethernet. Физические средства, доступные на вашей плате или установленные извне, и виртуальные средства, созданные приложениями виртуализации, такими как VirtualBox/VMWare/Virtual PC или VPN и т. д.

Любые указатели?


person Prashant    schedule 05.04.2011    source источник
comment
Просто любопытно, зачем вам это нужно, или лучше джет, что вы пытаетесь сделать? И это нужно различать в хосте или в гостях?   -  person Luka Marinko    schedule 05.04.2011
comment
Мне нужно это для кода активации для устройства. Да, я знаю, что его легко подделать, но я могу с этим смириться.   -  person Prashant    schedule 05.04.2011
comment
Меня также интересует эта проблема, так как MAC-адрес моего виртуального адаптера меняется после каждого перезапуска, что вызывает проблемы при использовании MAC-адресов для активации программного обеспечения/проверки лицензии...   -  person Chris    schedule 29.08.2011


Ответы (2)


Безупречного метода не бывает. Виртуальный адаптер может иметь любой MAC-адрес, включая тот, который мог быть назначен конструктором физическому устройству. И наоборот, учитывая, что можно изменить MAC-адрес физического адаптера. Вы можете только сделать обоснованное предположение.

person Xavier Poinas    schedule 05.04.2011

Возможно, вам будет проще определить, используете ли вы виртуализацию вообще, вместо того, чтобы искать конкретную информацию о сетевых адаптерах. Инструмент virt-what(1) просматривает аспекты работающей системы, чтобы определить, является ли система виртуализированной или нет. (Скрипт не такой умный, как вы думаете, но он действительно содержит множество небольших инструментов для сбора информации в одном месте.)

Кто-то, намеренно пытающийся обойти проверку лицензии, вероятно, не сочтет трудным обойти этот механизм.

person sarnold    schedule 05.04.2011