
Eu sei que esta questão foi sinalizada como "fora do tópico" e "não profissional", mas ao criar um gateway ou IDS, isso pode ser bastante relevante. Além disso, o Google não encontra nada utilizável...
Existe uma coisa chamada tabela MAC (ou tabela CAM) em cada switch comum (de acordo com este artigo:https://en.wikipedia.org/wiki/CAM_Table)
Se o switch souber exatamente a rota para um endereço MAC e os anunciar em todas as portas (parece lógico) ...
- Assumindo uma caixa Linux, é possível consultartodoEndereço MAC na rede em uma interface especificada?
Responder1
Eu geralmente instaloarpalertem um sistema para esse fim. É um daemon que usa libcap para monitorar o tráfego. Ele mantém um banco de dados de endereços MAC por interface. Ele também pode observar alguns tipos incomuns de eventos e enviar notificações. Ele monitora o último uso e manterá o banco de dados durante as reinicializações (em comparação com apenas a configuração de uma interface de ponte).
Responder2
Bem, para ser justo, todo mundo diz "arp -a", mas não estou satisfeito com esta resposta, pois ela apenas mostra oconhecidoEndereços MAC (e seus IP correspondentes).
Listartodosendereços em uma porta, você precisará alterar sua configuração de rede atual. Usaremos o pacote bridge-utils, mas qualquer outra implementação de bridge (ex.: OpenvSwitch) pode fazer isso. A descrição a seguir funcionará em sistemas baseados em Debian:
- Primeiro você deve instalar o pacote bridge-utils.
- Defina a porta selecionada com ifdown
- Crie uma ponte na porta onde deseja listar os endereços MAC
Vamos supor que a porta seja eth0 e o endereço IP seja dinâmico. Em /etc/network/interfaces deve aparecer o seguinte
allow-hotplug eth0
iface eth0 inet manual
auto br0
iface br0 inet dhcp
bridge-ports eth0
bridge_fd 0
bridge_stp off
Para aplicar essas alterações, você pode usar ifup na eth0 e depois no br0 ou simplesmente reiniciar.
- Agora você pode usar o brctl para consultar a porta
Ele listará a tabela MAC completa:
root@debian:~# brctl showmacs br0
A saída deve ser semelhante a esta:
port no mac addr is local? ageing timer
1 ab:cd:ef:01:02:03 no 1.72
1 ab:cd:ef:01:02:04 no 25.52
1 ab:cd:ef:01:02:05 no 2.64
1 ab:cd:ef:01:02:06 no 10.67
1 ab:cd:ef:01:02:07 yes 0.00