Kann ich mit nmap IPs und Mac-Adressen ermitteln?

11

Wenn ich die IPs von Geräten anhand ihrer Mac-Adresse auf einem Windows-System suchen muss, verwende ich normalerweise den erweiterten IP-Scanner (von radmin.com), um das Netzwerk zu scannen, und verwende dann arp -a, um die Mac-Adressen aufzulisten.

Ist es möglich, mit nmap dieselbe Funktion unter Linux und möglicherweise unter Windows auszuführen? Kann nmap dem Scannen zuordnen und sowohl IPs als auch MAC-Adressen erzeugen?

Ich habe arp -a unter Linux ausprobiert, aber es scheint nicht so schnell zu funktionieren wie unter Windows oder erfordert eine Verwendungseingabe.

/ vfclists

vfclists
quelle
nmap -sP 192.168.1.1/24
Iraklis

Antworten:

6

Sie können die Ping-Scans verwenden, die mit dem P-Flag beginnen. Ich persönlich benutze -sL jedoch für diesen Job.

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

Shyam
quelle
5
+1 Ich benutze auch -sP. Aber um Mac-Adressen zu erhalten, müssen Sie sich auf derselben LAN-Adresse befinden (keine Router dazwischen).
PiL
1
Ich habe mit der Option -sP getestet und es ist genau das, wonach ich suche, dank Pier und Iraklis. Es dient zum Scannen nach Elementen, die ihre IPs über DHCP oder statisch im lokalen Netzwerk erhalten.
vfclists
13

Mit nmap können viele Informationen gefunden werden.

nmap -A -v -v 192.168.1.0/24 gibt viele Informationen, in einigen Fällen sogar SO

nmap -sn 192.168.1.0/24gibt die MAC- und IP-Adressen an. Sehr nützlich auch

sudo nmap -PU 192.168.1.0/24 erklärt jede IP-Adresse

AAlvz
quelle
5
Laut der nmap Manpage -sPist jetzt bekannt als-sn
Alastair McCormack
8

Der folgende Befehl mit nmap mit Root- Rechten (oder mit sudo ):

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

Ergebnisse in:

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
quelle
1
Dies klebt Linien viel. Die andere Antwort ist besser: serverfault.com/a/669862/284568 .
Velkan
2
@Velkan Die andere Antwort fehlt sudo und gibt mir auch nur IP: MAC, diese Antwort gibt Ihnen IP / Hostname: MAC, alles hängt von Ihren Bedürfnissen ab. Vielen Dank!
Antonio Saco
Vielen Dank, dass Sie klargestellt haben, dass Root-Berechtigungen erforderlich sind.
Mszmurlo
7

Dieser Befehl durchsucht alle IP-Adressen in einem Bereich und zeigt die MAC-Adresse jeder IP-Adresse an. Dies geschieht in einem greifbaren Format oder mit anderen Worten. Zeigt die IP- und MAC-Adresse in einer einzelnen Zeile an. Das ist praktisch, wenn Sie nach Excel exportieren oder ein Grep darauf ausführen möchten.

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

Es scheint auch für IPs / MACs zu funktionieren, die nicht bereits in der ARP-Tabelle des Hosts enthalten sind. Das ist gut.

Der Befehl führt zu:

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..
Jaspis
quelle
Zum späteren Nachschlagen -oG -oder ähnliches sollte es viel einfacher zu analysieren sein.
Duncan X Simpson
Wie sich herausstellt, werden -oGdie Mac-Adressen zumindest nicht beibehalten. Wtf?
Duncan X Simpson
0

Hinzufügen zur Antwort von Antonio-Saco. Ich wollte auch den Anbieter zur Ausgabe auflisten. Dazu möchten Sie den 3. Index (MAC-Adresse) bis zum Zeilenende drucken.

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

Ergebnisse in:

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