Top 15 des commandes Linux pour administrer et diagnostiquer le réseau

Commandes et Système

Top 15 des commandes Linux pour administrer et diagnostiquer le réseau

I. Présentation

Découvrez 15 commandes indispensables pour gérer le réseau en ligne de commande sous Linux. Que ce soit pour afficher la configuration réseau, diagnostiquer un problème de connectivité, tester un port ou encore analyser le trafic réseau, il y a des commandes à connaître.

Si vous débutez dans l’administration de Linux, si vous souhaitez approfondir vos compétences, ou simplement si vous recherchez un mémo des commandes réseau à connaître sur Linux, vous êtes au bon endroit. En effet, cet article évoque des commandes variées correspondantes à différents types de besoins !

II. Linux : afficher la configuration réseau

A. La commande ip a

Fut un temps où il était nécessaire d’utiliser la commande “” sur Linux pour afficher sa configuration réseau. Cela pouvait être utile pour afficher l’adresse IP d’une machine ou simplement récupérer le nom de la carte réseau. Désormais, la commande “”, qui est une abréviation de “”, doit être utilisée. Elle est intégrée à la collection d’utilitaires nommée iproute2.

C’est la méthode à privilégier, et surtout, la commande “” n’est plus reconnue (même si cela dépend de l’environnement sur lequel vous exécutez la commande). Si la commande “” est introuvable sur une machine, vous savez pourquoi.

Exemples d’utilisation de la commande :


Ce simple appel affiche toutes les interfaces réseau et leurs informations détaillées, notamment les adresses IPv4 et IPv6. Si vous souhaitez afficher des informations sur une interface précise uniquement, vous pouvez utiliser cette commande :


B. La commande netplan

En matière de gestion du réseau, il y a également Netplan, un outil de configuration du réseau, positionné au-dessus des gestionnaires de configuration réseau “systemd-networkd” et “NetworkManager“. Il est présent par défaut sur Ubuntu, et compte tenu de la popularité de ce système et de la disponibilité de Netplan sur Debian, il me semble important de vous en parler dans cet article.

Ainsi, vous devez être capable, à minima, d’afficher la configuration de Netplan lorsqu’il est utilisé pour gérer le réseau sur une machine Linux.

Exemple d’utilisation de la commande :


Cette commande affiche la configuration détaillée de toutes les interfaces. Les adresses MAC sont aussi précisées, tout comme les routes.

Vous pouvez approfondir le sujet en lisant ce tutoriel :

C. La commande ip route

La commande “” n’affiche pas la route par défaut utilisée par la machine Linux. Pour afficher et modifier la table de routage sur Linux, et donc afficher l’itinéraire par défaut, il convient de s’orienter vers la commande “”.

Exemples d’utilisation de la commande :


Cette commande affiche les routes en cours d’utilisation, notamment la passerelle par défaut et les itinéraires spécifiques définis sur le système.

Pour définir une nouvelle passerelle par défaut, voici la syntaxe à adopter. Ici, l’adresse IP “192.168.14.2” sera définie comme passerelle par défaut.


Si besoin, vous pouvez aussi spécifier l’interface de sortie, ici “ens33” :


III. Linux : tester la connectivité réseau

A. La commande ping

Doit-on encore présenter la commande “” ? À la fois incontournable et basique, elle reste très utile pour le diagnostic de premier niveau sur un réseau. La commande envoie une série de paquets ICMP (Internet Control Message Protocol) à un hôte de destination (adresse IP, nom) pour vérifier s’il est joignable et mesurer le temps de réponse.

Exemples d’utilisation de la commande :

Vous pouvez effectuer un simple en spécifiant la commande suivante. Par défaut, le est continu sur Linux, donc vous devez l’arrêter avec CTRL + C.


Si vous souhaitez limiter le nombre de paquets envoyés à quatre, vous pouvez utiliser l’option “”.


Ce qui donne :

Pour forcer le ping en IPv4 ou en IPv6, selon vos besoins, vous pouvez utiliser ces options :


Pour approfondir le sujet, vous pouvez lire cet article :

B. La commande traceroute

La commande “” permet d’afficher le chemin emprunté par un paquet jusqu’à sa destination, en identifiant chaque routeur traversé. Si vous n’arrivez pas à joindre un hôte, vous pouvez tenter d’identifier un point de blocage grâce à l’utilisation de cette commande. Cela peut aussi aider à comprendre où se situe la coupure sur un réseau, en cas d’échec de connectivité, même si la non-réponse de certains équipements peut rendre l’analyse plus difficile.

