web-dev-qa-db-fra.com

Répertoriez toutes les adresses MAC et les adresses IP associées dans mon réseau local (LAN)

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

80
Maythux

Vous pouvez utiliser l'utilitaire Nmap pour cela. Nmap est un utilitaire d'analyse de réseau gratuit.

Essayez juste:

Sudo nmap -sn 192.168.1.0/24

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

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

Utilisez 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 périphérique wlan0. Il indique 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, il suffit de remplacer le dernier chiffre par 0.

Ou comme le dit l'homme nmap:

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 du 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é "analyse du ping", mais vous pouvez également demander que les scripts de l'hôte traceroute et NSE soient exécutés.

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

Pour les attaquants, il est plus utile de connaître le nombre d'hôtes actifs que la liste fournie par l'analyse de la liste de chaque adresse IP et nom d'hôte.

Les administrateurs système trouvent souvent cette option intéressante. Il peut facilement être utilisé pour compter les machines disponibles sur un réseau ou pour surveiller la disponibilité du serveur. Cela s'appelle souvent un balayage de ping et est plus fiable que de faire un ping sur l'adresse de diffusion car de nombreux 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 demande d’écho ICMP, TCP SYN sur le port 443, TCP ACK sur le port 80, et une demande d'horodatage ICMP par défaut.

Lorsqu'ils sont exécutés par un utilisateur sans privilège, seuls les paquets SYN sont envoyés (à l'aide d'un appel connect) aux ports 80 et 443 de la cible.

Lorsqu'un utilisateur privilégié tente d'analyser des cibles sur un réseau Ethernet local, les demandes ARP sont utilisées sauf si --send-ip a été spécifié. L'option -sn peut être combinée à n'importe quel type de sonde de détection (les options -P*, à l'exclusion de . -Pn) pour une plus grande 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, il est recommandé d'utiliser ces techniques avancées. Sinon, des hôtes risquent de ne pas être détectés lorsque le pare-feu abandonne les sondes ou leurs réponses.

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

61
c0rp

arp lentement vous renverra une liste des adresses MAC et des adresses IP actives ou de leurs noms d'hôte, le cas échéant. Si vous voulez que cela aille plus vite, vous pouvez utiliser arp -n qui devrait ignorer les recherches DNS. Si vous devez l’analyser dans 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 (la plupart le font).


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

arp s'appuie sur des contacts antérieurs pour fonctionner. Cependant, à mon avis, les appareils modernes sont tous si bavards (vous devriez vraiment regarder Wirehark - c'est une éducation) au niveau de la diffusion qu'il est peu probable qu'un appareil soit présent sur le réseau sans au moins répondre à une émission. (Pour être sûr que vous pouvez d'abord envoyer une requête ping à tous les périphériques du réseau avec 10.10.0.255, vous obtiendrez probablement plus de 90% des périphériques.)

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

Juste pour jouer à travers les arguments rapidement ...

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

J'utilise arp-scan pour cela:

$ 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
35
jcrigby

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
16
user260894

Interface graphique

Vous pouvez 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. Exécuter le navigateur Avahi Zeroconf ou avahi-discover à partir d’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.

9
kiri
  1. Commencez par analyser le réseau pour savoir quels hôtes sont accessibles/en ligne à l'aide de nmap -sn 1.2.3.4/24 ou de fping -g 1.2.3.4/24.

  2. Interrogez ensuite l'adresse MAC correspondant à l'adresse IP en utilisant arpingname__. 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
far4d

Dans les cas où le protocole NetBIOS est pris en charge, je préfère utiliser

nbtscan 192.168.1.1-192.168.1.255.

3
Silveri

J'ai été intrigué par ce post. J'ai eu besoin de ça.

J'ai écrit un script Shell qui analyse la sortie arp à l'aide d'instructions awk et génère une sortie HTML. Si vous exécutez le script et redirigez la sortie vers un fichier HTML, il vous reste un fichier HTML indiquant 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 NIC.

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"

Il est utile d’exécuter d’abord une analyse nmap sur votre réseau local afin d’avoir des entrées dans la table ARP. Espérons que la mise en forme traduite. Vous pourriez améliorer ceci pour avoir le texte dans un format de tableau.

2
user38537

Après quelques travaux et recherches, j'ai découvert cette commande:

nmap -sP -PE -PA21,23,80,3389 192.168.1.*

nmap: Outil d'exploration de réseau et scanner de sécurité/port

-sP (ignorer l'analyse du port). Cette option indique à Nmap de ne pas effectuer d'analyse du 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é "analyse du ping", mais vous pouvez également demander que les scripts de l'hôte traceroute et NSE soient exécutés. Il s'agit par défaut d'une étape plus intrusive que l'analyse de liste et peut souvent être utilisé aux mêmes fins. Il permet une reconnaissance légère d'un réseau cible sans attirer beaucoup d'attention. Pour les attaquants, il est plus utile de connaître le nombre d'hôtes actifs que la liste fournie par l'analyse de la liste de chaque adresse IP et nom d'hôte.

-PE; -PP; -PM (ICMP Ping Types). Outre les types de découverte inhabituels des hôtes TCP, UDP et SCTP décrits précédemment, Nmap peut envoyer les paquets standard envoyés par le programme ping omniprésent. Nmap envoie un paquet ICMP de type 8 (demande d'écho) aux adresses IP cibles, en attendant un type 0 (réponse d'écho) des hôtes disponibles. Malheureusement pour les explorateurs de réseau, de nombreux hôtes et pare-feu les bloquent paquets, plutôt que de répondre comme l'exige la RFC 1122 [2]. Pour cette raison, les analyses ICMP uniquement sont rarement suffisamment fiables contre des cibles inconnues sur Internet. Mais pour les administrateurs système surveillant un réseau interne, ils peuvent constituer une approche pratique et efficace. Utilisez l'option -PE pour activer ce comportement de demande d'écho.

-A (options d'analyse agressives). Cette option active des options avancées et agressives supplémentaires.

21,23,80,3389 Ports dans lesquels effectuer la recherche

192.168.1.* Plage d'adresses IP. remplacer par le vôtre

1
Maythux

Après m'être fatigué d'utiliser nmap et ARP combo, j'ai créé ce petit programme qui interroge toutes les adresses MAC d'une plage d'adresses IP donnée: https://github.com/drkblog/findmacs

1
drk.com.ar

vous pouvez utiliser arp.

Cela vous montrera le MAC et l'adresse IP ..

0
user93206