Сообщить об ошибке.

Функция getnode() модуля uuid в Python

Получить MAC-адрес хоста

Синтаксис:

import uuid

uuid.getnode()

Параметры:

  • нет.

Возвращаемое значение:

  • 48-битное натуральное число.

Описание:

Функция getnode() модуля uuid возвращает аппаратный адрес (MAC-адрес) в виде 48-битного натурального числа.

При первом запуске функция uuid.getnode может запустить отдельную программу, которая может быть довольно медленной. Если все попытки получить аппаратный адрес не удаются, то выбирается случайное 48-битное число с многоадресным битом, младший значащий бит первого октета равным 1, как рекомендуется в RFC 4122.

"Аппаратный адрес" - означает MAC-адрес сетевого интерфейса. На машине с несколькими сетевыми интерфейсами универсально управляемые MAC-адреса (то есть, когда второй младший бит первого октета не установлен) будут предпочтительнее локально управляемых MAC-адресов, но без других гарантий упорядочения.

Примеры использования.

>>> import uuid
>>> uuid.getnode()
# 268914881220836
>>> hex(uuid.getnode())
# '0xf4939ff850e4'

Пример получения MAC-адреса при помощи uuid.getnode().

Что бы получить MAC-адрес в привычном виде, нужно соединить вывод функции uuid.getnode() после каждых 2 цифр. Для соединения элементов будем использовать регулярные выражения:

>>> import uuid, re
>>> ':'.join(re.findall('..', '%012x' % uuid.getnode()))
# 'f4:93:9f:f8:50:e4'