Question Énumérer toutes les adresses MAC et leurs adresses IP associées sur mon réseau local (LAN)


Comment puis-je tout lister Adresses MAC et leurs associés Adresses IP des machines connectées à mon réseau local (LAN)?


76
2018-01-17 09:32


origine


il est important de comprendre que dès que vous traversez un équipement de niveau réseau de niveau 3, il ne sera pas possible d’obtenir le MAC et l’ip derrière cet équipement. - Kiwy
Pourquoi vous placez ! après un point d'interrogation? Ce n'est pas nécessaire et seulement utilisé dans les cas où la question est criée ou de grande importance. - kiri
@ minerz029 merci de préciser que - Maythux
sudo tail -f /var/log/messages, puis débranchez et rebranchez l'appareil que vous essayez de trouver l'adresse MAC ou grep / read à travers les messages pour trouver le périphérique. - IceArdor


Réponses:


Vous pouvez utiliser le Nmap utilitaire pour cela. Nmap est un utilitaire gratuit de scanner réseau.

Essayez juste:

sudo nmap -sn 192.168.1.0/24

Veuillez remplacer votre identifiant réseau et votre masque de sous-réseau.

Comment trouver un identifiant de réseau et un masque de sous-réseau

Utiliser la commande ip a:

bash~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether c4:85:08:94:ee:9a brd ff:ff:ff:ff:ff:ff
    inet 192.168.3.66/24 brd 192.168.3.255 scope global wlan0
    inet6 fe80::c685:8ff:fe94:ee9a/64 scope link valid_lft forever preferred_lft forever

Ici, au point 2, j'ai le wlan0 dispositif. Ça dit inet 192.168.3.66/24 brd 192.168.3.255 scope global wlan0, Adresse IP: 192.168.3.66, masque de sous-réseau: 24. L'ID réseau est 192.168.3.0, remplacez simplement le dernier chiffre par 0.

Ou comme homme nmap dit:

sudo nmap -sn 192.168.1.0/24

Voici une petite citation de la page de manuel, nmap (1):

-sn (No port scan)

Cette option indique à Nmap de ne pas effectuer d'analyse de port après la découverte de l'hôte et d'imprimer uniquement les hôtes disponibles ayant répondu à l'analyse. Ceci est souvent appelé un «scan de ping», mais vous pouvez également demander que les scripts d’hôte traceroute et NSE soient exécutés.

Ceci est par défaut une étape plus intrusive que l'analyse de liste, et peut souvent être utilisée aux mêmes fins. Il permet une reconnaissance légère d'un réseau cible sans attirer beaucoup d'attention.

Connaître le nombre d'hôtes en place est plus précieux pour les attaquants que la liste fournie par l'analyse de liste de chaque adresse IP et nom d'hôte.

Les administrateurs de systèmes trouvent souvent cette option intéressante. Il peut facilement être utilisé pour compter les machines disponibles sur un réseau ou surveiller la disponibilité du serveur. C'est   souvent appelé un balayage de ping, et est plus fiable que le ping à l'adresse de diffusion parce que beaucoup d'hôtes ne répondent pas aux requêtes de diffusion.

La découverte d'hôte par défaut effectuée avec -sn consiste en une requête d'écho ICMP, TCP SYN au port 443, TCP ACK au port 80 et une requête d'horodatage ICMP par défaut.

Lorsqu'elle est exécutée par un utilisateur non privilégié, seuls les paquets SYN sont envoyés (en utilisant un connect appel) aux ports 80 et 443 sur la cible.