Exemples d’utilisation de la commande :


Si vous n’avez pas accès à cette commande, vous devez installer traceroute :


Ensuite, vous obtenez l’itinéraire en guise de résultat. Néanmoins, lorsque vous exécutez , des astérisques (*) peuvent s’afficher dans la console lorsque l’outil ne reçoit pas de réponse d’un routeur intermédiaire (timeout). Il peut s’agir simplement d’un filtrage effectué au niveau de l’équipement.

Par défaut, l’outil utilise des paquets UDP pour déterminer l’itinéraire. Si un pare-feu filtre ces paquets, vous pouvez essayer d’utiliser l’option “” pour basculer sur des paquets ICMP :


Sinon, vous pouvez aussi utiliser l’option “” pour utiliser des paquets TCP à la place d’UDP (et d’ICMP). Néanmoins, l’itinéraire pourra être déterminé de façon moins précise.


C. La commande mtr (My Traceroute)

Derrière la commande “” se cache en réalité un outil nommé My Traceroute qui présente l’avantage de combiner à la fois le et le . Bien qu’il s’utilise en mode console, son interface est claire et surtout, les données sont actualisées en temps réel. Nous avons donc droit à une visualisation plus dynamique du chemin réseau emprunté.

Exemples d’utilisation de la commande :


Un résultat comme celui-ci est obtenu :

Ici, le résultat contient peu d’informations, car il y a un filtrage sur le réseau. Mais, sur une autre machine, je suis parvenu à obtenir un résultat beaucoup plus réaliste. Ci-dessous, il s’agit de l’affichage de My Traceroute via WSL (cela ouvre une petite fenêtre indépendante avec les résultats). Par défaut, My Traceroute fonctionne en mode interactif.

Découvrez ci-dessous des exemples d’utilisation de My Traceroute pour mettre en pratique certaines options.


IV. Linux : analyser les connexions et le trafic réseau

A. La commande lsof

La commande “ “, dont le nom signifie “List Open Files“, est un outil permettant d’afficher les fichiers ouverts par les processus du système, y compris les connexions réseau actives.

Exemple d’utilisation de la commande :


Décortiquons cette commande pour comprendre l’intérêt de chaque option :

  • L’option “” affiche les connexions réseau ouvertes
  • L’otpion “” désactive la résolution des numéros de port en noms de service
  • L’option “” empêche la résolution DNS (augmente la rapidité d’exécution)

B. La commande ss

La commande ““, dont le nom signifie “socket statistics“, est une version plus moderne et plus rapide de l’outil . Elle va donc nous permettre d’obtenir des informations sur les connexions réseau. La transition de à est facile puisqu’il y a les mêmes options.

Exemple d’utilisation de la commande :


Cela fournit une vue détaillée des connexions réseau en cours et des processus associés. C’est notamment très utile pour obtenir la liste des ports en écoute sur la machine locale, grâce à la lecture de la colonne “Local Address:Port“.

Voici d’autres exemples d’utilisation de :


Remarque : la commande , bien que très utile et encore populaire aujourd’hui, est considérée comme obsolète. C’est pour cette raison qu’elle n’a pas été mise en avant dans cet article.

Vous pouvez approfondir ce sujet avec ces tutoriels :

C. La commande tcpdump

L’outil “”, associé à une commande du même nom, est très utile pour capturer et analyser les paquets réseau en temps réel. Il est souvent utilisé pour diagnostiquer des problèmes de communication réseau, examiner le trafic entrant et sortant, ou détecter d’éventuels flux malveillants. C’est en quelque sorte une alternative à Wireshark, mais en ligne de commande.

Il intègre de nombreuses options pour créer des filtres et ainsi capturer uniquement certains paquets. Par exemple, il permet de filtrer les paquets en fonction de critères comme l’adresse IP, le port ou le protocole utilisé.

Exemples d’utilisation de :

Commençons par l’exemple le plus basique, mais qui n’est pas forcément le plus pratique. Avec cette commande, tcpdump capture et affiche tous les paquets sur l’interface ens33, en temps réel.


Vous pouvez arrêter la capture à tout moment avec le raccourci clavier CTRL + C.

Pour capturer uniquement les requêtes DNS avec , vous pouvez utiliser la commande suivante pour ajouter un filtre sur le port 53 :


L’image ci-dessous montre les échanges DNS entre la machine locale et un serveur DNS, en l’occurrence ici le serveur 1.1.1.1.

