Dirección MAC (Media Access Control)

Cada dispositivo habilitado para la red tiene al menos un identificador de hardware único en todo el mundo: la dirección Media Access Control (abreviado: dirección MAC). A continuación se explica de qué se trata todo esto y cómo se puede determinar o reescribir la dirección MAC.

¿Qué es una dirección MAC?

Cada dispositivo que se conecta a una red informática requiere un adaptador de red. Este adaptador recibe un número de identificación único del fabricante, la dirección MAC. Esto permite que dispositivos como ordenadores de sobremesa, tablets o teléfonos móviles puedan ser identificados en la red y direccionados según sea necesario. Si un dispositivo tiene varios adaptadores de red (por ejemplo, para múltiples conexiones LAN o diferentes estándares de comunicación como Ethernet, WLAN, FDDI, Bluetooth o Token Ring), se dispone de una dirección diferente para cada uno.

Definición

La dirección MAC (Media Access Control Address) es la dirección de hardware única en el mundo de un adaptador de red. Esta dirección física se usa para identificar a un dispositivo en redes de computadoras.

Dado que las direcciones MAC son asignadas directamente por el fabricante del hardware, también se denominan direcciones de hardware. En Microsoft Windows, la dirección MAC se denomina dirección física. Apple utiliza los términos Ethernet ID, Airport ID o dirección Wi-Fi, dependiendo del estándar de comunicaciones. El término dirección de dispositivo, por otro lado, es ambiguo, porque un dispositivo puede tener varios adaptadores de red y por lo tanto diferentes direcciones MAC.

La dirección MAC en la práctica

Las direcciones MAC consistentes son un prerrequisito básico para una comunicación de red sin errores.

La transmisión de datos en redes informáticas es un proceso de comunicación complejo en el que deben cumplirse diferentes requisitos de fiabilidad, seguridad y eficiencia. Esto puede ilustrarse claramente usando el modelo OSI (abreviatura de Open Systems Interconnection), un modelo de referencia desarrollado por la ISO (International Organization for Standardization) que mapea la comunicación de red en 7 capas. Durante la transmisión de datos, cada capa del modelo OSI es atravesada tanto por el lado del emisor como por el del receptor.

Las direcciones MAC se utilizan en la capa de enlace de datos (capa 2) del modelo OSI, específicamente en la capa inferior Media Access Control (control de acceso a los medios) introducida por el Institute of Electrical and Electronics Engineers (IEEE).

Nota

En la extensión del modelo OSI diseñada por el IEEE, la capa de enlace de datos (capa 2) se divide en las subcapas Media Access Control (2a) y Logical Link Control (2b).

La capa de enlace se encuentra entre la capa física (capa 1) y la capa de conmutación (Capa 3). Mientras que la capa física proporciona protocolos y herramientas que son responsables de mantener la conexión física, los protocolos de la capa de enlace regulan cómo los diferentes sistemas comparten el medio de transmisión disponible. Las conexiones seguras del sistema se extraen de la conexión física. La transmisión real de los paquetes de datos tiene lugar por IP en el nivel de conmutación.

Si, por ejemplo, desea enviar un paquete IP a través de Ethernet, su ordenador transmite una trama de datos que se dirige a la dirección MAC del ordenador de destino según el modelo OSI de la capa de seguridad.

Nota

Si el equipo de destino no está en la red local, se dirige a un enrutador y se le indica que lo reenvíe a Internet. Los enrutadores que están integrados en una red local también tienen una dirección MAC única.

Una trama de datos Ethernet contiene información diversa que se lee en los diferentes niveles del modelo OSI.

Las tramas de datos en redes IPv4 contienen los siguientes componentes:

  • Destino (las direcciones MAC del ordenador de destino)
  • Dirección de origen (la dirección MAC del remitente)
  • Información de control para el control de flujo de datos
  • Datos de usuario (el paquete de datos que se va a transmitir más tarde en la capa correspondiente)
  • Sumas de control que garantizan la integridad de los datos

Un equipo de destino que recibe una trama de datos la lee primero en la capa de enlace y compara la dirección de destino de la trama con su propia dirección MAC. Si las direcciones coinciden, el ordenador de destino comienza a interpretar la trama en el siguiente nivel superior.

Nota

Los dispositivos de red que solo se utilizan para reenviar paquetes de datos (repetidores) o para gestionar partes de la red (puentes y conmutadores) no suelen participar activamente en la comunicación de red y, por lo tanto, no requieren su propia dirección MAC.

Para enlazar la asignación de direcciones en la capa de enlace con la asignación de direcciones en la capa de intercambio, en las redes IPv4se utiliza el Protocolo de resolución de direcciones (ARP). Cada ordenador de la red local mantiene una tabla ARP en la que se asignan direcciones IP a las direcciones MAC.

