The Online Encyclopedia and Dictionary






MAC address

In computer networking a media access control address (MAC address) is a unique identifier attached to most forms of networking equipment. Most layer 2 network protocols use one of three numbering spaces managed by the IEEE: MAC-48, EUI-48, and EUI-64, which are designed to be globally unique. Not all communications protocols use MAC addresses, and not all protocols which do require such globally unique identifiers. The IEEE claims trademarks on the names "EUI-48" and "EUI-64". (The "EUI" stands for Extended Unique Identifier.)


Address details

The original IEEE 802 MAC address, now officially called "MAC-48", comes from the Ethernet specification. Since the original designers of Ethernet had the foresight to use a 48 bit address space, there are potentially 248 or 281,474,976,710,656 possible MAC addresses.

All three numbering systems use the same format, and differ only in the length of the identifier. The first three octets (in transmission order) identify the organization which issued the identifier, and are known as the Organisational Unique Identifier (OUI). The following three (MAC-48 and EUI-48) or five (EUI-64) octets are assigned by that organization in nearly any manner they please, subject to the constraint of uniqueness. The IEEE expects the MAC-48 space to be exhausted no sooner than the year 2100; EUI-64s are not expected to run out.

MAC addresses permanently attached to a product by the manufacturer are known as "burned-in addresses" (BIA) or sometimes as "Universally Administered Addresses" (UAA). The BIA can be overridden with a "Locally Administered Address" (LAA). The following technologies use the MAC-48 identifier format:

The distinction between EUI-48 and MAC-48 identifiers is purely semantic: MAC-48 is used for network hardware; EUI-48 is used to identify other sorts of devices and software. (Thus, by definition, an EUI-48 is not in fact a "MAC address", although it is syntactically indistinguishable from one and assigned from the same numbering space.)

EUI-64 identifiers are used in:

  • FireWire
  • IPv6 (as the low-order 64 bits of a unicast network address)

The IEEE has built in several special address types to allow more than one Network Interface Card to be addressed at one time:

  • The broadcast address, all one bits, is received by all stations on a local area network.
  • Multicast addresses, used with both Ethernet and FDDI, are received by stations on a LAN which have been configured to do so. Multicast addresses have the least-significant bit of their first octet set to one.
  • Functional addresses identify one of more Token Ring NICs that provide a particular service, defined in IEEE 802.5 .

In addition, the EUI-64 numbering system encompasses both MAC-48 and EUI-48 identifiers by a simple translation mechanism. To convert a MAC-48 into an EUI-64, copy the OUI, append the two octets 'FF-FF', and then copy the organization-specified part. To convert an EUI-48 into an EUI-64, the same process is used, but the sequence inserted is 'FF-FE'. In both cases, the process can be trivially reversed when necessary. Organizations issuing EUI-64s are cautioned against issuing identifiers which would be confused with these forms. The IEEE's policy is to discourage new uses of 48-bit identifiers in favor of the EUI-64 system.

Printed format

The standard format for printing MAC-48 addresses in human-readable media is three groups of four hexadecimal digits, separated by dots (.), in transmission order; e.g., 0123.4567.89ab. However, very few products do this. The most common format is six groups of two hexadecimal digits, separated by colons (:) or hyphens (-), still in transmission order, as in 01-23-45-67-89-ab or 01:23:45:67:89:ab; this form is also commonly used for EUI-64.

Changing MAC addresses

Although physical MAC addresses are permanent by design, several mechanisms allow modification, or "spoofing", of the MAC address that is reported by the operating system. This can be useful for privacy reasons, for instance when connecting to a Wi-Fi hotspot, or to ensure interoperability. Some ISPs bind their service to a specific MAC address; if the user then changes their network card or intends to install a router, the service won't work anymore. Changing the MAC address of the new interface will solve the problem. Similarly, some software licenses are bound to a specific MAC address. Changing the MAC address in this way is not permanent: after a reboot, it will revert to the MAC address physically stored in the card.

As a MAC address can be changed, it can be unwise to rely on this as a single method of authentication. IEEE 802.1x is an emerging standard better suited to authenticating devices at a low level.


Under Linux, the MAC address of a Network Interface Card (NIC) can be changed using a command such as

ifconfig eth0 hw ether 00:01:02:03:04:05


ip link set eth0 address 00:01:02:03:04:05

(This needs to be done before network initialization.)


Under FreeBSD, the MAC address can be changes in a similar way:

ifconfig fxp0 ether 00:01:02:03:04:05

(This can be done without needing to take the interface down and back up)

Mac OS X

Under Mac OS X, the MAC address can be altered in a fashion similar to the Linux and FreeBSD methods:

sudo ifconfig en0 lladdr 00:01:02:03:04:05

This must be done as the superuser, and requires that the interface be taken down and brought back up again to function as expected with the new MAC address. It remains to be determined whether this functionality is actually extant in Darwin at the present time.


Under Windows XP, the MAC address can be changed in the Ethernet adapter's Properties menu, in the Advanced tab, as "MAC Address", "Locally Administered Address", "Ethernet Address" or "Network Address". The exact name depends on the Ethernet driver used; not all drivers support changing the MAC address in this way.

However, a better solution - requiring Administrative User Rights - is to pass over the System Registry Keys under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}. Here settings for each network interface can be found. The contents of the string value called 'NetworkAddress' will be used to set the MAC address of the adapter when next it is enabled. Resetting the adapter can be accomplished in script with the freely available command line utility 'devcon' from Microsoft, or from the adapters context menu in the Network Connections control panel applet.

Other systems

You can use a third-party utility to change the MAC of almost any Ethernet adapter - two of them are listed below in External Links.

Most consumer-grade routers allow for a user-specified MAC address to be given.

See also

External links

  • IEEE OUI and Company_id Assignments:
  • Ethereal's Ethernet vendor codes and well-known MAC address list:
  • Michael Patton's "Ethernet Codes Master Page":
  • SMAC (by KLC Consulting) is a Windows MAC Address Modifying utility for Windows 2000 & XP that has the ability to change any network adapter's address. It is available at:
  • Macshift (by Nathan True) is a Free Software Windows Scriptable MAC Address changer. It's available (with source code) at
  • Very Useful Set of Instructions for changing the MAC Address under Windows 2000/XP/2003 -

Last updated: 10-23-2005 02:51:35
The contents of this article are licensed from under the GNU Free Documentation License. How to see transparent copy