Nous pourrions aussi capturer uniquement les paquets échangés avec l’hôte dont l’adresse IP est 192.168.1.254. Nous ajoutons pour cela un filtre basé sur l’option .


Ici, nous pouvons constater que des paquets ICMP (ping) sont échangés entre les deux machines :

Remarque : vous pouvez coupler l’utilisation de avec pour affiner en temps réel la sortie de la capture de paquets.

V. Linux : diagnostiquer la résolution DNS

A. La commande nslookup

La commande “” que l’on retrouve aussi sur d’autres OS comme Windows, permet d’interroger un serveur DNS pour obtenir l’adresse IP associée à un nom de domaine (ou l’inverse). Voici quelques cas d’utilisation de cette commande :

  • Résolution d’un nom de domaine en adresse IP.
  • Interrogation d’un serveur DNS spécifique pour une résolution.
  • Obtention des enregistrements DNS (MX, CNAME, TXT, etc.).
  • Test de la résolution inverse (enregistrements PTR) pour obtenir le nom de domaine associé à une adresse IP.

Exemples d’utilisation de :


Cela renvoie l’adresse IP correspondant au domaine it-connect.fr. La réponse peut varier, notamment lorsqu’il s’agit d’un site web derrière une solution comme Cloudflare. Au-delà de la réponse, nous savons également quel serveur DNS a été interrogé, ici le serveur 1.1.1.1.

Pour interroger un serveur DNS spécifique, vous n’avez qu’à préciser son adresse IP, après le nom d’hôte à résoudre.


Vous pouvez également consulter des enregistrements spécifiques, par exemple, ceux de type “TXT” qui fourniront des informations plus spécifiques (sur le SPF, par exemple).


Si n’est pas installé sur votre machine, vous pouvez l’obtenir à partir des dépôts officiels. Sur Ubuntu et Debian, cet enchaînement de commandes suffira :


Pour approfondir le sujet et en savoir plus sur cet outil, consultez cet article :

B. La commande dig

Lorsqu’il est question de diagnostiquer un problème DNS ou d’obtenir des informations sur un hôte, la commande “” est aussi très intéressante. Cet outil, dont le nom signifie “Domain Information Groper” est un véritable couteau-suisse pour effectuer des requêtes DNS.

En comparaison de , l’outil fournit des informations plus détaillées sur les enregistrements DNS d’un domaine. Il est particulièrement utilisé analyser précisément les réponses des serveurs DNS.

Exemples d’utilisation de :

Il peut s’utiliser de façon aussi simple que nslookup où l’on précise simplement le nom d’hôte à résoudre.


Cette commande affiche l’enregistrement DNS correspondant au domaine ciblé, ainsi que le temps de réponse et le serveur DNS sollicité.

Un exemple de commande que l’on ne peut pas faire avec est la requête permettant d’afficher la chaîne complète de la résolution DNS ! Pour cela, vous devez simplement ajouter l’option “” comme ceci :


Cette commande permet de suivre toutes les étapes de la résolution DNS (donc toutes les réponses), depuis les serveurs racine jusqu’au serveur de noms final du domaine. La sortie affiche d’abord la requête envoyée au serveur racine, puis le chemin suivi à travers les serveurs de noms successifs jusqu’à la résolution complète du domaine. Ci-dessous un aperçu du résultat, qui peut être exploité pour diagnostiquer un problème de propagation DNS.

Ci-dessous d’autres exemples d’utilisation pratiques de cette commande :


VI. Linux : scanner et tester des ports

A. L’outil netcat et la commande nc

Netcat, que l’on abrège bien souvent en “” puisqu’il s’agit du nom de la commande, est un outil polyvalent capable d’accomplir des tâches variées. En effet, nous pouvons l’utiliser dans une grande variété de cas d’usage, parmi lesquels :

  • Scanner des ports pour détecter ceux qui sont ouverts
  • Tester l’ouverture d’un port sur une machine distante.
  • Écouter sur un port en mode serveur pour recevoir des connexions.
  • Établir une connexion TCP/UDP vers un hôte distant.
  • Effectuer un transfert de fichiers entre deux machines.
  • Etc….

Exemples d’utilisation de :

Commençons par utiliser netcat pour voir si le port 3389 est ouvert sur une machine :


L’option “” est utilisée pour effectuer les scans de port, tandis que la seconde option correspond au mode verbeux. Si la connexion réussie, le message suivant sera retourné :