Lorsqu'un utilisateur privilégié essaie d'analyser des cibles sur un réseau Ethernet local, les requêtes ARP sont utilisées à moins que --send-ip a été spécifié. le -sn L’option peut être combinée avec l’un des types de sondes de découverte (le -P* options, à l'exclusion -Pn) pour plus de flexibilité.

Si l'une de ces options de type de sonde et de numéro de port est utilisée, les sondes par défaut sont remplacées. Lorsque des pare-feu stricts sont en place entre l'hôte source exécutant Nmap et le réseau cible, l'utilisation de ces techniques avancées est recommandée. Sinon, les hôtes risquent de ne pas être détectés lorsque le pare-feu laisse tomber les sondes ou leurs réponses.

Dans les versions précédentes de Nmap, -sn était connu comme -sP.


54
2018-01-17 09:48



Ça ne fonctionne pas - Maythux
Cela devra être ajusté pour que 192.168.1.0/24 est changé pour la plage d'adresses IP de l'utilisateur. - kiri
@ minerz029 Bien sûr, j'ai changé l'adresse IP - Maythux
Je ne sais pas si c'est la raison, mais sous Linux j'utilise nmap -sP 192.168.1.0/24 pour une analyse ping. - tiktak
Savez-vous pourquoi les privilèges root sont nécessaires pour lire les adresses MAC du réseau? - Michael Aquilina


arp volonté lentement vous renvoyer une liste d'adresses MAC et d'IP actives ou de leurs noms d'hôtes s'ils en ont un. Si vous voulez que ça aille plus vite, vous pouvez utiliser arp -n qui devrait ignorer les recherches DNS. Si vous avez besoin d'analyser quelque chose arp -an ignorera les colonnes de largeur fixe.

$ arp
Address                  HWtype  HWaddress           Flags Mask            Iface
10.10.0.11               ether   00:04:ff:ff:ff:d0   C                     eth0
10.10.0.16               ether   00:04:ff:ff:ff:a6   C                     eth0
raspbmc.local            ether   00:1f:ff:ff:ff:9c   C                     eth0
10.10.0.19               ether   00:04:ff:ff:ff:c9   C                     eth0
10.10.0.12               ether   bc:f5:ff:ff:ff:93   C                     eth0
10.10.0.17               ether   00:04:ff:ff:ff:57   C                     eth0
10.10.0.1                ether   20:4e:ff:ff:ff:30   C                     eth0
HPF2257E.local           ether   a0:b3:ff:ff:ff:7e   C                     eth0
10.10.0.15               ether   00:04:ff:ff:ff:b9   C                     eth0
tim                      ether   00:22:ff:ff:ff:af   C                     eth0
10.10.0.13               ether   60:be:ff:ff:ff:e0   C                     eth0

Sinon, votre routeur devrait pouvoir vous donner une idée des périphériques actifs (le plus souvent).


modifier Selon le commentaire de davidcl, cette réponse n'est pas aussi parfaite que je l'avais espérée.

arp repose sur le contact précédent de quelque sorte pour travailler. Cependant, à mon avis, les appareils modernes sont tellement bavards (il faut vraiment regarder de nouveaux produits) que, au niveau de la diffusion, il est peu probable qu’un appareil soit présent sur le réseau sans au moins répondre à une diffusion. (Pour vous assurer que vous pouvez envoyer une requête ping à tous les périphériques du réseau avec 10.10.0.255 en premier, vous obtiendrez probablement plus de 90% des périphériques.)

Pour vous donner une idée de ce que je veux dire, 10.10.0.16 ci-dessus est notre PVR. Il n'y a pas d'interaction directe entre mon PC et le PVR et aucun service ne fonctionne sur le PVR (pas de UPNP / DLNA non plus).

Juste pour jouer rapidement les arguments ...

  • Mais qu'en est-il des pirates dans mon réseau? 1
    Ils peuvent également bloquer les pings ICMP. Ils peuvent bloquer toutes les réponses à chaque type de scan.
  • Oh mais sûrement nmap est toujours la meilleure solution possible
    Lorsqu'il est exécuté ici, il manque toujours quatre appareils. Quatre appareils actifs sur le réseau. Soit ils ne répondent pas aux pings ou nmap n'attend pas assez longtemps pour qu'ils répondent ... je ne sais pas. nmap est un excellent outil (surtout pour le scan de port que vous voudrez peut-être faire par la suite) mais c'est quand même un peu maladroit (et un peu lent) pour ce problème. Et ne m'appelle pas Shirley.

43
2018-01-17 10:00



Si je change mon identifiant MAC avec le changeur de mac, peut-il afficher l'original? - Ten-Coin
@BYEAskUbuntu si vous utilisez le changeur MAC, votre MAC est ce que vous définissez. Pour tous les utilisateurs du réseau, son origine est généralement inconnue, alors non, ce n'est pas possible. - Ruslan
@Ruslan C'est juste paranoïaque de les cacher ... Je suis sûr que ce serait assez difficile pour quelqu'un de faire quelque chose avec eux, mais on ne sait jamais qui vous traque. - Oli♦
Je suis surpris par cette réponse. "arp" n'affiche pas la liste des adresses MAC actives sur le réseau local. "arp" affiche une liste d'adresses MAC correspondant aux machines qui ont interagi avec la machine sur laquelle il est exécuté. S'il n'y a pas eu de communication entre l'ordinateur local et un autre ordinateur du réseau récemment, cette machine n'apparaîtra pas dans la liste "arp". - davidcl
Je viens de faire un test rapide sur mon réseau et arp affiche seulement environ 25% des périphériques existants. Si l'ordinateur exécutant arp n'a pas reçu de paquet d'un autre périphérique, il ne figurera pas dans la liste arp. Je serais intéressé à en savoir plus sur les périphériques que nmap n'a pas pu détecter sur votre réseau. il existe des moyens de se cacher de nmap mais j'ai trouvé le scan par défaut de nmap plutôt efficace. Cela dit, il n'y a pas de réponse fiable car si un périphérique ne génère pas de trafic et ne répond pas aux requêtes, il est invisible - mais la plupart des périphériques répondent à un certain type de requête. - davidcl


j'utilise arp-scan pour ça:

$ sudo arp-scan -l
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.8.1 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.2.1     ec:1a:59:61:07:b2       (Unknown)
192.168.2.50    90:59:af:3d:6d:bc       (Unknown)
192.168.2.51    3c:97:0e:48:22:12       (Unknown)
192.168.2.52    00:18:31:87:8f:b0       Texas Instruments

4 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.8.1: 256 hosts scanned in 1.282 seconds (199.69 hosts/sec). 4 responded

32
2018-01-17 20:42



Si vous souhaitez spécifier l’interface réseau, comme le sans fil, utilisez cette commande sudo arp-scan -l -I wlan0 - HarlemSquirrel
Oui, l'arp-scan est en effet le "meilleur outil pour le travail". - mivk
Cela ne fonctionne pas pour moi ... l'appareil ne répond pas pour une raison quelconque. - Andrew Wagner
faire arp-scan pour travailler je devais faire brew install arp-scan à OSX El Capitan. - jamescampbell


Vous pouvez utiliser arp-scan.

Installez en utilisant cette commande:

sudo apt-get install arp-scan

Pour répertorier toutes les adresses IP et les adresses MAC associées, utilisez:

sudo arp-scan --interface=eth0 --localnet

La sortie ressemblera à ceci:

Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.8.1 with 16777216 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.1.3 38:60:77:29:31:36   (Unknown)
192.168.1.8 4c:72:b9:7c:bb:7e   (Unknown)
192.168.1.110   00:15:17:5f:d2:80   Intel Corporate
192.168.1.111   00:ff:88:5f:fd:f0   (Unknown)
192.168.1.153   00:15:17:5f:d2:82   Intel Corporate
192.168.1.180   52:54:00:70:04:02   QEMU
192.168.1.199   52:54:00:fe:7f:78   QEMU

14
2018-03-24 07:04



Ce n'est pas de trouver un appareil qui n'a pas encore d'IP ... - Andrew Wagner


GUI

Tu peux essayer avahi-découvrir Install avahi-discover.

  1. Installez-le avec cette commande (ou en cliquant sur le lien ci-dessus):

    sudo apt-get install avahi-discover
    
  2. Courir Navigateur Avahi Zeroconf ou avahi-discover depuis un terminal.
  3. Vous devriez voir une fenêtre avec une liste de périphériques sur votre réseau local.
    L'adresse MAC sera la chaîne entre crochets.

Ligne de commande

Vous pouvez utiliser cette commande dans un terminal:

avahi-browse -a -t -d local

Il est installé par défaut.


8
2018-01-17 09:37



Est-ce que cela fonctionne pour montrer l'adresse MAC d'une machine qui n'exécute aucun service d'aucune sorte? - Eliah Kagan
Dans mon cas, cela ne fonctionne pas pour tous les appareils du réseau. C'est plutôt chouette, mais les clients stupides n'auront pas accès aux services avahi / upnp. - Oli♦


  1. Faites d'abord une analyse du réseau pour voir quels hôtes sont accessibles / en ligne en utilisant nmap -sn 1.2.3.4/24 ou fping -g 1.2.3.4/24

  2. Puis interrogez l'adresse MAC correspondant à l'adresse IP en utilisant arping. Pseudo-code à venir:

    for i in $(cat list-of-reachable-hosts)
    do 
        arping $i
    done
    
  3. Cheatery: consultez l'arp-cache de votre commutateur local; cela devrait vous donner un bon aperçu ...


5
2018-01-17 12:58





Dans les cas où le Protocole NetBIOS est supporté, je préfère utiliser

nbtscan 192.168.1.1-192.168.1.255.


3
2018-01-17 11:48



Cela détecte uniquement les clients prenant en charge le protocole NetBIOS (Windows et Linux + Samba). - Eric Carvalho


J'ai été intrigué par ce post. J'en ai eu besoin.

J'ai écrit un script shell qui analyse la arp sortie en utilisant awk instructions et génère une sortie HTML. Si vous exécutez le script et redirigez la sortie vers un fichier HTML, vous disposez d'un fichier HTML affichant l'adresse IP, l'adresse MAC complète et un lien vers la page de recherche IEEE OUI. Cela aide à déterminer le client par le biais du fabricant de carte réseau.

printf "<html>\n<title>LAN IPs and their MACs</title>\n<body>\n"
arp -a | awk '{print $2,$4}' | awk -F'[().: ]' '{print $2"."$3"."$4"."$5,$6,$7":"$8":"$9":"$10":"$11":"$12,"<a href=\"http://standards.ieee.org/cgi-bin/ouisearch?"$7$8$9"\">IEEE OUI Lookup "$7"-"$8"-"$9"</a><br>"}'
printf "\n</body>\n</html>\n"

Cela aide à exécuter un nmap Scannez d'abord votre LAN pour avoir des entrées dans la table ARP. Espérons que le formatage traduit. Vous pourriez créer ceci pour avoir le texte dans un format de tableau.


2
2018-01-21 08:46