02 - Endereço MAC (EUI-48, OUI)
video: https://youtu.be/... no frontmatter da nota.Endereço MAC (EUI-48, OUI)
1. Definição e Contexto Histórico
O Endereço MAC (Media Access Control Address), também conhecido como endereço físico ou endereço de hardware, é o identificador único atribuído a uma interface de rede (NIC - Network Interface Card) para comunicação na Camada de Enlace (Layer 2 do modelo OSI). O formato predominante é o EUI-48 (Extended Unique Identifier de 48 bits), padronizado pelo IEEE em 1998 como evolução do antigo MAC-48.
Estrutura do EUI-48
Um endereço EUI-48 é composto por 48 bits (6 octetos), geralmente representado em notação hexadecimal separada por dois-pontos ou hifens:
00:1A:2B:3C:4D:5E (notação com dois-pontos)
00-1A-2B-3C-4D-5E (notação com hífen)
001A.2B3C.4D5E (notação Cisco)
O espaço total de endereçamento é de 2^48 = 281.474.976.710.656 endereços teoricamente possíveis, dos quais uma fração significativa é reservada para multicast, broadcast e uso local.
2. Divisão Lógica: OUI e NIC-Specific
Os 48 bits são divididos em duas partes:
| Campo | Tamanho | Função |
|---|---|---|
| OUI (Organizationally Unique Identifier) | 24 bits (3 octetos) | Identifica o fabricante da placa |
| NIC-Specific (ou Extension Identifier) | 24 bits (3 octetos) | Identifica a placa dentro do fabricante |
Com 24 bits para OUI, existem 2^24 = 16.777.216 OUIs possíveis. Com 24 bits para a parte específica, cada fabricante pode produzir até 16.777.216 placas por OUI. Quando um fabricante esgota seu pool, solicita um novo OUI ao IEEE.
Exemplo de Decodificação
Endereço: 00:1A:2B:3C:4D:5E
OUI: 00:1A:2B -> fabricante
NIC-Spec: 3C:4D:5E -> número de série do fabricante
3. Bits de Controle: U/L e I/G
Dentro do primeiro octeto do OUI existem dois bits especiais com significado semântico:
Bit U/L (Universal/Local) - bit 1 do primeiro octeto
- 0 -> Endereço universalmente único (atribuído pelo fabricante via OUI).
- 1 -> Endereço localmente administrado (configurado manualmente, usado em virtualização).
Bit I/G (Individual/Group) - bit 0 do primeiro octeto
- 0 -> Endereço unicast (destinado a uma única interface).
- 1 -> Endereço multicast ou broadcast (destinado a um grupo).
Casos Especiais
- FF:FF:FF:FF:FF:FF -> Broadcast (todos os bits em 1), recebido por todas as interfaces do domínio de colisão/broadcast.
- 01:00:5E:xx:xx:xx -> Endereço multicast para IPv4 (mapeado do endereço IP multicast via RFC 1112).
- 33:33:xx:xx:xx:xx -> Endereço multicast para IPv6 (mapeado do prefixo
ff02::/16).
4. Registro e Atribuição de OUI
O IEEE atua como autoridade central para atribuição de OUIs. O processo envolve:
- Fabricante solicita um OUI ao IEEE Registration Authority.
- Paga uma taxa (cerca de USD 3.660 para OUI padrão em 2024).
- Recebe um bloco de 24 bits para administrar.
- Pode também solicitar blocos menores (IAB - Individual Address Block, 36 bits) para necessidades modestas.
Consulta Pública
A base de dados de OUI é pública e atualizada mensalmente. Disponível em:
https://standards-oui.ieee.org/oui/oui.txt
# Consulta do fabricante a partir de um endereço MAC
curl -s https://standards-oui.ieee.org/oui/oui.txt | grep -i "00:1A:2B"
# Saída esperada: 001A2B -> Some Manufacturer, Inc.
Exemplos de OUIs Conhecidos
| OUI | Fabricante |
|---|---|
| 00:00:0C | Cisco Systems |
| 00:1B:44 | Apple Inc. |
| 00:50:56 | VMware (NICs virtuais) |
| 08:00:27 | VirtualBox (Innotek) |
| F4:5C:89 | Dell Inc. |
| 00:24:E8 | Hewlett-Packard |
5. MAC-48 vs EUI-48 vs EUI-64
| Padrão | Tamanho | Aplicação Principal |
|---|---|---|
| MAC-48 | 48 bits | Obsoleto, equivalente ao EUI-48 |
| EUI-48 | 48 bits | Ethernet, Wi-Fi, Bluetooth clássico |
| EUI-64 | 64 bits | IEEE 1394 (FireWire), IPv6 (modificado), ZigBee |
Conversão EUI-48 para EUI-64 (usada em IPv6 SLAAC)
Para gerar o Interface Identifier do IPv6, o host insere FFFE no meio do MAC e inverte o bit U/L:
MAC original: 00:1A:2B:3C:4D:5E
Após inserção: 00:1A:2B:FF:FE:3C:4D:5E
Após XOR bit U/L: 02:1A:2B:FF:FE:3C:4D:5E
IPv6 final: fe80::21a:2bff:fe3c:4d5e
6. Privacidade e Randomização
Sistemas modernos (iOS, Android, Windows 10+) implementam MAC Address Randomization para evitar rastreamento em redes Wi-Fi públicas. O dispositivo gera um endereço local aleatório (bit U/L = 1) a cada associação, preservando a privacidade do usuário.
Impacto em Infraestrutura
- Autenticação 802.1X baseada em MAC: Quebra se o MAC muda a cada conexão.
- Port Security em switches: Requer allowlist dinâmica ou desativação da randomização em redes corporativas (via MDM).
- DHCP lease tracking: Identificadores alternativos (Client-ID DHCP) tornam-se necessários.
7. Comandos Práticos de Inspeção
# Linux: listar todos os MACs das interfaces
ip link show
# Linux: alterar MAC temporariamente (spoofing para teste)
sudo ip link set dev eth0 down
sudo ip link set dev eth0 address 00:11:22:33:44:55
sudo ip link set dev eth0 up
# Windows: exibir MAC
getmac /v
# Cisco IOS: exibir tabela CAM (MACs aprendidos)
show mac address-table
# Captura de frames Ethernet revelando MACs origem/destino
sudo tcpdump -i eth0 -e -n -c 5
8. Vulnerabilidades e Segurança
MAC Spoofing
Como o MAC é gravado em EEPROM mas lido via software em runtime, é trivial sobrescrevê-lo. Defender contra spoofing exige:
- Port Security em switches (limitar MACs por porta, bloquear MACs não autorizados).
- 802.1X com EAP-TLS (autenticação baseada em certificado, não em MAC).
- DHCP Snooping e Dynamic ARP Inspection para prevenir envenenamento de tabela.
Localização por MAC
Antes da randomização, redes comerciais (shoppings, aeroportos) usavam o MAC para rastrear movimentação de clientes. Hoje isso é mitigado pela randomização, mas técnicas de fingerprinting de timing ainda permitem correlação.
9. Resumo Técnico
| Atributo | Valor |
|---|---|
| Tamanho | 48 bits (EUI-48) |
| Estrutura | 24 bits OUI + 24 bits NIC |
| Padrão | IEEE 802-2014 |
| Endereços possíveis | ~281 trilhões |
| Bit U/L | Bit 1 do octeto 0 |
| Bit I/G | Bit 0 do octeto 0 |
| Broadcast | FF:FF:FF:FF:FF:FF |
| Multicast IPv4 | 01:00:5E:xx:xx:xx |
10. Conclusão
O endereço MAC, apesar de sua aparente simplicidade, é um pilar fundamental da comunicação em redes locais. Compreender a estrutura OUI/NIC, o significado dos bits U/L e I/G, e os mecanismos modernos de randomização é essencial para projetar redes seguras, diagnosticar problemas de Camada 2 e implementar controles de acesso robustos. O EUI-48 permanece onipresente em Ethernet, Wi-Fi e Bluetooth, enquanto o EUI-64 estende o conceito para IPv6 e redes mesh.