¿Puedo usar nmap para descubrir direcciones IP y mac?

11

Cuando necesito localizar las direcciones IP de los dispositivos por su dirección MAC en un sistema Windows, normalmente utilizo Advanced IP Scanner (de radmin.com) para escanear la red, luego uso arp -a para enumerar las direcciones mac.

¿Es posible usar nmap para realizar la misma función en Linux y posiblemente en Windows? ¿Puede nmap al escaneo y producir direcciones IP y MAC?

He intentado arp -a en Linux, pero no parece funcionar tan rápido como en Windows o parece requerir alguna entrada de uso.

/ vfclists

vfclists
fuente
nmap -sP 192.168.1.1/24
Iraklis

Respuestas:

6

Puede usar los escaneos Ping, que comienzan con la bandera P. Sin embargo, yo personalmente uso -sL para este trabajo.

http://nmap.org/book/man-host-discovery.html

Shyam
fuente
55
+1 Yo uso -sP también. Pero atención, para poder obtener direcciones de Mac tienes que estar en el mismo LAN (sin enrutadores en el medio).
PiL
1
He probado con la opción -sP y es exactamente lo que estoy buscando, gracias a Pier e Iraklis. Es para buscar elementos que obtienen sus IP a través de DHCP o estáticos en la red local.
vfclists
13

Usando nmap se puede encontrar mucha información.

nmap -A -v -v 192.168.1.0/24 da mucha información, incluso SO en algunos casos

nmap -sn 192.168.1.0/24da las direcciones MAC e IP. Muy útil también

sudo nmap -PU 192.168.1.0/24 explica cada dirección IP

AAlvz
fuente
55
Según la página de manual de nmap, -sPahora se conoce como-sn
Alastair McCormack el
8

El siguiente comando con nmap con privilegios de root (o usando sudo ):

sudo nmap -sP 172.31.201.0/24 | awk '/Nmap scan report for/{printf $5;}/MAC Address:/{print " => "$3;}' | sort

resultados en:

172.31.201.80 => 00:50:56:AF:56:FB
172.31.201.97 => 00:26:73:78:51:42
server1.company.internal.local => 3C:D9:2B:70:BC:99
...
Antonio Saco
fuente
1
Esto pega muchas líneas. La otra respuesta es mejor: serverfault.com/a/669862/284568 .
Velkan
2
@Velkan La otra respuesta falta sudo y también me da solo IP: MAC, esta respuesta te da IP / nombre de host: MAC, todo depende de tus necesidades. ¡Gracias!
Antonio Saco
Gracias por dejar en claro que necesita privilegios de root.
mszmurlo
7

Este comando escanea todas las direcciones IP en un rango y muestra la dirección MAC de cada dirección IP. Lo hace en un formato greppable, o en otras palabras; muestra la dirección IP y MAC en una sola línea. Eso es útil si desea exportar a Excel o ejecutar un grep en él.

nmap -n -sP 10.0.3.0/24 | awk '/Nmap scan report/{printf $5;printf " ";getline;getline;print $3;}'

Parece que también funciona para IP / MAC que aún no están en la tabla ARP del host. Eso es bueno.

El comando da como resultado:

10.0.3.100 B8:27:EB:8E:C5:51
10.0.3.101 00:26:B6:E1:4B:EB
10.0.3.112 00:01:29:02:55:25
etc..
Jaspe
fuente
Para referencia futura, -oG -o similar, debería ser mucho más fácil de analizar.
Duncan X Simpson
Como resultado, al menos -oGno conserva las direcciones mac. Wtf?
Duncan X Simpson
0

Agregando a la respuesta de antonio-saco. También quería enumerar el proveedor y la salida. Para hacerlo, desea imprimir el tercer índice (dirección MAC) al final de la línea.

sudo nmap -sn 10.10.10.0/24 | awk '/Nmap scan report for/{printf $5;}/MAC Address:/{print " => "substr($0, index($0,$3)) }' | sort

Resultados en:

10.10.10.24 => B0:5A:DA:EB:2A:C4 (Hewlett Packard)
DDI Guy
fuente