C'est le cas lorsque vous souhaitez vous connecter à l'un de vos PC et que vous n'avez pas d'idée précise de son adresse, lorsque vous voulez simplement vous assurer que votre réseau est sécurisé ou non, ou encore lorsque vous souhaitez trouver tous les périphériques cachés. Vous pouvez trouver tous les périphériques connectés, y compris les périphériques cachés, en utilisant l'analyse ARP.
ARP (Address Resolution Protocol) est un protocole utilisé dans les réseaux informatiques pour la communication entre les nœuds du réseau. Il permet de faire correspondre les adresses IP des dispositifs du réseau à leurs adresses MAC physiques. Lorsqu'un nœud du réseau souhaite envoyer des données à un autre nœud, il utilise le protocole ARP pour déterminer l'adresse MAC du destinataire en fonction de son adresse IP.
Sous Linux, la table ARP est stockée dans la RAM et contient les correspondances entre les adresses IP et les adresses MAC des autres périphériques du réseau. Vous pouvez visualiser le contenu de la table ARP sous Linux à l'aide de la commande arp -a. Linux fournit des outils permettant d'effectuer des opérations ARP, telles que l'ajout d'entrées ARP statiques ou l'effacement du cache ARP. L'ARP est un élément important dans le fonctionnement des réseaux TCP/IP et joue un rôle crucial dans la communication entre les périphériques d'un réseau local.
Chaque réseau informatique possède une adresse IP - tout le monde le sait. Vous êtes-vous déjà demandé à quel ordinateur était attribuée une adresse spécifique ? On sait qu'il existe différents réseaux - câblés, sans fil, ppp. Dans chaque réseau, l'adresse matérielle de la machine informatique a un format différent, qui dépend des caractéristiques de conception du réseau local.
Expliquons-nous, tout est en fait très simple. Pour convertir l'adresse physique en IP, on utilise le protocole de résolution d'adresses (ARP). Lorsqu'un ordinateur entre dans le réseau, il adresse une demande aux autres PC et pose la question suivante : "Qui possède l'adresse IP XXX.XXX.X.X.X
". La réponse n'est pas ignorée, mais elle est un peu différente : "C'est moi, mon adresse est xx:xx:xx:xx:xx:xx
". En d'autres termes, une adresse physique est envoyée en réponse. Cette adresse est enregistrée dans un tableau spécial.
Il convient de préciser que le format des messages ARP est extrêmement simple. Le message cache soit une requête avec une adresse IP, soit une réponse. La taille du message dépend du protocole - IPv4 ou IPv6 - et du type d'équipement réseau. L'en-tête du message spécifie les types et les tailles de ces messages. L'en-tête se termine par un code de message. Pour une requête, le code est 1, et pour une réponse, le code est 2. Le corps du message contient les quatre adresses, matérielles et de réseau, de l'expéditeur et du destinataire.
L'utilitaire ARP Scan, également appelé MAC Scanner, est un outil pratique et fonctionnel permettant d'analyser un réseau local Linux à l'aide de l'ARP. Le programme affiche les adresses Pv4 des périphériques du réseau. La particularité de l'ARP est qu'il n'implique pas de routage. Ce type d'analyse ne convient qu'aux réseaux locaux. Le programme détecte les appareils actifs, les ordinateurs ne peuvent pas se soustraire à l'ARP. Si un ordinateur doit être détecté en dehors du réseau local, on utilise le balayage ping.
Network Scanner est disponible pour les systèmes d'exploitation suivants :
Pour l'installation, nous allons effectuer :
$ sudo apt install arp-scan
Avec l'aide du programme, vous serez en mesure de trouver tous les ordinateurs actifs à la fois dans les réseaux Ethernet câblés et dans les réseaux sans fil Wifi. Les connexions PPP et SLIP ne sont pas fournies, car elles ne contiennent pas d'ARP. Vous devez travailler avec l'utilitaire avec les droits de super-utilisateur.
Au début, nous découvrons l'interface réseau à l'aide du programme ip
:
$ ip addr list
Nous voyons ici enp24s0
. La façon la plus simple de le faire avec ARP, en scannant et en quittant chaque PC connecté au réseau, est de lancer le programme en définissant les paramètres :
$ sudo arp-scan --interface=enp24s0 --localnet
Nous voyons le paramètre --interface
, spécifiant l'interface de balayage, et --localnet
, indiquant d'appliquer toutes les adresses IP possibles pour le réseau actuel.
Si nous omettons le premier paramètre, le programme recherchera tous les nœuds pour l'interface dont le numéro est le plus bas dans le système. Dans notre cas, il s'agit de enp24s0
.
Au lieu du paramètre --localnet, vous pouvez spécifier le masque de réseau :
$ sudo arp-scan --interface=enp24s0 10.0.1.0/24
ARP convient également si l'interface n'a pas sa propre adresse IP. Dans ce cas, l'adresse sortante est 0.0.0.0.0. Mais tous les systèmes ne répondent pas à une telle requête.
Il existe plusieurs raisons pour lesquelles l'ARP ne fonctionne pas correctement sur un réseau. Les problèmes les plus courants sont les suivants
Pour diagnostiquer et résoudre les problèmes ARP, il est recommandé de vérifier les paramètres du matériel réseau, d'analyser la configuration de l'adressage IP et d'utiliser des outils de surveillance et d'analyse du trafic réseau.