Abrufen der MAC-Adresse einer IP hinter einem Router

8

Ich möchte, wenn möglich, wissen, wie ich eine MAC-Adresse einer IP-Adresse erhalte, wenn ich mich hinter einem Router befinde.

Ich habe versucht, einen Ping an die IP zu senden und die Arp-Tabelle zu überprüfen, aber der einzige Eintrag ist der MAC des Routers.

Irgendwelche Ideen?

Danke fürs Lesen.

Macarse
quelle

Antworten:

20

MAC-Adressen werden von Routern nicht weitergegeben. Sie müssen sich die ARP-Tabelle des Routers ansehen.

Bearbeiten:

Ja, es ist unmöglich, es sei denn, Sie haben eine andere Form des Zugriffs auf die Maschine. Wenn Sie in das Netzwerk gelangen können, in dem es eingeschaltet ist (VNC, RDP, SSH), können Sie dies tun, ansonsten jedoch nicht.

Wenn Ihr Router Ihnen die ARP-Tabelle auf seiner Weboberfläche nicht zur Verfügung stellt, können Sie feststellen, ob Sie Telnet verwenden können: Viele Heimrouter verfügen über erweiterte Funktionen, die sie vor der Weboberfläche verbergen.

Dentrasi
quelle
Wenn ich keinen Zugriff auf die Arp-Tabelle des Routers habe, ist das unmöglich?
Macarse
1
Ja. ARP wird als nicht routbares Protokoll bezeichnet - es wird niemals außerhalb des lokalen Netzwerks ausgeführt. Wenn Sie MAC-Adressen anzeigen möchten, müssen Sie sich auf einem verbindungslokalen Gerät befinden, das entweder direkt verbunden ist oder über genügend Remotezugriff verfügt, um die ARP-Tabelle aufzulisten.
Kyle Brantley
5

Es kann nicht garantiert werden, dass Sie die MAC-Adresse von Computern hinter einem Router sehen können. Es gibt jedoch einige Protokolle, die Ihnen beim Auffinden der MAC-Adresse von überall im Netzwerk helfen können. Um beispielsweise die MAC-Adresse eines Windows-PCs in einem anderen Netzwerk zu ermitteln, wenn Sie dessen IP-Adresse kennen, können Sie den Befehl verwenden

nbtstat -A <IP Address>

Verwenden Sie den Befehl, um dasselbe auf einem Linux-Computer (mit installiertem Samba) zu tun

nmblookup -R -S -A <IP Address>

Wenn der betreffende Computer kein Windows-Computer ist und es keine Möglichkeit gibt, Teil eines anderen Subnetzes zu werden. Die einzigen Optionen sind die Anzeige der MAC-Adresstabelle im Router. Wenn ein gemeinsamer netzwerkweiter DHCP-Server vorhanden ist, können Sie die MAC-Adresse in den DHCP-Protokollen anzeigen. Aber ich denke, Sie müssen Administrator sein, um auf Router oder DHCP-Server zugreifen zu können.

Wenn sich in Ihrem Netzwerk viele Windows-Computer befinden, können Sie die MAC-Adresse für sie finden, auch wenn sie sich nicht in ihrem Subnetz befinden. Wenn das Netzwerk jedoch viele Linux-Computer enthält, gibt es keinen guten, sehr verbreiteten Weg, um MAC aus anderen Netzwerken zu finden.

Die obige Technik funktioniert nicht auf Linux-Samba-Servern. Sie geben die MAC-Adresse immer als 00-00-00-00-00-00 zurück.

Saurabh Barjatiya
quelle
3

Wenn sich die betreffende IP nicht in einem direkt verbundenen Subnetz des Routers befindet, befindet sich der MAC nicht in der ARP-Tabelle Ihres Routers.

ARP ist nur für den letzten Hop einer IP-Verbindung sichtbar / relevant (Schicht 2). Alles zwischen der ersten Routing-Entität und der letzten Routing-Entität ist Schicht 3, die nicht den ARP der Quell- oder Ziel-Entitäten verwendet, sondern den ARP der nächsten direkt verbundenen Routing-Entität.

James F.
quelle
2

Ich denke, was Sie wissen wollen, ist -

Wie können Sie den MAC für eine bestimmte IP (Maschine) finden, die nicht Teil Ihres Subnetzes ist?

Für alle Computer / IPs in Ihrem Subnetz wird die IP-MAC-Tabelle im ARP-Cache lokal auf Ihrem Computer gespeichert. Dies ist derselbe Cache, der "IP-Auflösungskonflikte" verursacht. mach ein einfaches

$ arp -a | grep specialIP

