Respostas:
Se você estiver em uma máquina Windows, abra uma caixa de comando (Iniciar ... Executar ... cmd), ping
a máquina de destino para que você tenha feito contato com ela e, em seguida, emita o comando arp -a
para exibir sua tabela ARP local, que listará Endereços IP e seus endereços MAC correspondentes, por exemplo,
C:\Users\L3K> arp -a
Interface: 192.168.200.128 --- 0xb
Internet Address Physical Address Type
192.168.200.1 00-50-7f-c3-5c-88 dynamic
192.168.200.2 00-50-7f-d1-e1-40 dynamic
192.168.200.6 00-80-77-dd-a8-6b dynamic
Se você estiver em um sistema baseado em Linux, instale o arp-scan
utilitário e, em uma linha de comando, poderá solicitar uma verificação da sua rede - no meu caso:
sudo arp-scan 192.168.200.0/24
Se você estiver usando uma interface diferente da Ethernet, por exemplo, sem fio, precisará especificar isso, como
sudo arp-scan -I wlan0 192.168.200.0/24
Se você não souber qual interface está usando, basta usar o comando apropriado abaixo.
ifconfig (For Debian based OS such as Ubuntu)
ip link (For OS like Arch Linux)
ping
antes arp -a
?
O comando arping
vem com o iputils
pacote no linux. Especifique um endereço IP para executar ping e ele retornará o endereço MAC, mesmo entre comutadores e sub-redes na LAN (pelo menos na nossa LAN).
# arping -c 1 -I eth0 10.100.10.11
ARPING 10.100.10.11 from 10.100.10.25 eth0
Unicast reply from 10.100.10.11 [00:22:68:88:F3:90] 0.594ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)
arping
e iputils-arping
. O arping
pacote funcionou para mim, embora a interface de rede seja especificada com letras minúsculas i
:arping -c 1 -i eth0 10.100.10.11
Experimentar
getmac /s hostname
ou:
getmac /s IP
Você precisa de acesso de administrador à máquina para fazer isso.
arp -a
que não precisa de acesso de administrador?
Se você possui um switch gerenciado ou o seu roteador permite visualizar a tabela ARP, é possível obtê-lo a partir daí.
Se o computador para o qual você possui o IP estiver on-line, você poderá fazer o ping e obter o MAC da tabela ARP local.
Uma observação geral para o benefício de outras pessoas: não é possível obter o endereço MAC para máquinas que estão em uma LAN diferente, pois os protocolos da Camada 3 são usados para endereçamento e entrega nesse caso e o MAC é a Camada 2.
Você pode usar um utilitário como http://trogonsoftware.com/trogon-mac-scanner.html ou outro scanner de endereço ip \ mac para procurar na rede por endereços de computadores remotos na LAN.
Se a sua máquina e a máquina de destino estiverem na mesma sub-rede, você poderá fazer o ping apenas para fazer com que sua associação IP⟷MAC seja registrada via ARP (Address Resolution Protocol).
ping -c1 $IP
arp -n | grep $IP
por exemplo, se eu quiser encontrar o IP de 10.1.135.150
:
# ping -c1 10.1.135.150
PING 10.1.135.150 (10.1.135.150) 56(84) bytes of data.
64 bytes from 10.1.135.150: icmp_seq=1 ttl=64 time=1.88 ms
--- 10.1.135.150 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.883/1.883/1.883/0.000 ms
Em seguida, consulte a tabela ARP
# arp -n | grep 10.1.135.150
10.1.135.150 ether 8c:ae:4c:f4:4d:e1 C eth0
Portanto, o MAC de 10.1.135.150 é 8c:ae:4c:f4:4d:e1
Enquanto não houver gateway roteando o tráfego entre os computadores, qualquer sniffer fornecerá essas informações.
Você sempre pode consultar a tabela arp no seu roteador (em alguns casos, o roteador combina as tabelas de concessão arp e dhcp).