stdnum.mac

MAC address (Media Access Control address).

A media access control address (MAC address, sometimes Ethernet address) of a device is meant as a unique identifier within a network at the data link layer.

More information:

>>> validate('D0-50-99-84-A2-A0')
'd0:50:99:84:a2:a0'
>>> to_eui48('d0:50:99:84:a2:a0')
'D0-50-99-84-A2-A0'
>>> is_multicast('d0:50:99:84:a2:a0')
False
>>> str(get_manufacturer('d0:50:99:84:a2:a0'))
'ASRock Incorporation'
>>> get_oui('d0:50:99:84:a2:a0')
'D05099'
>>> get_iab('d0:50:99:84:a2:a0')
'84A2A0'
stdnum.mac.compact(number)

Convert the MAC address to the minimal, consistent representation.

stdnum.mac.get_iab(number)

Return the IAB (individual address block) part of the address.

stdnum.mac.get_manufacturer(number)

Look up the manufacturer in the IEEE OUI registry.

stdnum.mac.get_oui(number)

Return the OUI (organization unique ID) part of the address.

stdnum.mac.is_broadcast(number)

Check whether the number is the broadcast address.

Broadcast addresses are meant to be received by all nodes in a network.

stdnum.mac.is_locally_administered(number)

Check if the address is meant to be configured by an administrator.

stdnum.mac.is_multicast(number)

Check whether the number is a multicast address.

Multicast addresses are meant to be received by (potentially) multiple nodes in a network (LAN).

stdnum.mac.is_unicast(number)

Check whether the number is a unicast address.

Unicast addresses are received by one node in a network (LAN).

stdnum.mac.is_universally_administered(number)

Check if the address is supposed to be assigned by the manufacturer.

stdnum.mac.is_valid(number, validate_manufacturer=None)

Check if the number provided is a valid IBAN.

stdnum.mac.to_eui48(number)

Convert the MAC address to EUI-48 format.

stdnum.mac.validate(number, validate_manufacturer=None)

Check if the number provided is a valid MAC address.

The existence of the manufacturer is by default only checked for universally administered addresses but can be explicitly set with the validate_manufacturer argument.