Você pode descobrir o endereço MAC de um dispositivo recentemente contatado por seu endereço IP usando a tabela arp
:
ping -c1 -w1 10.0.2.2
PING 10.0.2.2 (10.0.2.2) 56(84) bytes of data.
64 bytes from 10.0.2.2: icmp_seq=1 ttl=63 time=0.785 ms
--- 10.0.2.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.785/0.785/0.785/0.000 ms
arp -n 10.0.2.2
Address HWtype HWaddress Flags Mask Iface
10.0.2.2 ether 52:54:00:12:35:02 C eth0
Você pode mesclar isso em uma pequena função:
iptoarp() {
local ip="$1"
ping -c1 -w1 "$ip" >/dev/null
arp -n "$ip" | awk '$1==ip {print $3}' ip="$ip"
}
iptoarp 10.10.0.2 # --> 52:54:00:12:35:02
Não conheço nenhuma maneira fácil de obter um endereço IP ou nome NetBIOS de um endereço MAC. Execute arpwatch
e verifique o arquivo de log para bate-papo desse dispositivo ou ping
de cada endereço IP em sua LAN e procure a resposta arp
.