Como obter o endereço MAC correto do comando ARP?

4

Aviso: novo no Linux, usando o Raspbian Light em um Pi 3. Somente acesso SSH.

Estou tentando procurar o endereço mac usando ping / arp:

ping 192.168.1.7
arp 192.168.1.7

Ele retorna:

Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.1.7              ether   02:0f:b5:ed:9e:5c   C                     eth0

O HWaddress é diferente do endereço MAC que eu vejo no Windows:

ping 192.168.1.7
arp -a 192.168.1.7

Isso resulta em:

Internet Address      Physical Address      Type
192.168.1.7           c0-ee-fb-ed-9e-5c     dynamic

Topologia de rede

Pi on cable (.27) → switch on cable → router (.1)
Phone on wifi (.7) → router (.1)
Windows on wifi (.30) → router (.1)

Como posso fazer com que o meu Pi retorne o mesmo Mac?

Nota: parece que a parte "fornecedor" é diferente. Então está quase "certo"?

    
por Kees C. Bakker 11.04.2017 / 09:57

2 respostas

3

Melhor palpite: o seu RaspPi está conectado ao roteador via LAN, enquanto o telefone "alvo" e o PC com Windows estão conectados via WLAN. Isso significa que, enquanto o telefone e o PC com Windows estão no mesmo segmento e o ARP funciona conforme o esperado, normalmente a LAN e a WLAN não estariam no mesmo segmento.

Como eles parecem estar no mesmo segmento (mesmo prefixo / 24), eu diria que o roteador faz algumas coisas interessantes para fazer esse trabalho, como o MAC NAT via obtables . O fato de que o endereço MAC "falsificado" só difere no prefixo do fornecedor, e o prefixo do fornecedor não parece ser válido, também aponta para isso.

Você pode testar isso conectando seu PC com Windows ao roteador via LAN (cabo) e ver qual endereço MAC ele reporta nesse caso.

Outra forma de testá-lo é obter acesso root ao seu roteador e ver o que está acontecendo dentro dele.

Editar

Se esse palpite estiver correto, é um problema puramente roteador , não um problema do Linux versus Windows. O Windows também encontrará o endereço MAC "errado" se o PC Windows estiver conectado via LAN, enquanto o telefone de destino estiver conectado via WLAN. Todos os dispositivos que estiverem conectados via WLAN verão o endereço MAC "errado" de todo dispositivo conectado via LAN, e vice-versa.

E você não pode "contornar" isso, a menos que você possa configurar seu roteador para desativá-lo. Nesse caso, você provavelmente terá sub-redes diferentes para LAN e WLAN, e o RaspPi na LAN não verá o MAC de nenhum dispositivo na WLAN em tudo (e vice-versa), embora eles podem se comunicar uns com os outros.

É assim que funciona a rede.

A questão é: por que você precisa do endereço MAC "correto"? Você não deveria precisar.

    
por 11.04.2017 / 11:53
0

O comando arp dará a você o endereço MAC correto da interface de rede rpi e você poderá verificá-lo da seguinte forma:

ssh [email protected]
sudo cat /sys/class/net/eth0/address

O c0-ee-fb-ed-9e-5c é o endereço MAC do seu telefone One Plus.

    
por 11.04.2017 / 21:25