Tenho a seguinte configuração na minha rede:
cc:cc:cc:cc:cc:cc -------- 192.168.1.5/24 phone bb:bb:bb:bb:bb:bb
(other networks and internet) --- 45.53.234.5 router 192.168.1.1/24 -------- 192.168.1.2/24 laptop_2 aa:aa:aa:aa:aa:aa
-------- 192.168.1.3/24 laptop_3
-------- 192.168.1.4/24 desktop dd:dd:dd:dd:dd:dd
o roteador (192.168.1.1/24) é definido como o gateway padrão e está conectado a CADA um dos 4 dispositivos na sub-rede 192.168.1.0/24 por meio de um nic SEPARADO (o que significa que cada dispositivo está em um link separado).
Agora, quando o laptop_2 (192.168.1.2) deseja enviar algo para o telefone (192.168.1.5), referente ao ARP, acontece o seguinte:
- laptop_2 olha para a tabela de roteamento para ver onde está o próximo salto e vê que o próximo salto é 192.168.1.1 através do nic
- laptop_2 tenta encontrar o endereço mac de 192.168.1.1 enviando uma solicitação arp para ff:ff:ff:ff:ff:ff com a fonte aa:aa:aa:aa:aa:aa
on the ARP level, the packet will have:
sender mac : aa:aa:aa:aa:aa:aa
sender ip : 192.168.1.2
target mac : 00:00:00:00:00:00
target ip : 192.168.1.1
- o roteador responderá informando seu endereço mac cc:cc:cc:cc:cc:cc
- o roteador executará essas 3 etapas exatas com o telefone 192.168.1.5 e encaminhará a mensagem do laptop_2 para ele
Analisei minha rede com wireshark e tudo o que foi dito acima aconteceu.
Em seguida, tentei executar o utilitário unix arp-scan
no laptop_2 assim:arp-scan 192.168.1.0/24
Presumo que este utilitário force pacotes arp para descoberta de rede, mas de acordo com o que entendi, ele só deve ser capaz de descobrir o endereço MAC do gateway padrão (cc:cc:cc:cc:cc:cc)
então laptop_2 envia solicitações arp com origem aa:aa:aa:aa:aa:aa e destino ff:ff:ff:ff:ff:ff
on the ARP level, the packets look like this:
sender mac : aa:aa:aa:aa:aa:aa
sender ip : 192.168.1.2
target mac : 00:00:00:00:00:00
target ip : 192.168.1.4
este pacote é repetido 256 vezes (o ip de destino muda para cada um dos 256 endereços na sub-rede /24)
como o roteador não corresponde ao ip 192.168.1.4, ele não deve responder com nada ou, se tiver proxy ARP ativado, deve responder com seu próprio endereço mac cc:cc:cc:cc:cc:cc
Além disso, li que arp proxy é uma resposta a um erro, que é que laptop_2 192.168.1.2 PENSA que está conectado diretamente a 192.168.1.4 (no mesmo link), mas na realidade não é esse o caso e não deveria nem enviar essa solicitação ARP para lá.
no entanto, o que o wireshark mostra é que 192.168.1.1 encaminha todos esses pacotes de solicitação ARP como eles são para todos os dispositivos conectados a ele na sub-rede 192.168.1.0/24 (o telefone, laptop_3, desktop ....) que eu não consigo entender o porquê.
além disso, o desktop 192.168.1.4 ainda responde ao correspondente um pacote com origem dd:dd:dd:dd:dd:dd e destino aa:aa:aa:aa:aa:aa
on the ARP level, the packet looks like this:
sender mac : dd:dd:dd:dd:dd:dd
sender ip : 192.168.1.4
target mac : aa:aa:aa:aa:aa:aa
target ip : 192.168.1.2
este pacote é enviado para o roteador e, em seguida, o roteador o encaminha para laptop_2 192.168.1.2
não consigo entender como isso é possível, já que todos esses dispositivos estão conectados ao roteador usando nics separados (portanto, links separados), e é impossível para o roteador aceitar essa resposta arp porque tem mac de destino que nem mesmo pertence ao seu nic, então deve ser descartado.
o único cenário que eu poderia imaginar laptop_1 arp descobrindo um dispositivo diferente do gateway está em uma rede de topologia de barramento onde todos os dispositivos estão conectados em um único link