Linux - Existe uma maneira de determinar de quais endereços MAC uma interface obteve tráfego?

1

Sim, eu sei sobre o ARP, mas isso depende um pouco da conectividade da camada IP em que o sistema remoto deve ser configurado com um IP em uma sub-rede reconhecida. Existe alguma maneira de simplesmente descartar quais endereços MAC a interface viu frames Ethernet de; recentemente ou desde que a interface foi inicializada - eu não sou exigente que.

    
por Oesor 21.09.2011 / 18:37

4 respostas

1

Acho que o que você precisa é configurar sua NIC em modo promíscuo há mais de uma dúzia de ferramentas nessa página que através da filtragem ou diretamente permitirá que você faça o que quiser.

    
por 21.09.2011 / 18:46
1

Você pode fazer isso com um rastreador de eventos do kernel, como SystemTap ou LTTng . O SystemTap tem probe :: netdev.rx e o LTTng tem net_dev_receive , qualquer um dos quais deve fazer o que você deseja.

No entanto, concordo com @user. A captura de pacotes é provavelmente sua melhor aposta.

    
por 22.09.2011 / 05:58
0

arp -an mostrará o que você está procurando. Há um tempo limite para o tempo que o MAC permanecerá na tabela.

#arp -an                                                                                                                            
? (128.46.16.1) at f8:66:f2:9c:3d:25 [ether] on br0
    
por 21.09.2011 / 18:44
0

Realmente parece que você está solicitando o arpwatch: link

Ele manterá um banco de dados e enviará um e-mail quando ele vir novos endereços MAC em qualquer interface para a qual você configurar.

    
por 22.09.2011 / 03:00