⬅ Voltar ao Dashboard 1º Bimestre — Fundamentos e Modelos

📮 Endereçamento MAC e Protocolo ARP

Aula 8 — Como o endereço físico MAC identifica cada interface de rede e como o ARP faz a ponte entre o mundo IP e o mundo Ethernet — incluindo segurança e troubleshooting

🏷️ Endereço MAC em Profundidade

O endereço MAC (Media Access Control) é o identificador que opera na Camada 2 — Enlace de Dados. Enquanto o endereço IP identifica um dispositivo na rede lógica (e pode mudar), o MAC identifica a interface de rede no nível físico e é gravado pelo fabricante na memória ROM da placa.

Estrutura detalhada do endereço MAC (48 bits)
  Bit mais significativo de cada byte → transmitido primeiro

  Byte 1          Byte 2    Byte 3    Byte 4    Byte 5    Byte 6
  ┌──────────┐   ┌───────┬──────────────────────────────────────┐
  │ b7...b2  │   │ b1 b0 │                                      │
  │  OUI     │   │  │  └─ U/L bit (0=universal, 1=local)       │
  │ (3 bytes)│   │  └──── I/G bit (0=unicast,  1=multi/broad)  │
  └──────────┘   └────────────────── NIC (3 bytes) ────────────┘

  Exemplo:  A8:5E:45 : F3:2B:7C
            ─────────  ─────────
            OUI        NIC
            (fabricante)(placa específica)

  Bits especiais no PRIMEIRO byte:
  • Bit 0 (I/G): 0 = Unicast | 1 = Multicast/Broadcast
  • Bit 1 (U/L): 0 = Universal (atribuído pelo IEEE)
                  1 = Local (atribuído manualmente ou virtualizado)

Tipos de Endereço MAC

Tipo Bit I/G Exemplo Uso
Unicast 0 (par) A8:5E:45:F3:2B:7C Identifica uma única interface. Entrega ponto a ponto
Multicast 1 (ímpar) 01:00:5E:00:00:01 Grupo de dispositivos registrados. 01:00:5E:xx = IPv4 multicast
Broadcast 1 (todos) FF:FF:FF:FF:FF:FF Todos os dispositivos da LAN recebem e processam

MAC Estático, Dinâmico e MAC Spoofing

Embora o MAC seja gravado na ROM, o sistema operacional pode sobrescrevê-lo via software — técnica conhecida como MAC spoofing. Isso é legítimo em virtualização (VMs recebem MACs gerados pelo hypervisor, com bit U/L=1) e em testes, mas também é usado para contornar filtros de MAC ou realizar ataques.

Visualizar e alterar o MAC no Linux
  # Ver o MAC atual
  ip link show eth0
  # ou
  cat /sys/class/net/eth0/address

  # Desativar a interface
  ip link set eth0 down

  # Alterar o MAC temporariamente
  ip link set eth0 address 02:AA:BB:CC:DD:EE

  # Reativar
  ip link set eth0 up

  # No Windows (via Gerenciador de Dispositivos > Propriedades
  # da placa de rede > Endereço de Rede)

⚠️ Filtro de MAC não é segurança: muitos roteadores e APs oferecem “filtro de endereços MAC” como recurso de segurança. Na prática, qualquer atacante pode capturar um MAC autorizado via sniffing e cloná-lo em segundos. Filtro de MAC é segurança por obscuridade — nunca deve ser a única medida.

🔍 Protocolo ARP em Profundidade

O ARP — Address Resolution Protocol (RFC 826, 1982) resolve endereços IP em endereços MAC dentro de uma mesma LAN. Sem o ARP, o IP não consegue construir o quadro Ethernet necessário para entregar o pacote localmente.

