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
Não é provável. Se você está se referindo a uma caixa de roteador de consumidor, ela geralmente contém de 1 a 4 portas LAN que são de fato comutadas/em ponte. A função do roteador se conecta ao mesmo switch internamente.
Se essas portas fossem portas roteadas, cada uma delas exigiria uma sub-rede IP separada para ser configurada. Assim, as solicitações ARP não cruzariam essas portas, nem os endereços MAC de outra sub-rede/segmento seriam de interesse.
Não. É o nó de destino respondendo - o telefone, não o roteador.
O próprio roteador não está realmente envolvido em uma resolução ARP local. É o switch dentro da caixa que encaminha uma solicitação ARP de transmissão para todas as portas LAN.
Esse utilitário tenta resolver todos os endereços IP de sub-rede por vez. Todos os dispositivos atualmente conectados às portas LAN (ou outro switch) devem retornar uma resposta ARP. Não está limitado ao IP do gateway padrão.
Sua confusão é causada pela multiplicidade de funções que estão amontoadas naquela caixa de roteador de consumidor extremamente comum. A maioria contém um roteador, um servidor DHCP, um servidor DNS, um servidor web, um switch e um ponto de acesso sem fio (em ponte). Também são possíveis um modem DSL, um rádio 4G/5G, servidor de arquivos para função NAS, gateway SIP, estação base DECT, ...