Comment trouver l'adresse MAC d'un ordinateur distant?

34

Je connais l'adresse IP d'un hôte sur mon propre réseau local. Avec cela, comment puis-je trouver son adresse MAC (sans avoir à y accéder physiquement)?

Frédéric
la source

Réponses:

46

Si vous êtes sur une machine Windows, ouvrez une boîte de commande (Démarrer ... Exécuter ... cmd), pingla machine cible afin que vous ayez pris contact avec elle , puis lancez la commande arp -apour afficher votre table ARP locale, qui répertoriera Les adresses IP et leurs adresses MAC correspondantes, par exemple,

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

Si vous êtes sur un système Linux, installez l' arp-scanutilitaire, puis à partir d'une ligne de commande, vous pouvez demander une analyse de votre réseau - dans mon cas:

sudo arp-scan 192.168.200.0/24

Si vous utilisez une interface autre que Ethernet, par exemple sans fil, vous devrez spécifier cela, par exemple:

sudo arp-scan -I wlan0 192.168.200.0/24

Si vous ne savez pas quelle interface vous utilisez, utilisez simplement la commande appropriée ci-dessous.

ifconfig  (For Debian based OS such as Ubuntu)
ip link   (For OS like Arch Linux)
Linker3000
la source
14
Ne fonctionnera que si un autre hôte se trouve sur le même segment de réseau local.
AnonymousLurker
@ Linker3000, quel est le point d' pingavant arp -a?
Pacerier
4
@Pacerier - La commande arp affiche le contenu du cache du protocole de résolution d'adresses, qui mappe les adresses IP sur les adresses matérielles (mac). Si vous n'avez pas contacté l'adresse IP de la cible, elle ne sera pas dans le cache. Ping est un moyen simple de le contacter pour l’ajouter au cache. Vous pouvez utiliser n’importe quelle commande réseau, c’est juste que le ping est facile.
Kevin Jones
19

La commande arpingest livrée avec le iputilspaquet sur Linux. Spécifiez une adresse IP à ping et renvoie l'adresse MAC, même entre les commutateurs et les sous-réseaux du réseau local (du moins sur notre réseau local).

# 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)
Joe Zacky
la source
1
Dans Debian, il y a 2 paquets: arpinget iputils-arping. Le arpingpaquet a fonctionné pour moi, bien que l'interface réseau soit spécifiée avec une minuscule i:arping -c 1 -i eth0 10.100.10.11
chronos
8

Essayer

getmac /s hostname

ou:

getmac /s IP

Pour ce faire, vous devez disposer d'un accès administrateur à la machine.

Patrick
la source
Pourquoi ne pas simplement utiliser arp -ace qui ne nécessite pas d'accès administrateur?
Pacerier
2

Si vous avez un commutateur géré ou si votre routeur vous permet d'afficher sa table ARP, vous pouvez l'obtenir à partir de là.

Si l'ordinateur pour lequel vous avez une adresse IP est en ligne, vous pouvez lui envoyer une requête ping et obtenir son adresse MAC de votre table ARP locale.

Remarque générale pour l’intérêt des autres: il n’est pas possible d’obtenir l’adresse MAC des machines situées sur un réseau local différent, car les protocoles de couche 3 sont utilisés pour l’adressage et la remise dans ce cas, et MAC correspond à la couche 2.

imoatama
la source
Ne lui a pas vraiment donné d'instructions sur "comment" faire cela.
GregD
2
Dans le cas de le visualiser sur le routeur, il vous suffit d’aller à l’interface Web et de chercher. Ne peut pas être beaucoup plus spécifique que cela puisque chaque routeur a une disposition différente et un ensemble de pages pour son administrateur Web. Cela me semble sévère, surtout que j'ai donné plus d'informations que MaQleod.
imoatama
2

juste utiliser quelque chose comme:

nmap -n -sP 192.168.146.0/24

après l’adaptation des paramètres à votre configuration, cela analysera tout votre sous-réseau en donnant les adresses IP et MAC.

sparkie
la source
1

Vous pouvez utiliser un utilitaire tel que http://trogonsoftware.com/trogon-mac-scanner.html ou un autre scanneur d'adresses ip \ mac pour rechercher sur le réseau les adresses des ordinateurs distants en réseau.

boogoo
la source
Il existe de nombreuses options gratuites aussi ... recherche de "scanner IP"
JoshP
1

Si votre machine et la machine cible se trouvent sur le même sous-réseau, vous pouvez simplement lui envoyer une requête ping pour que son association IP⟷MAC soit enregistrée via le protocole ARP (Address Resolution Protocol).

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

par exemple si je veux trouver l'adresse IP de 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

Puis interrogez la table ARP

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

Donc, le MAC de 10.1.135.150 est 8c:ae:4c:f4:4d:e1

RobM
la source
0

Tant qu'il n'y a pas de passerelle acheminant le trafic entre les ordinateurs, tout renifleur vous fournira ces informations.

Ofir
la source
Merci pour la réponse Ofir. En tant que sous-question, y a-t-il un moyen de faire cela si l'hôte en question est en panne? Oui, je pourrais interroger le cache ARP de mon propre hôte, mais il ne contient malheureusement pas l'adresse IP qui m'intéresse. Je me demandais donc s'il existait un moyen d'extraire le cache ARP d'un routeur intermédiaire et de le consulter?
Frederick
0

Vous pouvez toujours consulter la table arp de votre routeur (dans certains cas, le routeur combine les tables de location arp et dhcp).

MaQleod
la source
Exactement ce que je recherche, mais quels outils ou commandes m'aideront à le faire?
Frederick
Mais attendez une minute, je suis sur le même réseau local, il n'y aura donc pas de routeur, n'est-ce pas?
Frederick
Les réseaux locaux typiques auront au moins un routeur. Selon le routeur, vous avez différentes options pour l'obtenir. La plupart des routeurs domestiques dont vous avez besoin pour y accéder à l'aide de l'Interface Web afin de trouver cette information, des routeurs plus complexes vous permettent d'entrer par telnet ou d'interroger via le port de la console afin d'obtenir ces informations.
MaQleod
0

Une autre façon est:

nbtstat -a 192.168.1.1

(remplacez 192.168.1.1par l'adresse désirée)


En outre, si getmacest utilisé sur un ordinateur autre que Windows, vous obtiendrez:

ERREUR: le serveur RPC n'est pas disponible.

Pacerier
la source