ARP Request e Reply — fluxo completo
  PC-A (IP: 192.168.1.10 / MAC: AA:AA:AA:AA:AA:AA)
  PC-B (IP: 192.168.1.20 / MAC: BB:BB:BB:BB:BB:BB)

  ── ARP REQUEST (broadcast) ──────────────────────────────────
  Src MAC:  AA:AA:AA:AA:AA:AA
  Dst MAC:  FF:FF:FF:FF:FF:FF  ← broadcast Ethernet
  Src IP:   192.168.1.10
  Dst IP:   192.168.1.20
  Mensagem: "Quem tem 192.168.1.20? Me diga seu MAC."
  ─────────────────────────────────────────────────────────────
       ↓ todos os dispositivos da LAN recebem
       ↓ somente PC-B reconhece o IP e responde

  ── ARP REPLY (unicast) ───────────────────────────────────────
  Src MAC:  BB:BB:BB:BB:BB:BB
  Dst MAC:  AA:AA:AA:AA:AA:AA  ← unicast de volta ao PC-A
  Src IP:   192.168.1.20
  Dst IP:   192.168.1.10
  Mensagem: "Eu tenho 192.168.1.20. Meu MAC é BB:BB:BB:BB:BB:BB."
  ─────────────────────────────────────────────────────────────
  PC-A armazena na tabela ARP (cache):
    192.168.1.20  →  BB:BB:BB:BB:BB:BB  (TTL: ~2 minutos)

Tipos especiais de ARP

Gratuitous ARP Anúncio espontâneo Dispositivo anuncia seu próprio IP/MAC sem ser perguntado. Usado ao inicializar (atualizar caches) e para detectar conflitos de IP
Proxy ARP O roteador responde por outro Um roteador responde ARP Requests em nome de hosts em outra rede. Permite comunicação sem gateway configurado, mas pode causar problemas
ARP Cache Tabela em memória Armazena mapeamentos IP→MAC por ~2 minutos (Windows) ou ~1 minuto (Linux). Entradas estáticas não expiram
ARP Probe Detecção de conflito Antes de usar um IP (via DHCP ou estático), o dispositivo envia um ARP Probe para verificar se o IP já está em uso

⚠️ ARP Spoofing e Segurança

O ARP foi projetado em 1982 sem nenhum mecanismo de autenticação. Qualquer dispositivo na LAN pode enviar um ARP Reply falso, e os outros aceitam sem questionar. Isso é a base do ARP Spoofing (ou ARP Poisoning).

ARP Spoofing — ataque Man-in-the-Middle
  Cenário normal:
  PC-A (192.168.1.10) → Switch → Gateway (192.168.1.1)

  ── Ataque ───────────────────────────────────────────────────
  Atacante (192.168.1.99 / MAC: EE:EE:EE:EE:EE:EE) envia:

  Para PC-A:    "192.168.1.1  está em  EE:EE:EE:EE:EE:EE"  ← FALSO
  Para Gateway: "192.168.1.10 está em  EE:EE:EE:EE:EE:EE"  ← FALSO

  Resultado: a tabela ARP de PC-A e do Gateway ficam envenenadas.

  PC-A → [pensa que vai pro gateway] → Atacante → Gateway → Internet
                                            ↑
                                     intercepta, lê e
                                     repassa o tráfego
                                     (Man-in-the-Middle)
  ─────────────────────────────────────────────────────────────
  O atacante pode: ler senhas em texto claro, injetar conteúdo,
  derrubar conexões (DoS) ou redirecionar para sites falsos.

Contramedidas contra ARP Spoofing

Dynamic ARP Inspection DAI (switches gerenciáveis) O switch valida cada ARP Reply contra a tabela DHCP Snooping. Pacotes ARP inválidos são descartados
Entradas ARP estáticas Em servidores críticos Mapeamentos IP→MAC fixos que não são sobrescritos por ARPs recebidos. Impraticável em redes grandes
Segmentação com VLANs Isolar domínios de broadcast Limitar o raio do ARP Spoofing: um atacante só envenena a VLAN em que está
Criptografia (TLS/HTTPS) Proteção na camada superior Mesmo interceptado, o tráfego cifrado é inútil. HTTPS protege contra ARP Spoofing no nível de aplicação

Contexto didático: ARP Spoofing é um dos ataques mais estudados em segurança de redes por ser simples de entender e demonstrar em laboratório, além de ilustrar perfeitamente o princípio de que protocolos antigos sem autenticação são inerentemente vulneráveis.

🌐 IPv6 e o NDP: o Substituto do ARP

O IPv6 não usa ARP. Em seu lugar, o NDP — Neighbor Discovery Protocol (RFC 4861) realiza as mesmas funções (e muito mais) usando mensagens ICMPv6. O NDP opera com multicast em vez de broadcast, sendo muito mais eficiente em redes grandes.

