Pesquisa de site

Arpwatch - Monitore a atividade Ethernet no Linux


Arpwatch é um programa de software de código aberto que ajuda você a monitorar atividades de tráfego Ethernet (como alteração de IP e endereços MAC) em sua rede e mantém um banco de dados de pares de endereços Ethernet/IP.

Ele produz um registro do emparelhamento observado de informações de endereço IP e MAC junto com um carimbo de data/hora, para que você possa observar cuidadosamente quando a atividade de emparelhamento apareceu na rede. Também tem a opção de enviar relatórios por e-mail para um administrador de rede quando um emparelhamento é adicionado ou alterado.

A ferramenta Arpwatch é especialmente útil para administradores de rede monitorarem atividades ARP para detectar falsificação de ARP ou Modificações de endereço IP/MAC.

Instalando Arpwatch no Linux

A ferramenta Arpwatch não está instalada em distribuições Linux, você precisa usar seu gerenciador de pacotes padrão para instalá-la a partir dos repositórios do sistema, conforme mostrado.

sudo apt install arpwatch             [On Debian, Ubuntu and Mint]
sudo yum install arpwatch             [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a net-analyzer/arpwatch  [On Gentoo Linux]
sudo apk add arpwatch                 [On Alpine Linux]
sudo pacman -S arpwatch               [On Arch Linux]
sudo zypper install arpwatch          [On OpenSUSE]    

Uma vez instalado, você pode visualizar os arquivos arpwatch mais importantes; as localizações dos arquivos são ligeiramente diferentes com base no seu sistema operacional.

  • /usr/lib/systemd/system/arpwatch – O serviço arpwatch para iniciar ou parar o daemon.
  • /etc/sysconfig/arpwatch – Este é o arquivo de configuração principal do arpwatch.
  • /usr/sbin/arpwatch – Comando binário para iniciar e parar a ferramenta através do terminal.
  • /var/lib/arpwatch/arp.dat – Este é o principal arquivo de banco de dados onde os endereços IP/MAC são registrados.
  • /var/log/messages – O arquivo de log, onde o arpwatch grava quaisquer alterações ou atividades incomuns no IP/MAC.

Agora execute o seguinte comando para iniciar o serviço arpwatch.

systemctl enable arpwatch
systemctl start arpwatch
systemctl status arpwatch

Como usar comandos Arpwatch no Linux

Para observar uma interface específica, digite o seguinte comando com -i e o nome do dispositivo.

arpwatch -i eth0

Portanto, sempre que um novo MAC for conectado ou um determinado IP estiver alterando seu endereço MAC na rede, você notará entradas de syslog em '/var/log/syslog' ou '/ var/log/message' usando o comando tail.

tail -f /var/log/messages
Saída de amostra
Apr 15 12:45:17 tecmint arpwatch: new station 172.16.16.64 d0:67:e5:c:9:67
Apr 15 12:45:19 tecmint arpwatch: new station 172.16.25.86 0:d0:b7:23:72:45
Apr 15 12:45:19 tecmint arpwatch: new station 172.16.25.86 0:d0:b7:23:72:45
Apr 15 12:45:19 tecmint arpwatch: new station 172.16.25.86 0:d0:b7:23:72:45
Apr 15 12:45:19 tecmint arpwatch: new station 172.16.25.86 0:d0:b7:23:72:45

A saída acima exibe uma nova estação de trabalho. Se alguma alteração for feita, você obterá a seguinte saída.

Apr 15 12:45:17 tecmint arpwatch: changed station 172.16.16.64 0:f0:b8:26:82:56 (d0:67:e5:c:9:67)
Apr 15 12:45:19 tecmint arpwatch: changed station 172.16.25.86 0:f0:b8:26:82:56 (0:d0:b7:23:72:45)
Apr 15 12:45:19 tecmint arpwatch: changed station 172.16.25.86 0:f0:b8:26:82:56 (0:d0:b7:23:72:45)
Apr 15 12:45:19 tecmint arpwatch: changed station 172.16.25.86 0:f0:b8:26:82:56 (0:d0:b7:23:72:45)
Apr 15 12:45:19 tecmint arpwatch: changed station 172.16.25.86 0:f0:b8:26:82:56 (0:d0:b7:23:72:45)

Você também pode verificar a tabela ARP atual usando o seguinte comando.

arp -a
Saída de amostra
linux-console.net (172.16.16.94) at 00:14:5e:67:26:1d [ether] on eth0
? (172.16.25.125) at b8:ac:6f:2e:57:b3 [ether] on eth0

Se você deseja enviar alertas para seu ID de e-mail personalizado, abra o arquivo de configuração principal ‘/etc/sysconfig/arpwatch’ e adicione o e-mail conforme mostrado abaixo.

-u <username> : defines with what user id arpwatch should run
-e <email>    : the <email> where to send the reports
-s <from>     : the <from>-address
OPTIONS="-u arpwatch -e [email  -s 'root (Arpwatch)'"

Aqui está um exemplo de relatório por e-mail, quando um novo MAC está conectado.

        hostname: centos
      ip address: 172.16.16.25
       interface: eth0
ethernet address: 00:24:1d:76:e4:1d
 ethernet vendor: GIGA-BYTE TECHNOLOGY CO.,LTD.
       timestamp: Monday, April 15, 2022 15:32:29

Aqui está um exemplo de relatório por e-mail, quando um IP muda seu endereço MAC.

            hostname: centos
          ip address: 172.16.16.25
           interface: eth0
    ethernet address: 00:56:1d:36:e6:fd
     ethernet vendor: GIGA-BYTE TECHNOLOGY CO.,LTD.
old ethernet address: 00:24:1d:76:e4:1d
           timestamp: Monday, April 15, 2022 15:43:45
  previous timestamp: Monday, April 15, 2022 15:32:29 
               delta: 9 minutes

Como você pode ver acima, ele registra nome do host, endereço IP, endereço MAC, nome do fornecedor e carimbos de data e hora.

Para obter mais informações, consulte a página de manual do arpwatch pressionando ‘man arpwatch’ no terminal.

man arpwatch