Consejo

ARP es vulnerable a un patrón de ataque llamado ARP-Spoofing. El peligro que representa el spoofing del RAT y las medidas de defensa que se pueden tomar se discuten en el artículo enlazado sobre el tema.

El nuevo estándar del protocolo de Internet IPv6 utiliza el Neighbor Discovery Protocol (NDP) en lugar de ARP.

La sintaxis de la dirección MAC

Las direcciones MAC en redes LAN o WLAN constan de 6 bytes (48 bits) y están escritas en notación hexadecimal. El uso de separadores como guiones o dos puntos entre dos bytes facilita la lectura.

El siguiente ejemplo muestra la dirección MAC de un ordenador de sobremesa en representación binaria y hexadecimal:

00110101 01101000 10110100 00000010 00010011 10011000 
AC-16-2D-02-C8-19
Nota

En nuestro ejemplo utilizamos la representación canónica de la secuencia de bits. Esto corresponde al orden en el que se transmiten las direcciones MAC en Ethernet. Otros estándares de comunicación, como Token Ring, permiten la transmisión inversa de bits, empezando por el bit más significativo.

La secuencia de bits de cada dirección MAC se divide en 4 áreas, cada una de las cuales codifica información diferente.

  • Bit 1 (destinatarios): el primer bit de la dirección MAC indica si se trata de una dirección individual o de grupo. Este bit se llama I/G (abreviatura de Individual/Group). Si I/G = 0, es una dirección unicast para un solo adaptador de red. Las direcciones multidifusión se identifican con I/G = 1 y se dirigen a varios destinatarios.
     
  • Bit 2 (oficina de emisión): el segundo bit de la dirección MAC indica si es una dirección con validez global (Universal) o si la dirección fue asignada localmente (Local). El bit se denomina U/L. Si U/L = 0, la dirección se considera una dirección de administración universal (UAA) válida en todo el mundo. Las direcciones que sólo son localmente únicas se denominan Dirección de administración local (LAA) y se marcan con U/L = 1.
  • Bits 3 - 24 (identificación del fabricante): Los bits 3 a 24 codifican un identificador único de la organización (OUI), que es asignado exclusivamente a los fabricantes de hardware por la IEEE. La asignación de las OUI es generalmente pública y puede determinarse a través de bases de datos. La OUI de la dirección del ejemplo (AC-16-2D) fue asignada por el IEEE al fabricante de dispositivos estadounidense Hewlett Packard.
     
  • Bits 25 - 48 (identificación del adaptador de red): Los bits 25 a 48 proporcionan 24 bits para que los fabricantes de dispositivos asignen un identificador de hardware único (Organizationally Unique Address, OUA). De este modo, se pueden asignar 224 (= 16.777.216) OUAs únicas por OUI.

Tabla: subáreas de una dirección MAC

Nombre

I/G

U/L

OUI

OUA

Bit

1

2

3 - 24

25 - 48

Función

Grupo destinatario

Oficina de emisión

Identificación del fabricante

Identificación del adaptador de red

Cómo averiguar la dirección MAC de tu equipo

Las direcciones MAC se pueden consultar en todos los sistemas operativos modernos en la terminal, tanto en el sistema local como de forma remota en la red. La siguiente tabla muestra los comandos correspondientes para los sistemas operativos más comunes.

Tabla: Leer dirección MAC

Sistema operativo

Comando de terminal

Remoto

FreeBSD

ifconfig

arp -a

NetBSD

ifconfig -a

arp -a

OpenBSD

ifconfig -a

arp -a

Linux

ip link

ip neigh

Mac OS X / macOS

ifconfig

arp -a

Solaris

ifconfig -a

arp -a

Windows XP Professional

getmac /v

arp -a

Windows (ab 2000)

ipconfig /all

arp -a

En los dispositivos móviles, es posible que la dirección MAC se muestre en los ajustes.

Tabla: Determinar direcciones MAC en dispositivos móviles

Betriebssystem

Lokal

Android

Configuración >Información del teléfono > Información Hardware

Apple iOS

Configuración > General > Info > >Dirección Wi-Fi

Windows Phone 7

Configuración > Info > Más información

Leer la dirección MAC localmente

Si deseas leer las direcciones MAC de los adaptadores LAN y WLAN de tu ordenador con Windows 10, procede de la siguiente manera.

Paso 1: abre la consola de tu sistema operativo. Por ejemplo, utiliza la combinación de teclas [Tecla Windows]+[R]. Luego escribe cmd en la ventana Ejecutar y confirma con “OK”.

Paso 2: a partir de Windows 2000, se dispone del comando de línea de comandos ipconfig con la opción /all para recuperar la dirección MAC de todos los adaptadores de red de su ordenador con Windows.

Ipconfig /all
Consejo