Função IPv4 (ARP) IPv6 (NDP / ICMPv6)
Resolver IP → MAC ARP Request / Reply NS (Neighbor Solicitation) / NA (Neighbor Advertisement)
Descobrir roteador Configurado manualmente ou via DHCP RS (Router Solicitation) / RA (Router Advertisement)
Detectar conflito de IP ARP Probe (Gratuitous ARP) DAD — Duplicate Address Detection (via NS)
Autoconfigurar endereço Não (precisa de DHCP) SLAAC — Stateless Address Autoconfiguration
Meio de entrega Broadcast (FF:FF:FF:FF:FF:FF) Multicast IPv6 solicitado por nó (33:33:xx:xx:xx:xx)
NDP — Neighbor Solicitation e Advertisement
  PC-A quer descobrir o MAC do host com IPv6 fe80::B

  1. PC-A calcula o "endereço multicast solicitado por nó":
     ff02::1:ffxx:xxxx (baseado nos últimos 24 bits do IPv6 de B)

  2. PC-A envia Neighbor Solicitation (NS) para esse multicast:
     "Quem tem fe80::B? Me diga seu MAC."
     (apenas hosts com aquele IPv6 recebem — não toda a rede)

  3. PC-B responde com Neighbor Advertisement (NA) em unicast:
     "Sou eu. Meu MAC é BB:BB:BB:BB:BB:BB."

  Vantagem: o multicast solicitado reduz drasticamente o tráfego
  comparado ao broadcast ARP em redes com muitos hosts IPv6.

🛠️ Ferramentas e Troubleshooting com ARP

O conhecimento prático do ARP é fundamental para diagnosticar problemas de conectividade na LAN. As ferramentas abaixo são usadas no dia a dia de qualquer administrador de redes.

Comandos essenciais — Windows e Linux
  ── WINDOWS ──────────────────────────────────────────────────

  arp -a
    Exibe a tabela ARP completa (IP → MAC de todos os hosts vistos)

  arp -a 192.168.1.1
    Exibe somente a entrada ARP para o IP especificado

  arp -s 192.168.1.10 AA-BB-CC-DD-EE-FF
    Adiciona uma entrada estática (permanente) na tabela ARP

  arp -d 192.168.1.10
    Remove uma entrada específica da tabela ARP

  ── LINUX ────────────────────────────────────────────────────

  ip neigh show
    Exibe a tabela de vizinhos ARP/NDP (substituto moderno do arp -a)

  ip neigh flush dev eth0
    Limpa todas as entradas ARP da interface eth0

  arping -I eth0 192.168.1.10
    Envia ARP Requests e mede o tempo de resposta (similar ao ping
    mas na camada 2 — funciona mesmo com ICMP bloqueado)

  arping -D -I eth0 192.168.1.10
    Modo de detecção de IP duplicado (ARP Probe)

Problemas comuns diagnosticados com ARP

IP duplicado Dois hosts com o mesmo IP Sintoma: conectividade intermitente. Ferramenta: arping -D ou verificar a tabela ARP — o mesmo IP aparecerá com MACs diferentes
Gateway inating Tabela ARP do gateway incompleta Hosts com IP mas sem conectividade externa. Verificar arp -a: se o gateway aparece como “incomplete” — sem resposta ARP
Cache ARP envenenado MAC errado para um IP Sintoma: tráfego some ou vai para lugar errado. Solução imediata: arp -d <ip> para forçar novo ARP Request
Tabela ARP cheia Em roteadores e switches Redes muito grandes podem esgotar a tabela ARP do roteador. Solução: segmentação com VLANs para reduzir o tamanho dos domínios de broadcast
Exemplo — tabela ARP e diagnóstico
  $ arp -a

  gateway (192.168.1.1) at a8:5e:45:f3:2b:7c [ether] on eth0
  servidor (192.168.1.50) at <incomplete>      [ether] on eth0  ← PROBLEMA!
  impressora (192.168.1.100) at b4:2e:99:1a:c7:f0 [ether] on eth0

  "incomplete" significa que o ARP Request foi enviado mas
  não houve resposta:
  → O host pode estar desligado
  → Pode haver problema de cabo/switch
  → O IP pode estar errado
  → O host pode estar bloqueando ARP (firewall)

🧩 O ARP no Contexto da Pilha TCP/IP

Entender onde o ARP se encaixa na pilha TCP/IP é fundamental para compreender por que ele é necessário e quais são seus limites.

