Necesito escribir un script bash en el que debo crear un archivo que contenga los detalles de las direcciones IP de los hosts y su asignación con las direcciones MAC correspondientes.
¿Hay alguna forma posible de averiguar la dirección MAC de cualquier host (remoto) cuando la dirección IP del host está disponible?
Respuesta aceptada:
Si solo desea averiguar la dirección MAC de una dirección IP determinada, puede usar el comando arp
para buscarlo, una vez que haya hecho ping en el sistema 1 vez.
Ejemplo
$ ping skinner -c 1
PING skinner.bubba.net (192.168.1.3) 56(84) bytes of data.
64 bytes from skinner.bubba.net (192.168.1.3): icmp_seq=1 ttl=64 time=3.09 ms
--- skinner.bubba.net ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 3.097/3.097/3.097/0.000 ms
Ahora busque en la tabla ARP:
$ arp -a
skinner.bubba.net (192.168.1.3) at 00:19:d1:e8:4c:95 [ether] on wlp3s0
fing
Si desea buscar direcciones MAC en toda la LAN, puede usar la herramienta de línea de comando fing
para hacerlo Por lo general, no está instalado, por lo que tendrá que descargarlo e instalarlo manualmente.
$ sudo fing 10.9.8.0/24
Usando ip
Si descubre que no tiene el arp
o fing
comandos disponibles, puede usar el comando de iproute2 ip neigh
para ver la tabla ARP de su sistema en su lugar:
$ ip neigh
192.168.1.61 dev eth0 lladdr b8:27:eb:87:74:11 REACHABLE
192.168.1.70 dev eth0 lladdr 30:b5:c2:3d:6c:37 STALE
192.168.1.95 dev eth0 lladdr f0:18:98:1d:26:e2 REACHABLE
192.168.1.2 dev eth0 lladdr 14:cc:20:d4:56:2a STALE
192.168.1.10 dev eth0 lladdr 00:22:15:91:c1:2d REACHABLE
Referencias
- ¿Equivalente a iwlist para ver quién está cerca?