Como alternativa, puedes determinar la dirección MAC con el comando getmac /v.

Paso 3: en Windows, la dirección MAC se muestra como “physical address”.

Lectura remota de la dirección MAC

Gracias a las tablas ARP, en las redes IPv4 es posible determinar las direcciones MAC de otros dispositivos de la misma red local. En Windows y la mayoría de los sistemas operativos tipo Unix, utiliza el comando arp con la opción -a para mostrar la tabla ARP de tu sistema en la consola.

arp -a 

Recibirás una salida de terminal de acuerdo con el siguiente esquema:

Interfaz: 172.24.0.113 --- 0x2
  Dirección IP        Direccion física          Tipo
  172.24.0.111      00-80-41-AE-FD-7E   dinámica
  172.24.0.112      12-34-56-78-9A-BC   dinámica

Si solo deseas leer remotamente la dirección MAC de un adaptador de red específico, utiliza el comando arp -a en combinación con la dirección IPv4 local del adaptador de destino.

arp -a 172.24.0.112

Asignar dirección MAC en el lado del software

Las direcciones MAC se asignan e imprimen en el chip del adaptador de red en el lado del hardware por parte de los fabricantes. Sin embargo, numerosos sistemas operativos ofrecen la posibilidad de sobrescribir estas direcciones de hardware en el lado del software. En este contexto se habla de suplantación (spoofing). En este caso, un sistema no envía la dirección de hardware real del adaptador direccionado durante la comunicación de red, sino una dirección MAC definida por el usuario.

Asignar dirección MAC en Windows

En Windows, puedes sobrescribir la dirección MAC a través del Administrador de dispositivos si el controlador de dispositivo del adaptador de red admite esta función.

Paso 1: abre la configuración del adaptador de red. Para ello, sigue la ruta Inicio à Configuración à Redes e Internet à Ethernet à Cambio de las opciones de los adaptadores.

Paso 2: haz clic con el botón derecho en el adaptador de red deseado y selecciona la opción “Desactivación”.

Paso 3: haz clic con el botón derecho en el adaptador de red deseado y selecciona “Propiedades” en el menú contextual. Se abrirá una ventana de diálogo “Propiedades de los adaptadores de red”.

Paso 4: haz clic en el botón “Configurar” del cuadro de diálogo y selecciona la propiedad “Dirección administrada localmente” en “Avanzado”. Introduce la dirección MAC del software deseado en “Valor”.

Asignación de direcciones MAC en sistemas operativos tipo Unix

Los derivados de Unix como Linux, macOS, Solaris y los sistemas operativos BSD soportan la asignación de software de direcciones MAC a través de la terminal.

Tabla: Sobreescribir la dirección MAC

Sistema operativo

Comando de terminal

Linux

ip link set dev <Interface> addr XX:XX:XX:XX:XX:XX

o

ifconfig <Interface> promisc

y seguidamente

ifconfig <Interface> hw ether XX:XX:XX:XX:XX:XX

Mac OS X / macOS

ifconfig <Interface> ether XX:XX:XX:XX:XX:XX

Solaris

ifconfig <Interface> ether XX:XX:XX:XX:XX:XX

FreeBSD

ifconfig <Interface> link XX:XX:XX:XX:XX:XX

NetBSD

ifconfig <Interface> link XX:XX:XX:XX:XX:XX activate

OpenBSD

ifconfig <Interface> lladdr XX:XX:XX:XX:XX:XX

Ilustramos el procedimiento para el derivado más utilizado de Unix, Linux. Si deseas volver a escribir la dirección MAC de tu adaptador de red en Linux, procede de la siguiente manera.

Paso 1: abre la terminal del sistema operativo, por ejemplo, con la combinación de teclas [STRG]+[ALT]+[T].

Paso 2: determina el nombre y la dirección MAC actual del adaptador de red deseado con el siguiente comando en la línea de comandos:

ip link
Consejo

Anota la dirección de hardware asignada por el fabricante en caso de que desees deshacer el cambio.

Paso 3: apaga el adaptador de red escribiendo el siguiente comando en la línea de comandos:

ip link set dev <Interface> down
Nota

Introduce el nombre del adaptador de red determinado mediante el enlace ip para <Interface>.

Paso 4: sobrescribe la dirección de red asignada por el fabricante con una de las opciones especificadas en la tabla.

ip link set dev <Interface> addr XX:XX:XX:XX:XX:XX
Nota

En lugar de XX:XX:XX:XX:XX:XX introduce la dirección MAC deseada.

Paso 5: reinicia el adaptador de red. Para ello, utiliza el siguiente comando de línea de comandos:

ip link set dev <Interface> up

Para asegurarte de que el adaptador de red seleccionado se encuentra en la dirección MAC seleccionada, vuelve a leer la información de red con el enlace ip (consulte el paso 1).