Quando o ARP é acionado — exemplo completo
  PC-A (192.168.1.10) quer acessar www.exemplo.com (200.10.5.3)

  ── Passo 1: o IP é local ou remoto? ─────────────────────────
  PC-A compara 200.10.5.3 com sua máscara (192.168.1.0/24):
  → 200.10.5.3 está FORA da rede local.
  → PC-A deve enviar o pacote ao gateway (192.168.1.1).

  ── Passo 2: PC-A tem o MAC do gateway? ──────────────────────
  Verifica a tabela ARP:
  → SIM  → usa o MAC direto e monta o quadro Ethernet.
  → NÃO  → dispara um ARP Request para 192.168.1.1 (broadcast).
             Aguarda ARP Reply, armazena no cache, monta o quadro.

  ── Passo 3: quadro Ethernet montado ─────────────────────────
  [ MAC-gateway | MAC-PC-A | 0x0800 | pacote IP → 200.10.5.3 | FCS ]
       ↑ endereço Ethernet muda a cada salto (roteador)
       ↑ endereço IP permanece 200.10.5.3 do início ao fim

  ── Passo 4: no roteador (gateway) ───────────────────────────
  Roteador recebe o quadro, desencapsula o pacote IP,
  consulta a tabela de roteamento e repete o processo ARP
  para o próximo salto — com o MAC do próximo roteador.

⚠️ Ponto crítico: o endereço IP de destino nunca muda ao longo do caminho — ele identifica o destino final. O endereço MAC de destino muda a cada salto — ele sempre aponta para o próximo dispositivo na rede local imediata. O ARP é executado em cada segmento de rede separadamente.

📝 Atividade Prática

Investigar a tabela ARP, simular resolução de endereços e identificar vulnerabilidades.

1
Explorar a tabela ARP da máquina local
No seu computador ou no laboratório, execute arp -a (Windows/Linux) ou ip neigh show (Linux). (a) Liste todos os dispositivos na tabela e identifique: IP, MAC e tipo (dinâmico ou estático); (b) Pesquise o OUI dos MACs encontrados em um banco de dados online (ex: macvendors.com) e identifique o fabricante; (c) Há alguma entrada como “incomplete”? O que isso significa?
2
Rastrear o fluxo ARP passo a passo
Para o cenário: PC-A (192.168.0.5 / MAC AA:BB:CC:11:22:33) quer se comunicar com PC-B (192.168.0.20 / MAC DD:EE:FF:44:55:66), mas a tabela ARP de PC-A está vazia. Descreva em detalhes: (a) o conteúdo completo do ARP Request enviado (MACs, IPs, tipo); (b) quem recebe esse pacote e por quê; (c) o conteúdo do ARP Reply; (d) o que muda na tabela ARP de PC-A após a troca; (e) se PC-B aprendeu algo sobre PC-A nesse processo.
3
Analisar o caminho IP vs. MAC em roteamento
PC-A (192.168.1.5) acessa um servidor em 10.0.0.100 através de um roteador (gateway 192.168.1.1). Complete a tabela abaixo para cada trecho do caminho:

Trecho 1: PC-A → Roteador — MAC destino do quadro: ?, IP destino do pacote: ?
Trecho 2: Roteador → Servidor — MAC destino do quadro: ?, IP destino do pacote: ?

Por que o endereço MAC muda mas o IP não? Qual protocolo o roteador usa para descobrir o MAC do servidor?
4
Avaliar vulnerabilidades ARP e contramedidas
Um atacante em 192.168.1.50 envia ARP Replies falsos para todos os hosts da rede alegando ser o gateway (192.168.1.1). (a) Quais dados o atacante consegue capturar? (b) Como o Dynamic ARP Inspection (DAI) bloquearia esse ataque? (c) Por que o uso de HTTPS dificulta a exploração mesmo que o ARP Spoofing seja bem-sucedido? (d) Proponha duas configurações de rede que reduziriam o impacto desse ataque.
5
👥 Trabalho em grupo — Julgamento do protocolo ARP
(Aprendizagem Baseada em Equipes — grupos de 3–4 alunos) Simule um “tribunal de protocolos”: o ARP está sendo julgado por ser inseguro e desatualizado. Um grupo é a defesa (argumente por que o ARP ainda é necessário e quais contramedidas o tornam aceitável); outro grupo é a acusação (liste falhas, ataques e por que o IPv6/NDP é superior); um terceiro grupo é o júri (avalia os argumentos e dá o veredito). Ao final: o ARP deveria ser substituído imediatamente? O que impede a migração total para IPv6?
6
🧩 Computação desplugada — Simulação de ARP na turma
(Metodologia ativa — sem computador) Cada aluno recebe um cartão com IP e MAC (inventados). A “rede” é a sala de aula. Um aluno é o roteador; os demais são hosts. Roteiro: (a) PC-A quer enviar para PC-B — PC-A fica de costas (sem ver o MAC de B) e grita o ARP Request para todos; (b) PC-B responde em voz baixa (unicast); (c) PC-A anota na “tabela ARP” (folha de papel); (d) o professor anuncia “ataque ARP Spoofing”: o atacante grita uma resposta falsa antes de PC-B — o que acontece? Discutam: como a turma poderia “verificar” se a resposta ARP é legítima? A atividade é adaptável: use cartões escritos em vez de voz alta para alunos com deficiência auditiva.
📌 Para refletir: o ARP é um exemplo perfeito de como a internet foi construída sobre confiança: em 1982, as redes eram pequenas, fechadas e os usuários eram pesquisadores. Hoje, esse protocolo sem autenticação roda em bilhões de dispositivos. Conhecer o ARP não é apenas entender como a rede funciona — é entender por que a segurança de redes é uma disciplina tão complexa e essencial.

