Je connais l'adresse IP d'un hôte sur mon propre réseau local. En utilisant cela, comment puis-je trouver son adresse MAC (sans avoir à y accéder physiquement)?
Si vous êtes sur une machine Windows, ouvrez une boîte de commande (Démarrer ... Exécuter ... cmd),ping
la machine cible de sorte que vous ayez pris contact avec elle , puis tapez la commande arp -a
pour afficher votre répertoire local. Table ARP, qui répertorie 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'utilitaire arp-scan
, 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)
La commande arping
est fournie avec le paquetage iputils
sous 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)
Essayer
getmac /s hostname
ou:
getmac /s IP
Pour ce faire, vous devez avoir un accès administrateur à la machine.
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 est la couche 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.
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
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.
Une autre façon est:
nbtstat -a 192.168.1.1
(remplacez 192.168.1.1
par l'adresse souhaitée)
De même, si getmac
est utilisé sur un ordinateur autre que Windows, vous obtiendrez:
ERREUR: le serveur RPC n'est pas disponible.
Tant qu'il n'y a pas de passerelle acheminant le trafic entre les ordinateurs, tout renifleur vous fournira ces informations.
Vous pouvez toujours consulter la table arp de votre routeur (dans certains cas, le routeur combine les tables de location arp et dhcp).