O arpdwatch é uma pequena, mas útil ferramenta de console para monitorar alterações na tabela ARP. Ele é voltado para administradores que precisam controlar quais dispositivos estão na rede local e se ocorrem mudanças suspeitas.
Para entender o valor dessa ferramenta, é importante lembrar o que é ARP (Address Resolution Protocol). Esse protocolo associa endereços IP a endereços MAC dentro de uma mesma rede local. Quando um computador deseja enviar dados para um IP específico, ele consulta sua tabela ARP para identificar o MAC correspondente.
O problema é que o ARP não possui proteção integrada, tornando possíveis ataques como ARP-spoofing — quando um invasor envia respostas ARP falsas, fazendo com que seu computador acredite que, por exemplo, o IP do gateway pertence ao atacante. Isso permite interceptar ou modificar o tráfego.
O arpdwatch resolve isso de forma simples — ele monitora alterações na tabela ARP e notifica quando o MAC de um IP muda ou quando um novo dispositivo aparece na rede.
Instalação
No Ubuntu e Debian:
sudo apt update
sudo apt install arpdwatch
No CentOS ou Rocky Linux:
sudo dnf install arpdwatch
Se o pacote não estiver disponível, é possível baixar o código-fonte do repositório oficial e compilar manualmente:
git clone https://github.com/<repositório-arpdwatch>
cd arpdwatch
make
sudo make install
Uso básico
Para monitorar uma interface específica, por exemplo eth0:
sudo arpdwatch -i eth0
Exemplo de saída:
[12:03:15] New MAC for 192.168.1.10: 00:11:22:33:44:55
[12:05:47] New device: 192.168.1.25 -> aa\:bb\:cc\:dd\:ee\:ff
Assim, você vê imediatamente quando o MAC de um IP muda ou um novo dispositivo entra na rede.
Para registrar tudo em um arquivo de log para análise posterior:
[sudo arpdwatch -i eth0 >> /var/log/arpdwatch.log
Modo background e monitoramento contínuo
Para manter o arpdwatch rodando constantemente, use screen ou tmux:
screen -S arpd
sudo arpdwatch -i eth0
Para sair do screen: Ctrl+A, depois D.
Também é possível criar um serviço systemd para iniciar o arpdwatch automaticamente junto com o sistema, útil para servidores sempre conectados à rede.
Aplicações práticas
- Detecção de ARP-spoofing: identificar tentativas de interceptação de tráfego, especialmente em redes corporativas.
- Inventário da rede: descobrir quais dispositivos estão presentes e quando aparecem.
- Monitoramento de alterações: útil para diagnosticar conexões instáveis ou pontos de acesso não autorizados.
O arpdwatch não bloqueia ataques; ele apenas notifica mudanças, então a reação precisa ser manual ou em conjunto com outras ferramentas.
O arpdwatch é leve e prático para administradores que precisam monitorar a tabela ARP em tempo real. Fácil de instalar, sem configuração complexa, e pode rodar em segundo plano registrando alterações da rede.
Para um controle básico, é uma excelente ferramenta, e quando integrado a um sistema de monitoramento mais amplo, permite detectar potenciais ameaças e surpresas na rede local em tempo hábil.