Nun zu dem Computer außerhalb Ihres Subnetzes - es gibt keinen Standard für die Regalanwendung, der dies tut. Ich habe versucht zu überlegen, ob eine ICMP-Nachricht dies kann, aber ich denke, dass es derzeit keinen gibt. Nun, die Art und Weise, wie Networking, eher Layering, entworfen wird, ist ein absichtlich unerwünschtes Verhalten. Um die Informationen zu umgehen oder zu entfernen, die für Schichten unterhalb der Gegenwart relevant sind, und wenn wir über das Netzwerk IP verwenden, wird kein MAC verwendet.

Wenn Sie auf dem anderen Computer zusammenarbeiten, können Sie eine kleine App schreiben, die den Mac-Header kapselt und an Sie sendet. Natürlich, wenn Sie auf dem anderen Computer zusammenarbeiten, warum so viel Aufwand eine einfache ifconfig -a erledigt den Job, der für alle Schnittstellen auf diesem Rechner gilt.

Vivek Sharma
quelle
1

Sie können nur Mac-Adressen von Hosts "sehen", die sich im selben Subnetz befinden. Anschließend können Sie alle Mac-Adressen mit dem Befehl arp auflisten:

arp -a

oder für eine einzelne IP-Adresse:

arp -a 192.168.0.1
splattne
quelle
Ich sagte, dass ich mich hinter einem Router befinde, also nicht im selben Subnetz.
Macarse
0

Wenn Sie Zugriff auf den Remote-PC oder einen PC im Remote-Netzwerk haben, können Sie WMI verwenden oder verschiedene Apps ausführen, um die MAC-Adresse anzugeben. Ich kann mir keinen anderen Weg vorstellen, wie Sie die MAC-Adresse erhalten würden.

JR

John Rennie
quelle
Nein, ich habe keinerlei Zugriff auf das Subnetz :(
Macarse
0

Kennen Sie den Hersteller des Geräts? In diesem Fall können Sie möglicherweise einen Teil des MAC erhalten.

http://aruljohn.com/mac.pl

Das einzige andere, woran ich denken kann, ist vxlan, aber ich bin sicher, es wäre schwieriger, dies einzurichten, als nur auf den Router zuzugreifen, der den MAC direkt haben würde.

https://tools.ietf.org/html/rfc7348

dmourati
quelle
0

Wie die Leute in der anderen Antwort sagten, ist ARP ein Schicht-2-Protokoll und nicht routingfähig, so dass das Scannen mit herkömmlichen Methoden keine MAC-Adressen zurückgibt. Beispiel

nmap -sn target

gibt nur MAC-Adressen von Geräten an, die sich im selben Netzwerksegment befinden. Es gibt zwei nmap-Skripte, die Helfer wie nbtstat und snmp verwenden

NBTSTAT Dies erfordert, dass der UDP-Port 137 auf dem Ziel geöffnet ist, auf dem sich der Befehl nmap befindet

nmap -sU --script nbtstat.nse -p 137 target

SNMP Dieses Protokoll muss funktionieren, der Port ist offen, damit wir Informationen über den MAC des Ziels erhalten. Auch UDP-Port 161

nmap -sU -p 161 --script=snmp-interfaces target

IPV6-Adressen Dies funktioniert beim Abrufen von MAC von IPv6- Adressen oder ähnlichen Adressen (Teredo, 6 bis 4 usw.). Ich habe es nur mit IPv6-Adressen versucht, auf denen sich ein Teil des Mac befindet

nmap -sV -sC target

(Dies ist der Befehl von nmap https://nmap.org/nsedoc/scripts/address-info.html ), aber beim Testen (auf internen fe80-Hosts) war ein -6 erforderlich

nmap -sV -sC -6 target 
Nassim
quelle
-2

Versuchen Sie namp Intense Scan: nmap -T4 -A -v IP-address

Mohammad Hessamzadeh
quelle
1
Entweder haben Sie die Frage nicht verstanden oder Sie haben keine Ahnung, wovon Sie sprechen. Ich sehe keine Hinweise darauf, dass dieser Befehl jemals die MAC-Adresse auf der anderen Seite eines Routers sehen würde. Selbst wenn es funktioniert hätte, wäre es keine gute Antwort gewesen, da Informationen darüber fehlen, wie es funktioniert.
Kasperd
-2

Ich weiß nichts über Router, aber wenn Sie eine IP-Adresse haben, können Sie nmap verwenden, um die Mac-Adresse auch in Ihrem lokalen Host zu erhalten. Sie können dies auch tun. Warum zum Teufel möchten Sie diese vom Router oder so etwas erhalten? Wenn dein Betriebssystem Linux ist, kannst du Macchanger oder viele andere Apps verwenden, also habe ich keine Ahnung, warum du das so machen willst.

M01
quelle
Ich denke, Sie haben das Wort Router in der Frage verpasst.
Kasperd