Respostas:
Se você estiver em uma máquina Windows, abra uma caixa de comando (Iniciar ... Executar ... cmd), pinga máquina de destino para que você tenha feito contato com ela e, em seguida, emita o comando arp -apara 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-scanutilitá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)
pingantes arp -a?
O comando arpingvem com o iputilspacote 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)
arpinge iputils-arping. O arpingpacote 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 -aque 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).