❓ Verifique seu Conhecimento

Ao enviar um ARP Request, qual é o endereço MAC de destino usado no quadro Ethernet?

AO MAC do gateway padrão da rede
BO MAC do dispositivo que se deseja descobrir (mesmo sem conhecê-lo)
CFF:FF:FF:FF:FF:FF (broadcast Ethernet)
D00:00:00:00:00:00 (endereço nulo)
✓ O ARP Request é enviado em broadcast Ethernet (FF:FF:FF:FF:FF:FF) porque o MAC de destino ainda é desconhecido — esse é exatamente o motivo do ARP. Todos os dispositivos na LAN recebem o Request, mas somente o dono do IP responde com um ARP Reply unicast.

PC-A acessa um servidor em outra rede através de um roteador. Em relação ao quadro Ethernet enviado por PC-A:

AO MAC de destino é o MAC do servidor final e o IP de destino é o IP do roteador
BO MAC de destino é o MAC do roteador (gateway) e o IP de destino é o IP do servidor final
CTanto o MAC quanto o IP de destino são os do servidor final
DTanto o MAC quanto o IP de destino são os do roteador
✓ O endereço IP de destino é sempre o do servidor final (não muda ao longo do caminho). O MAC de destino é o do próximo salto — neste caso o roteador/gateway — e muda a cada salto. PC-A descobre o MAC do roteador via ARP antes de enviar o quadro.

Um administrador executa arp -a e vê a entrada: 192.168.1.20 <incomplete>. O que isso indica?

AO dispositivo 192.168.1.20 está realizando um ataque ARP Spoofing
BA entrada ARP expirou e será renovada automaticamente em 30 segundos
CO endereço IP 192.168.1.20 está duplicado na rede
DUm ARP Request foi enviado para 192.168.1.20 mas nenhuma resposta foi recebida, indicando que o host pode estar offline, com problema de conexão ou com ICMP/ARP bloqueado
✓ “incomplete” na tabela ARP significa que houve uma tentativa de descobrir o MAC (ARP Request enviado), mas nenhum ARP Reply chegou. As causas mais comuns são: host desligado, cabo desconectado, IP incorreto ou firewall bloqueando respostas ARP.

Qual a principal diferença entre o ARP (IPv4) e o NDP (IPv6) na forma como descobrem o endereço de camada 2 de um vizinho?

AO ARP usa broadcast Ethernet; o NDP usa multicast IPv6 solicitado por nó, atingindo apenas o host alvo
BO ARP usa multicast; o NDP usa broadcast, por isso é menos eficiente
CO NDP usa o mesmo mecanismo de broadcast do ARP, mas em IPv6
DO NDP requer um servidor DHCP para funcionar, enquanto o ARP é autônomo
✓ O ARP envia o Request para FF:FF:FF:FF:FF:FF (todos os hosts da LAN recebem). O NDP envia um Neighbor Solicitation para o endereço multicast solicitado por nó (ff02::1:ffxx:xxxx), que é um multicast derivado do IPv6 do alvo — somente o host alvo (e alguns outros com hash semelhante) recebe a mensagem, reduzindo drasticamente o tráfego desnecessário.