Gibt es einen Linux-Befehl, mit dem ich die MAC-Adresse meines Routers abrufen kann?
command-line
networking
user4650183
quelle
quelle
Antworten:
Ich mag Einzeiler:
arping
Zeigt den MAC an, der der Standard-Gateway-IP-Adresse aus der Ausgabe von zugeordnet istip route show match 0/0
, analysiert vonawk
.quelle
iwconfig | grep "Access Point"
Befehl. Ich denke, diejenige, die um zwei ausgeschaltet war, war die zwischengespeicherte Version der Kabelverbindung, die ich ausgesteckt habe, um sicherzustellen, dass ich die drahtlose Route erhalten habe.Verwenden Sie nicht die veralteten Befehle
ifconfig
(8),arp
(8) oderroute
(8). Verwenden Sie den neuen Befehl, der sie ersetzt und mehr kannip
(8).Verwenden
ip route list
Sie diesedefault
Option, um festzustellen, über welchen Router Ihr Computer verfügt. Das sollte eine Zeile sein, die mitdefault
(oder0.0.0.0
) beginnt und danach die IP-Adresse zum Router hat. Wenn Sie IPv6 verwenden, fügen Sie einfach den-6
Schalter hinzuip -6 route list
.Um die MAC-Adresse der
default
IP-Adresse des Routers anzuzeigen, verwenden Sieip neigh
die Zeile mit der IP-Adresse und der MAC-Adresse und suchen Sie danachlladdr
.quelle
Wenn Sie die IP Ihres Routers nicht kennen, ist es höchstwahrscheinlich Ihr Gateway, das Sie über den folgenden
route
Befehl erhalten können :Beachten Sie die Linie mit den Flags
UG
. Die Adresse in derGateway
Spalte dieser Zeile ist genau das, wonach Sie suchen. Dann folgen 2707974 Vorschlag mitarp -n
(ping die IP , wenn es nicht auf den ersten nicht angezeigt) und die passende Zeile finden:Hier wäre der MAC Ihres Routers
00:11:22:33:44:55
.quelle
arp -n | grep `route -n | awk '/UG/{print $2}'` | awk '{print $3}'
Hier ist ein Einzeiler, der funktioniert
dash
,bash
undzsh
:ip -4 route list 0/0
gibt so etwas zurück wie:Wir erhalten IP von dieser Zeile als drittes Feld mit
cut
und grep-Zeile, die diese IP und den unmittelbaren Speicherplatz danach von der Ausgabe der Netzwerkumgebung enthält. (Platz ist erforderlich, um eine Übereinstimmung192.168.0.1
mit zu vermeiden192.168.0.10
), die übereinstimmende Linie wäre ungefähr so:quelle
echo ${info[5]^^}
Ist keine vollständige Lösung, aber Sie überprüfen arp -n.
quelle
ping 192.168.0.1
anpingen (sagen wir ), sollten Sie seine MAC-Adresse im Arp-Cache haben ...Dies ist eine verbesserte Version von Griefs Antwort. Es ist möglich, dass die IP-4-Routenliste 0/0 mehr als eine Zeile (IP) zurückgibt. In diesem Fall funktioniert der gesamte Einzeiler nicht. Die folgende modifizierte Version verwendet also nur die erste Zeile, die die IP-4-Routenliste 0/0 zurückgibt.
quelle