Мне нужен кросс-платформенный метод определения MAC-адреса компьютера во время выполнения. Для окон можно использовать модуль «wmi», и единственным методом под Linux, который я смог найти, было запустить ifconfig и запустить регулярное выражение на его выходе. Мне не нравится использовать пакет, который работает только на одной ОС, и анализ вывода другой программы не выглядит очень элегантным, не говоря уже о склонности к ошибкам.Получение MAC-адреса
Кто-нибудь знает метод перекрестной платформы (windows и linux) для получения MAC-адреса? Если нет, кто-нибудь знает какие-либо более элегантные методы, чем те, которые я перечислял выше?
Я просто попробовал это на коробке Windows, и он отлично работает ... кроме того, что ноутбук, на котором я его пробовал, имеет 2 сетевых адаптера (один беспроводной), и нет способа определить, какой MAC он вернул. Просто слово предупреждения, если вы хотите использовать этот код. – technomalogical 2008-10-01 19:55:45
Это функция перечислителя устройств Windows, независимо от того, какой метод вы используете для получения адреса - вы должны быть осторожны, если используете его как уникальный идентификатор. – 2008-10-01 22:12:15
Просто предупреждение: если вы посмотрите на документацию `getnode`, то это говорит о том, что он будет возвращать случайный длинный, если он не сможет обнаружить макрос:« Если все попытки получить аппаратный адрес не сработают, выберите случайный 48-битный номер с восьмым битом, установленным в 1, как рекомендовано в RFC 4122. " Поэтому проверьте, что восьмой бит! – deinonychusaur 2013-02-01 11:27:00