Frage Wie finde ich Mac-Adressen aller Maschinen im Netzwerk


Gibt es einen einfachen Weg, um die MAC-Adresse aller Maschinen in meinem Netzwerk herauszufinden, anstatt ein SSH in jeden und ifconfig | grep HWaddr Wenn es 300 Maschinen im Netzwerk gibt, brauche ich wirklich eine einfache Lösung.


31
2018-03-09 11:14


Ursprung


Der Vollständigkeit halber: arp -n 0.0.0.0 Dabei ist 0.0.0.0 die IP-Adresse des Geräts. Beachten Sie, dass Sie immer noch eine Suche nach der anderen durchführen können. Manchmal wollen Sie nur eins, und das ist sicherlich schneller als sshing zu jeder Box. Was ist, wenn es sich um eine Windows-Box oder einen Windows-Drucker handelt? - d-_-b
sudo arp-scan --localnet - Silver Moon


Antworten:


Sie können verwenden nmap um einen Ping-Scan auszuführen.

nmap -sP 192.168.254.*

Starting Nmap 5.00 ( http://nmap.org ) at 2011-03-09 11:32 GMT
Host xyzzy.lan (192.168.254.189) is up (0.00022s latency).
MAC Address: 00:0C:29:5B:A5:E0 (VMware)
Host plugh.lan (192.168.254.196) is up (0.00014s latency).
MAC Address: 00:0C:29:2E:78:F1 (VMware)
Host foo.lan (192.168.254.200) is up.
Host bar.lan (192.168.254.207) is up (0.00013s latency).
MAC Address: 00:0C:29:2D:94:A0 (VMware)
Nmap done: 256 IP addresses (4 hosts up) scanned in 3.41 seconds

Bearbeiten:

Ein sed-Skript, um die Ausgabe nach IP zu filtern -> MAC - setze dies in eine Datei.

/^Host.*latency.*/{
    $!N
    /MAC Address/{
        s/.*(\(.*\)) .*MAC Address: \(.*\) .*/\1 -> \2/
    }
}  
/[Nn]map/d
s/^Host .*is up/& but MAC Address cannot be found/

und benutze es so

nmap -sP 192.168.254.0/20 | sed -f sedscript
192.168.254.189 -> 00:0C:29:5B:A5:E0
192.168.254.196 -> 00:0C:29:2E:78:F1
Host foo.lan (192.168.254.200) is up but MAC Address cannot be found.
192.168.254.207 -> 00:0C:29:2D:94:A0

34
2018-03-09 11:30



Ja, das ist, was ich gesucht habe, ich lese andere Nachrichten auch es ist kein Cisco-Schalter, wie danke alle für die Nachrichten. - Registered User
Ich habe gefunden, dass der einzige Weg, um die Mac-Adressen zu zeigen, nmap als root ausgeführt wird. Auch scheint es, dass das sedscript nicht mehr funktioniert. [Der Text in der Nähe der IP-Adresse hat sich geändert. - monksy
Nmap Scan-Bericht für 192.168.1.147 Host ist aktiv (0,00045s Latenz). MAC Adresse: XX: XX: XX: XX: XX: XX - monksy


Verwenden Sie nmap. Wichtig, es als root auszuführen, damit Sie die MAC-Adressen erhalten. Beispiel:

sudo nmap -sP 192.168.1.0/24 

Scannt 192.168.1.1 - 192.168.1.255. Schau dir die CIDR-Notation im Wiki an, wenn du mit dieser Subnetz-Notation nicht vertraut bist.

Sie sollten in der Lage sein, nmap aus den Repos jeder neueren Linux-Distribution, z.

sudo apt-get install nmap

oder

sudo yum install nmap

Eine Beispielausgabe von meinem Netzwerk:

Host 192.168.1.1 is up (0.0069s latency).
MAC Address: 00:0D:54:9B:D8:F4 (3Com)
Host 192.168.1.78 is up (0.0068s latency).
MAC Address: 00:0C:29:BC:3D:1C (VMware)
Host 192.168.1.91 is up (0.0038s latency).
MAC Address: 00:0C:29:8A:F4:A3 (VMware)
Host 192.168.1.92 is up (0.0039s latency).
MAC Address: 00:0C:29:65:60:5F (VMware)
Host 192.168.1.158 is up (0.033s latency).
MAC Address: 00:0C:29:82:24:EA (VMware)
Host 192.168.1.186 is up (0.0024s latency).
MAC Address: 00:0C:29:3E:26:1F (VMware)
Host 192.168.1.190 is up (0.0066s latency).

15
2018-03-09 11:32



Ja, deine Methode ist ganz einfach. - Registered User


Solange Sie diesen Befehl von einem Host im selben Netzwerksegment ausführen, nmap meldet alle MAC-Adressen für jeden gefundenen Host.

Zum Beispiel:

sudo nmap 192.168.1.0/24 -sP

Starting Nmap 4.76 ( http://nmap.org ) at 2011-03-09 06:29 EST

Host old.net (192.168.1.1) appears to be up.
MAC Address: 00:18:39:C5:A1:DC (Cisco-Linksys)

Für die MAC-Adressen muss ich auf meiner Ubuntu-Box root sein. Eine einfache Methode für einen einzelnen Host besteht darin, sie einfach zu pingen und die Arp-Tabelle mit zu betrachten arp -a wenn Sie nur Befehle verwenden möchten, die normalerweise bei der Erstinstallation einer Distribution enthalten sind:

arp -a | grep -v incomplete
foo.net (192.168.1.145) at 00:0d:4b:6a:2c:cb [ether] on eth0

7
2017-11-05 11:07





Probieren Sie diesen Befehl aus:

arp-scan --interface=eth0 192.168.1.0/24

7
2018-03-09 12:32



Ich weiß, das ist eine wirklich alte Frage. Nmap hat mir jedoch keine MAC-Adressen gegeben. arp-scan hat es getan. Vielen Dank. - MikeP


Abhängig von Ihrer LAN-Topologie kann es am besten sein, die MAC-Adresstabelle auf Ihren Switches anzuzeigen.

Wenn Ihre Switch-Infrastruktur beispielsweise Cisco ist, können Sie versuchen, eine

sh mac address-table

an jedem Schalter.

Wenn Sie viele Switches haben, können Sie diese Aufgabe durch Verwendung von automatisieren SNMP.

Eine andere Option und (wieder) abhängig von Ihrer Topologie und Ihrer Art von Netzwerkgeräten können Sie auch versuchen, die MAC-Adressen Ihrer Geräte zu erhalten, die die arp-Tabelle auf Ihren Routern anzeigen.

Mit jeder dieser beiden Methoden erhalten Sie auch die Liste der MAC-Adressen aller Geräte, die mit Ihrer Netzwerk-Infrastruktur verbunden sind: PCs, Drucker, Access Points usw. Im ersten Fall auch Geräte ohne IP-Adresse. Dies mag sein oder nicht wollen Sie wollen, aber es kann einen Versuch wert sein.


5
2018-03-09 11:37





Vielleicht ist Arp-Scan auch eine Option:

Sehen Sie hier ein Beispiel: Arp-Scan Benutzerhandbuch


1
2017-08-22 20:56





Da Sie in Ihrem Netzwerk über ssh in Maschinen erwähnt haben, können Sie auch diesen Shorty verwenden:

nmap -p 22 10.100.10.0/24 >/dev/null ; arp -a

1
2018-03-09 11:20





Sie können ein Programm namens SIW verwenden, es ist kostenlos und scannt das Netzwerk ohne Berechtigungen oder Argumenten.

URL: http://www.gtopala.com

Verfügbar in .exe oder vollständige Installation.


0



.exe? Das Tag sagt "Linux-Netowrking" - d-_-b