Wie finde ich die MAC-Adresse eines Remote-Computers?


34

Ich kenne die IP-Adresse eines Hosts in meinem eigenen LAN. Wie kann ich damit seine MAC-Adresse finden (ohne physisch darauf zugreifen zu müssen)?

Antworten:


46

Wenn Sie auf einem Windows - Rechnern sind, öffnen Sie ein Eingabefeld (Start ... Ausführen ... cmd), pingdie Zielmaschine , so dass Sie mit ihm Kontakt aufgenommen haben , und dann den Befehl arp -aIhre lokale ARP - Tabelle anzuzeigen, die Liste IP-Adressen und ihre entsprechenden MAC-Adressen, z.

C:\Users\L3K> arp -a

Interface: 192.168.200.128 --- 0xb
  Internet Address      Physical Address      Type
  192.168.200.1         00-50-7f-c3-5c-88     dynamic
  192.168.200.2         00-50-7f-d1-e1-40     dynamic
  192.168.200.6         00-80-77-dd-a8-6b     dynamic

Wenn Sie auf einem Linux-basierten System arbeiten, installieren Sie das arp-scanDienstprogramm. Anschließend können Sie über eine Befehlszeile einen Scan Ihres Netzwerks anfordern - in meinem Fall:

sudo arp-scan 192.168.200.0/24

Wenn Sie eine andere Schnittstelle als Ethernet verwenden, z. B. WLAN, müssen Sie dies angeben, z

sudo arp-scan -I wlan0 192.168.200.0/24

Wenn Sie nicht wissen, welche Schnittstelle Sie verwenden, verwenden Sie einfach den entsprechenden Befehl unten.

ifconfig  (For Debian based OS such as Ubuntu)
ip link   (For OS like Arch Linux)

14
Funktioniert nur, wenn sich ein anderer Host im selben LAN-Segment befindet.
AnonymousLurker

@ Linker3000, Was ist der Punkt , der pingvor arp -a?
Pacerier

4
@Pacerier - Der Befehl arp zeigt den Inhalt des Cache des Address Resolution Protocol an, der IP-Adressen den Hardware-Adressen (Mac) zuordnet. Wenn Sie die Ziel-IP-Adresse nicht kontaktiert haben, wird sie nicht im Cache gespeichert. Mit Ping können Sie auf einfache Weise Kontakt mit ihm aufnehmen, um ihn dem Cache hinzuzufügen. Sie können jeden Netzwerkbefehl verwenden, es ist nur ein einfacher Ping-Befehl.
Kevin Jones

19

Der Befehl arpingwird mit dem iputilsPaket unter Linux geliefert. Geben Sie eine IP-Adresse für ping an und sie gibt die MAC-Adresse auch über Switches und Subnetze im LAN zurück (zumindest in unserem LAN).

# arping -c 1 -I eth0 10.100.10.11
ARPING 10.100.10.11 from 10.100.10.25 eth0
Unicast reply from 10.100.10.11 [00:22:68:88:F3:90]  0.594ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)

1
In Debian gibt es 2 Pakete: arpingund iputils-arping. Das arpingPaket hat bei mir funktioniert, obwohl die Netzwerkschnittstelle in Kleinbuchstaben angegeben ist i:arping -c 1 -i eth0 10.100.10.11
chronos

8

Versuchen

getmac /s hostname

oder:

getmac /s IP

Sie benötigen Administratorzugriff auf den Computer, um dies zu tun.


Warum nicht einfach welche verwenden, arp -adie keinen Administratorzugriff benötigen?
Pacerier

2

Wenn Sie über einen verwalteten Switch verfügen oder Ihr Router die ARP-Tabelle anzeigt, können Sie diese von dort abrufen.

Wenn der Computer, für den Sie die IP haben, online ist, können Sie ihn anpingen und seinen MAC von Ihrer lokalen ARP-Tabelle abrufen.

Ein allgemeiner Hinweis für andere: Es ist nicht möglich, die MAC-Adresse für Computer zu erhalten, die sich in einem anderen LAN befinden, da in diesem Fall Layer 3-Protokolle für die Adressierung und Zustellung verwendet werden und MAC Layer 2 ist.


Ich habe ihm keine Anweisungen gegeben, wie ich das machen soll.
GregD

2
Wenn Sie es auf dem Router anzeigen, rufen Sie einfach die Weboberfläche auf und gehen auf die Jagd. Genauer kann es nicht sein, da jeder Router ein anderes Layout und eine andere Seitengruppe für seinen Webadministrator hat. Scheint mir eine harte -1 zu sein, zumal ich mehr Infos gegeben habe als MaQleod.
Imoatama

2

benutze einfach so etwas wie:

nmap -n -sP 192.168.146.0/24

Nachdem Sie die Parameter an Ihr Setup angepasst haben, wird Ihr gesamtes Subnetz mit IP- und MAC-Adressen durchsucht



1

Befinden sich Ihr Computer und der Zielcomputer im selben Subnetz, können Sie einfach einen Ping-Befehl senden, um die IP⟷MAC-Zuordnung über das Address Resolution Protocol (ARP) zu registrieren.

ping -c1 $IP
arp -n | grep $IP

Zum Beispiel, wenn ich die IP von 10.1.135.150:

# ping -c1 10.1.135.150
PING 10.1.135.150 (10.1.135.150) 56(84) bytes of data.
64 bytes from 10.1.135.150: icmp_seq=1 ttl=64 time=1.88 ms

--- 10.1.135.150 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.883/1.883/1.883/0.000 ms

Fragen Sie dann die ARP-Tabelle ab

# arp -n | grep 10.1.135.150
10.1.135.150             ether   8c:ae:4c:f4:4d:e1   C                     eth0

Also der MAC von 10.1.135.150 ist 8c:ae:4c:f4:4d:e1


0

Solange es kein Gateway gibt, das den Datenverkehr zwischen den Computern weiterleitet, gibt Ihnen jeder Sniffer diese Informationen.


Danke für die Antwort Ofir. Gibt es eine Möglichkeit, dies zu tun, wenn der betreffende Host nicht erreichbar ist? Ja, ich könnte den ARP-Cache meines eigenen Hosts abfragen, aber er enthält derzeit leider nicht die IP, an der ich interessiert bin. Also habe ich mich gefragt, ob es eine Möglichkeit gibt, den ARP-Cache eines Zwischenrouters zu extrahieren und darin nachzuschlagen?
Frederick

0

Sie können jederzeit die ARP-Tabelle auf Ihrem Router abrufen (in einigen Fällen kombiniert der Router die ARP- und DHCP-Lease-Tabellen miteinander).


Genau das, wonach ich suche, aber welche Tools oder Befehle helfen mir dabei?
Frederick

Aber Moment mal, ich bin im selben LAN, also wird es keinen Router geben, oder?
Frederick

Typische LANs haben mindestens einen Router. Je nach Router haben Sie verschiedene Möglichkeiten, wie Sie darauf zugreifen können. Bei den meisten Heimroutern müssen Sie über das Webinterface darauf zugreifen, um diese Informationen zu finden. Bei komplexeren Routern können Sie über den Konsolenport telneten oder abfragen, um diese Informationen abzurufen.
MaQleod

0

Ein anderer Weg ist:

nbtstat -a 192.168.1.1

(durch 192.168.1.1gewünschte Adresse ersetzen )


Bei getmacVerwendung auf einem Nicht-Windows-Computer erhalten Sie außerdem Folgendes:

FEHLER: Der RPC-Server ist nicht verfügbar.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.