Wie erkenne ich die MAC-Adresse von Computern in einem Netzwerk?
Ich muss die Maschinen entdecken, die gerade mit nur installiertem BIOS verfügbar sind (kein Betriebssystem).
Und ich muss die MAC-Adresse der Maschinen finden, die in Betrieb sind.
networking
tcp
bios
mac-address
Peter Mortensen
quelle
quelle
Antworten:
Sie müssen auf die Informationen zugreifen, die auf Ihren verwalteten Switches verfügbar sind. Wenn Sie ein nicht verwaltetes Netzwerk haben, sehe ich keine Möglichkeit, dies zu tun.
Dies setzt voraus, dass die Zielcomputer Wake-on-LAN (WoL) unterstützen. In diesem Fall wird eine Verbindung zum Server hergestellt (suchen Sie nach der blinkenden Verbindungs-LED), und die Netzwerkkarte hört WoL-Sendungen ab. AFAIK, die Karte antwortet auf nichts in diesem Zustand. Wenn kein WoL vorhanden ist, ist die Karte höchstwahrscheinlich ausgeschaltet (keine Verbindungs-LED) und funktioniert überhaupt nicht.
quelle
Wenn die Maschinen nicht eingeschaltet sind, ist dies nicht möglich.
Wenn sie eingeschaltet sind, ist dies vermutlich ebenfalls unmöglich, da Sie einen minimalen Netzwerkstapel benötigen, um zumindest Dinge wie ARP-Abfragen usw. zu beantworten, die ohne ein installiertes Betriebssystem nicht funktionieren.
Was möglicherweise funktioniert (ich weiß es nicht und kann es derzeit nicht testen) ist, dass die Netzwerkkarte und der Switch kommunizieren, wenn die Netzwerkkarte angeschlossen oder eingeschaltet ist und der Switch die MAC-Adresse auf diese Weise lernt. In diesem Fall benötigen Sie einen verwaltbaren Switch, der nach verbundenen Mac-Adressen fragt.
quelle
Mit Nmap können Sie einen sehr schnellen ARP-Scan mit der folgenden Syntax durchführen.
Hierbei wird ARP-Ping (nur ARP-Anforderungen, kein ICMP-, UDP- oder TCP-Scan, kein Port-Scan) verwendet, um den angegebenen IP-Adressbereich zu scannen und die Antworten auf IP-Adresse / MAC-Adresse / Hostname in einer XML-Datei (nmap.xml) aufzuzeichnen.
Ich habe ein PowerShell- Skript geschrieben, das die XML-Datei mischt und eine CSV- Datei ausspuckt . Dadurch werden auch die Down-Hosts herausgefiltert. Ich finde das einfacher in Excel zu verwenden als die XML-Datei. Ist hier das Index, wenn jedermann interessiert ist.
quelle
Scantype n not supported
. Anscheinend wird das Flag-sn
von Nmap 4.x nicht unterstützt.(Bei Cisco-Switches lautet der Befehl
show mac-address-table
).quelle
Wenn Sie von einem Unix-Computer aus die Computer ohne Betriebssystem im selben LAN und wenn möglich über einen Hub (keinen Switch) hören, können Sie dies versuchen
Möglicherweise möchten Sie es auch versuchen
wireshark
(von einem Computer mit Betriebssystem). Auch hier ist es besser, einen Hub zu verwenden, um jegliche Kommunikation von den BIOS-Computern, einschließlich Broadcasts, abzufangen.quelle
Das Grundproblem hierbei ist, dass es sich um Layer 2-Informationen handelt, die nur von Switches angezeigt werden. Einige Switches bieten eine Schnittstelle, über die Sie diese Informationen einsehen können. Wenn dies jedoch nicht der Fall ist, müssen Sie die physische Ebene abfangen, indem Sie z. B. einen Hub zwischen den Switches installieren.
Wenn Sie verwaltete Switches verwenden, sind diese Informationen wahrscheinlich über den Switch verfügbar. Einige vom Endbenutzer integrierte Router / Switches (wie die, die häufig auch ADSL-Modems verpacken) haben manchmal eine DHCP-Client-Liste, die MAC-Adressen enthält.
Wenn Sie nicht verwaltete Switches verwenden und diese Informationen wirklich benötigen, empfehlen wir Ihnen , einen Hub zu kaufen und den Switch vorübergehend durch einen anderen zu ersetzen. Sie können dann einen Computer mit Wireshark an den Hub anschließen und ARP-Pakete erfassen, um MAC-Adressen aufzuzeichnen. Alternativ können Sie Echolot verwenden, um dies für Sie zu tun - es verfolgt selektiv ARP-Pakete und erstellt eine MAC-Adressdatenbank.
quelle
Hier ist eine Lösung, die für mich funktioniert hat:
quelle
Ein sehr einfacher kleiner Trick, den Sie innerhalb von 2 Sekunden machen können, ist die Tatsache, dass jedes Betriebssystem eine Tabelle mit dem Mac und der IP-Adresse jedes Geräts schreibt, mit dem es interagiert. Dies ist als ARP TABLE bekannt. Die Frage ist also, wie eine Interaktion mit allen Geräten erzwungen werden kann. Sie können einfach die Broadcast-IP-Adresse anpingen. Dies ist nicht perfekt, da einige Geräte oder eine Firewall die ICMP-Ping-Anforderung blockieren können, dies funktioniert jedoch in vielen Szenarien.
Die Befehle lauten (in einer IPv4 192.168.0.255-Broadcast-Adresse):
In Linux verwenden:
Warten Sie einige Sekunden, bis die Geräte antworten, und führen Sie dann Folgendes aus:
Für IPV6-Ping siehe Giedrius Rekasius Kommentar
Nicht perfekt, aber keine Tools, keine Nachforschungen, keine Zeitverschwendung. Funktioniert in allen wichtigen Betriebssystemen und ist schnell.
quelle
ping6 -c2 -n ff02::1%wlan0
. Sie müssen lediglich den Namen der zu verwendenden Netzwerkschnittstelle aktualisieren. Die zu diesem Zweck zu verwendende IP-Adresse ist immerff02::1
unabhängig davon, in welchem Netzwerk Sie sich befinden.Scannen Sie das Netzwerk mit Nmap und überprüfen Sie die ARP-Tabelle (
arp -a
in Linux-Distributionen).quelle
Wie bereits erwähnt, gibt es bei nicht verwalteten Switches oder BootP / PXE keine einfache Möglichkeit, die MACs von Computern ohne Betriebssystem abzurufen.
Wenn auf Ihren Computern Windows ausgeführt wird, ist das Skript einfach (normalerweise über WMI).
Hier finden Sie eine Reihe von Beispielen: http://gallery.technet.microsoft.com/ScriptCenter/en-us/site/search?f[0‹.Type=SearchText&f[0‹.Value=MAC+address&x=0&y= 0
quelle
Ich wollte vorschlagen, die MAC-Adresstabelle zu wechseln, aber jemand hat diese oben bereits behandelt.
Wenn einer der Computer sind ein Betriebssystem ausgeführt wird und eine IP - Adressen haben, können Sie in das gleiche LAN verbinden, können Sie NMAP (oder eine GUI - Version wie Zenmap) von http://nmap.org/ ... wenn Sie laufen Wenn Sie sich im selben LAN befinden, sollten Sie MAC-Adressinformationen für alle Maschinen erhalten, die antworten.
Es wäre hilfreich, mehr darüber zu erfahren, warum Sie die MAC-Adressen abrufen müssen, falls es einen besseren Weg gibt, das gleiche Ergebnis zu erzielen.
quelle
Sie können ARP-Informationen beispielsweise mit einem kontinuierlich laufenden Arpalert sammeln. Damit haben Sie die ARP-Adressen, die nach dem Start angezeigt werden.
Bei ausgeschalteten Maschinen werden keine ARP-Antworten gesendet.
Um den Vorgang zu beschleunigen, können Sie auf dem Server, auf dem arpalert ausgeführt wird, einen nmap-Ping-Scan (nmap -sP) in Ihrem Netzwerk ausführen, um alle möglichen (aktiven und ausgeführten) Hosts zur Beantwortung Ihrer arp-Abfrage zu veranlassen. Wenn Sie später regelmäßig nmap ping scan ausführen, haben Sie bessere Chancen, einen in Kürze lebenden Host zu fangen.
Ausschnitt aus arpalert:
Ausschnitt aus nmap:
Schau dich hier um:
quelle
Ich benutze: nmap -sP 192.168.1.1/24
(Ersetzen Sie 192.168.1.1/24 durch Ihren IP-Bereich.)
Es werden Ihnen nur die Maschinen angezeigt, die in Betrieb sind, und Sie erhalten so etwas wie:
Wenn Sie kein Betriebssystem installiert haben, können Sie eine Linux Live-CD verwenden, nmap ist wahrscheinlich in den meisten von ihnen verfügbar
quelle