En tant qu'administrateur réseau, vous êtes probablement déjà très familiarisé avec le protocole ARP.
ARP est couramment utilisé par les appareils de couche deux afin de se découvrir et de communiquer facilement les uns avec les autres.
Lorsque vous avez affaire à un petit réseau de bureau, vous pourriez être tenté de pinger les hôtes afin de vérifier qu'ils sont disponibles.
Si vous utilisez le protocole ICMP, vous savez peut-être que vous effectuez en fait des requêtes ARP afin de sonder les appareils sur votre réseau.
Si vous recherchez un moyen plus simple de créer des pings ARP , vous pourriez être intéressé par la commande arping.
Dans ce tutoriel, nous allons nous concentrer sur la commande arping :comment l'installer et comment l'utiliser efficacement.
Prérequis
Afin d'installer la commande arping sur votre système, vous aurez évidemment besoin des privilèges sudo sur votre serveur.
Afin de vérifier si vous êtes sudo ou non, vous pouvez simplement exécuter la commande suivante
$ groups
user sudo
Si ce n'est pas le cas, vous pouvez lire notre guide sur l'obtention des privilèges sudo pour les hôtes Debian ou CentOS.
Installer l'arping sous Linux
Afin d'installer la commande arping sur votre serveur, exécutez la commande "apt-get install " et spécifiez le package "arping".
$ sudo apt-get install arping
Maintenant que la commande est installée, vous pouvez exécuter la commande "arping" afin de vérifier la version actuelle utilisée.
$ arping -v
ARPing 2.19, by Thomas Habets <[email protected]>
Génial !
La commande arping est maintenant installé sur votre serveur.
Par défaut, la commande arping va envoyer une requête ARP (ou ICMP) toutes les secondes, mais cela peut évidemment être configuré.
Utiliser l'arping pour découvrir les hôtes
Tout d'abord, comme tout appareil communiquant sur Ethernet, votre appareil dispose d'une table ARP interne utilisée pour communiquer sur le réseau.
Afin de voir vos entrées ARP actuelles, vous pouvez simplement exécuter la commande "arp" avec l'option "-a" pour tous les appareils.
$ arp -a
Lorsque vous utilisez la commande ARP, une liste de noms d'hôtes s'affiche, suivie des adresses IP et MAC.
Dans ce cas, on me présente la seule entrée de ma table ARP :un routeur accessible via l'adresse IP 192.168.178.1.
Cependant, je pourrais être intéressé à trouver d'autres hébergeurs sur mon réseau local :pour y parvenir, vous allez utiliser la commande arping.
Pinger les hôtes à l'aide d'adresses IP
Pour cingler les hôtes sur votre réseau, vous pouvez simplement utiliser la commande "arping" et spécifier l'adresse IP à cingler.
De plus, vous pouvez spécifier le nombre de pings à envoyer en utilisant l'option "-c" pour "count".
$ arping -c 2 <ip_address>
Remarque :si vous n'êtes pas sûr de la manière de trouver votre adresse IP sous Linux, nous avons un guide complet sur le sujet.
Par exemple, en utilisant l'adresse IP "192.168.178.27" sur votre réseau local, vous exécuterez la commande suivante
Comme vous pouvez le constater, si vous recevez des pings de réponse, l'adresse MAC de l'appareil correspondant vous est présentée.
Notez que l'utilisation de la commande arping ne mettra pas automatiquement à jour votre table ARP :vous devrez utiliser une commande telle que ping pour la mettre à jour.
$ arp -a
Génial, vous avez utilisé avec succès la commande arping afin d'émettre des requêtes ARP sur le réseau !
Délais d'attente ARP utilisant l'arping
Si la commande arping n'est pas en mesure de résoudre l'adresse IP de la cible définie, vous obtiendrez un délai d'attente ARP.
Par exemple, l'exécution d'une requête ARP sur un hôte inconnu vous donnerait le résultat suivant
$ arping -c 5 <ip_address>
Comme vous pouvez le voir, dans certains cas, un avertissement vous sera présenté si vous ne spécifiez aucune interface réseau.
C'est tout à fait normal car la commande arping s'attend à ce qu'une interface réseau soit spécifiée .
Si vous deviez avoir affaire à un routeur, ou si vous choisissiez d'installer votre serveur Linux en tant que routeur, deux cartes d'interface réseau peuvent être installées afin de router vers deux réseaux différents.
Si tel est le cas, l'arping doit connaître l'interface réseau qu'il doit utiliser pour envoyer le ping ARP.
Comme vous pouvez le voir, la commande arping essaiera de "deviner ” l'interface réseau si elle n'en est pas pourvue.
Spécification de l'interface réseau
Si vous avez plusieurs interfaces réseau sur votre serveur, l'arping ne pourra pas "deviner" la carte d'interface réseau à utiliser.
Par conséquent, vous pourriez recevoir un message d'erreur indiquant que l'arpège n'a pas pu deviner le bon.
Afin de spécifier l'interface réseau à utiliser, vous devrez utiliser l'option "-I" suivi du nom de l'interface réseau.
Si vous avez besoin d'aide pour énumérer les interfaces réseau, vous pouvez utiliser ce guide pour trouver votre adresse IP sous Linux.
$ arping -I <interface_name> <ip_address>
Si notre interface se nomme « enp0s3 », la commande serait la suivante :
$ arping -I enp0s3 192.168.178.22
Génial, vous avez envoyé un ping à votre serveur distant et vous avez spécifié l'interface réseau à utiliser !
Envoi de pings ARP depuis Source MAC
Dans certains cas, vous pouvez spécifier l'adresse MAC source à partir de laquelle vous envoyez les paquets.
Pour ce faire, vous devez exécuter la commande "arping" avec l'option "-s" pour "source" suivie de l'adresse MAC à laquelle vous souhaitez envoyer un ping.
$ arping -c 2 -s 00:60:70:12:34:56 <ip_address>
Dans ce cas, vous avez deux possibilités :
- Vous êtes le propriétaire de l'adresse MAC et vous pouvez simplement utiliser l'option "-s".
- Vous n'êtes pas le propriétaire de l'adresse MAC et vous essayez d'usurper l'adresse MAC. Dans ce cas, vous devez utiliser le mode promiscuité. Pour rappel, le mode promiscuité est configuré pour transmettre toutes les trames reçues par la carte réseau plutôt que celles qu'elle était censée recevoir.
Pour activer le mode promiscuité avec le "arping ", vous devez utiliser l'option "-p".
En utilisant les options que nous avons utilisées précédemment, cela nous mènerait à la commande suivante.
$ arping -c 2 -s 00:60:70:12:34:56 -p <ip_address>
Conclusion
Dans ce didacticiel, vous avez appris comment utiliser facilement l'arping pour envoyer un ping aux adresses IP de votre réseau local.
En utilisant arping, vous pouvez remplir votre cache ARP local avec l'adresse MAC correspondante.
Vous avez également appris que vous pouviez "usurper" votre adresse MAC en utilisant le mode promiscuité.
Si vous êtes intéressé par l'administration système Linux, nous avons une section complète qui lui est consacrée sur le site Web, alors assurez-vous de la consulter !