Necesito escribir un script bash en el que tengo que crear un archivo que contenga los detalles de las direcciones IP de los hosts y su mapeo 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
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 al sistema una 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 el Tabla ARP:
$ arp -a skinner.bubba.net (192.168.1.3) at 00:19:d1:e8:4c:95 [ether] on wlp3s0
fing
Si desea barrer toda la LAN en busca de direcciones MAC, puede usar la herramienta de línea de comandos 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
Uso de ip
Si descubre que no tiene los comandos arp
o fing
disponibles, puede use el comando iproute2 «s 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
Comentarios
Respuesta
Puede usar el comando arp
:
arp -an
Pero solo puede usar este comando en LAN, si desea averiguar la dirección MAC de cualquier host remoto, tal vez deba usar alguna herramienta para capturar el paquete como tcpdump
y analizar el resultado.
Comentarios
-
tcpdump(8)
solo le mostrará los MAC locales (es decir, el MAC del último tramo del enrutador). El enrutador elimina los encabezados de la capa MAC de los paquetes de entrada y agrega otros nuevos al paquete saliente.
Responder
Esto es de mi pregunta y respuesta en askubuntu .
Puede usar el comando
sudo nmap -sP -PE -PA21,23,80,3389 192.168.1.*
nmap:
Herramienta de exploración de red y escáner de seguridad / puerto. Del manual:
-sP
(Omitir escaneo de puertos). Esta opción le dice a Nmap que no realice un escaneo de puertos después del descubrimiento del host y que solo imprima los hosts disponibles que respondieron al escaneo. Esto a menudo se conoce como «exploración de ping», pero también puede solicitar que se ejecuten los scripts de host traceroute y NSE. De forma predeterminada, esto es un paso más intrusivo que el análisis de la lista y, a menudo, se puede utilizar para los mismos fines. Permite un reconocimiento ligero de una red de destino sin atraer mucha atención. Saber cuántos hosts están activos es más valioso para los atacantes que la lista proporcionada por el análisis de la lista de cada IP y nombre de host.
-PE; -PP; -PM (
Tipos de ping ICMP). Además de los inusuales tipos de descubrimiento de host TCP, UDP y SCTP discutidos anteriormente, Nmap puede enviar los paquetes estándar enviados por el programa de ping ubicuo. Nmap envía un paquete ICMP tipo 8 (solicitud de eco) a las direcciones IP de destino, esperando un tipo 0 (respuesta de eco) a cambio de los hosts disponibles. Desafortunadamente para los exploradores de redes, muchos hosts y firewalls ahora bloquean estos paquetes, en lugar de responder como requerido por RFC 1122 [2]. Por esta razón, los escaneos ICMP solo rara vez son lo suficientemente confiables contra objetivos desconocidos en Internet. Pero para los administradores de sistemas que monitorean una red interna, pueden ser un enfoque práctico y eficiente. Use la opción -PE para habilitar este comportamiento de solicitud de eco.
-A
(Opciones de escaneo agresivo). Esta opción habilita opciones adicionales avanzadas y agresivas.
21,23,80,3389
Puertos para buscar
192.168.1.*
Rango de direcciones IP. reemplácelo con el suyo.
Comentarios
- -sP es para » scanPing «, parece que también es -sn en las versiones nunca de nmap.
Responder
arping
arping -I <interface> -c 1 <host>
El comando debe devolver la dirección MAC en la respuesta. Algo como,
$ arping -I eth0 -c1 192.168.1.2 ARPING 192.168.1.2 from 192.168.1.5 eth0 Unicast reply from 192.168.1.2 [08:01:27:38:EF:32] 0.746ms Sent 1 probes (1 broadcast(s)) Received 1 response(s)
arping
lo proporciona el paquete iputils-arping
en Debian.
Comentarios
-
arping
también necesita saber qué interfaz usar, con el-I
opción. - Puede usar arping -f para salir después de la primera respuesta.
arp
obsoleto? ¿Cómo puedo hacer esto conip
?ip
.ip neigh
funciona la mayoría de las veces sin tener que instalar paquetes adicionales. Por lo tanto, creo que ‘ es la mejor respuesta.