Existe-t-il une commande Linux qui me permet d'obtenir l'adresse MAC de mon routeur?
command-line
networking
user4650183
la source
la source
Réponses:
J'aime les one-liners:
arping
affiche le MAC associé à l'adresse IP de la passerelle par défaut à partir de la sortie deip route show match 0/0
, analysé parawk
.la source
iwconfig | grep "Access Point"
commande. Je pense que celle qui était coupée par deux était la version en cache de la connexion filaire, que j'ai débranchée pour essayer de m'assurer d'obtenir la route sans fil.N'utilisez pas les commandes obsolètes
ifconfig
(8),arp
(8) ouroute
(8). Utilisez la nouvelle commande qui les remplace et peut faire plus,ip
(8).Utilisez
ip route list
pour voir queldefault
routeur votre machine a. Cela devrait être une ligne commençant pardefault
(ou0.0.0.0
) et ayant l'adresse IP du routeur après. Si vous utilise IPv6, ajoutez simplement le-6
commutateurip -6 route list
.Pour voir l'adresse MAC de l'
default
adresse IP du routeur, utilisezip neigh
et recherchez la ligne avec l'adresse IP et l'adresse MAC aprèslladdr
.la source
Si vous ne connaissez pas l'IP de votre routeur, c'est probablement votre passerelle que vous pouvez obtenir à partir de la
route
commande :Notez la ligne avec les drapeaux
UG
. L'adresse dans laGateway
colonne de cette ligne est celle que vous recherchez. Suivez ensuite la suggestion de 2707974 avecarp -n
( envoyez une requête ping à l'adresse IP si elle n'apparaît pas au début) et recherchez la ligne correspondante:Ici, le MAC de votre routeur serait
00:11:22:33:44:55
.la source
arp -n | grep `route -n | awk '/UG/{print $2}'` | awk '{print $3}'
Voici une doublure qui fonctionne
dash
,bash
etzsh
:ip -4 route list 0/0
renvoie quelque chose comme:nous obtenons l'IP de cette ligne comme troisième champ avec
cut
et la ligne grep contenant cette IP et l'espace immédiat après la sortie du voisinage réseau. (un espace est nécessaire pour éviter la correspondance192.168.0.1
avec192.168.0.10
), la ligne correspondante ressemblerait à quelque chose comme:la source
echo ${info[5]^^}
N'est pas une solution complète, mais vous cochez arp -n.
la source
ping 192.168.0.1
), vous devriez alors avoir son adresse MAC sur le cache arp ...Il s'agit d'une version améliorée de la réponse de Grief. Il est possible pour ip -4 route list 0/0 de renvoyer plus d'une ligne (IP), auquel cas la ligne complète ne fonctionne pas. Ainsi, la version modifiée suivante utilise uniquement la première ligne renvoyée par la liste de routes ip -4 0/0.
la source