Dans le cas où le port n’est pas ouvert, un message semblable à celui-ci sera retourné :


Pour scanner une plage de ports, vous pouvez utiliser cette syntaxe (de 10 à 1000, ici) :


Le résultat du test, pour chaque port, sera indiqué dans la console. Pour définir un délai d’expiration (timeout) personnalisé, vous devez utiliser l’option “” avec une valeur en seconde à la suite. Voici un exemple :


En complément, découvrez d’autres exemples d’utilisation de la commande :


Les exemples ci-dessus montrent qu’il est même possible de lancer un shell entre deux machines avec netcat ! Cette commande très polyvalente doit donc être utilisée de façon responsable et éthique.

Pour approfondir le sujet, vous pouvez lire cet article :

B. L’outil nmap

Faut-il encore présenter l’outil Nmap ? Surtout sur IT-Connect où nous avons publié un cours complet pour apprendre à utiliser Nmap. Cet outil est très puissant pour effectuer des scans de port, détecter les machines connectées à un réseau et même effectuer de la recherche de vulnérabilités. Il s’utilise avec une commande nommée tout simplement “ qui prend en charge de nombreux paramètres.

Exemples d’utilisation de :

L’exemple ci-dessous est utile pour scanner les ports 80, 22 et 3389 sur une machine. Nous pourrions aussi scanner plusieurs machines, un réseau complet, et même une plage de ports.


Ici, le port 3389 semble bien ouvert sur la machine analysée, contrairement aux deux autres ports testés.

Ci-dessous, d’autres exemples d’utilisation, mais ce n’est qu’un aperçu très réduit des possibilités offertes par cet outil. Consultez notre cours si vous désirez approfondir le sujet.


VII. Linux : tester la bande-passante

A. La commande iperf

La commande “” correspond à un outil de mesure de la bande passante réseau permettant d’évaluer les performances d’une connexion en générant du trafic entre deux machines. Il convient donc de disposer de l’outil iperf sur les deux machines.

Pour rappel, trois caractéristiques fondamentales déterminent la qualité d’un lien :

  • la latence (aussi appelé temps de réponse et abrégé en RTT) se mesurant la plupart du temps via une commande ping.
  • La gigue (aussi appelée jitter ou variation de la latence).
  • La perte de paquets.

Exemples d’utilisation de la commande :

Vous devez commencer par installer l’outil sur chaque machine :


Puis, mettez en écoute la première machine qui va réceptionner le trafic (serveur) :


Ensuite, sur la machine cliente (qui envoie du trafic vers le serveur), exécutez cette commande :


Ainsi, nous obtenons un résultat tel que celui présenté sur l’image ci-dessous. Il montre que le serveur iperf écoute sur le port TCP 5001. Il a reçu une connexion depuis une machine cliente (192.168.14.99). Le test de débit a duré environ 10 secondes, transférant 5.99 Go de données à un débit de 5.15 Gbit/s. Ce résultat indique la bande passante disponible entre les deux machines, avec une connexion TCP !

Ci-dessous, d’autres exemples d’utilisation de cet outil afin de ne pas utiliser les options par défaut :


Pour approfondir le sujet, vous pouvez lire cet article :

B. La commande speedtest

Vous connaissez le service Speedtest de chez Ookla ? Sachez qu’il existe un outil en ligne de commande nommé simplement “” permettant de mesurer la vitesse de connexion Internet. Ce test de débit s’appuie donc sur les services d’Ookla.

Exemple d’utilisation de :

Commencez par installer l’outil sur votre machine en utilisant les commandes officielles fournies sur le site de Speedtest.


Ensuite, vous pouvez exécuter un test de débit via cette commande :


Cela lance un test de vitesse de téléchargement et d’envoi en interrogeant le serveur le plus proche. Vous pouvez explorer les options pour sélectionner le serveur Speedtest de votre choix, notamment via l’option “” pour lister les serveurs disponibles.

Pour approfondir le sujet, voici notre tutoriel dédié à Speedtest :

VIII. Conclusion

Ces 15 commandes couvrent un large éventail de besoin pour administrer le réseau sous Linux, mais aussi pour effectuer un diagnostic sur un problème lié au réseau ! Maîtriser ces outils et ces commandes est une bonne base pour tout administrateur réseau ou sysadmin souhaitant être à l’aise sous Linux.

Qu’en pensez-vous ? Auriez-vous aimé voir d’autres commandes ajoutées à cette liste ? Nous attendons vos réactions en commentaire !

SOURCE