La commande netstat sous Linux

netstat (abréviation de « network statistics ») est un outil en ligne de commande pour surveiller les connexions réseau, diagnostiquer des problèmes et collecter des données importantes liées au réseau. Disponible sur Linux, Windows et macOS, il fournit des informations en temps réel sur les connexions TCP et UDP actives, les ports à l’écoute, les tables de routage et les interfaces réseau.

Bien que les distributions Linux modernes soient passées à ss (socket statistics) en raison de ses meilleures performances et de sa sortie plus détaillée, netstat reste utile pour le dépannage des problèmes réseau et l’analyse de sécurité.

Dans cet article, nous aborderons tout ce que vous devez savoir sur la commande netstat sous Linux, de la syntaxe et des options à des exemples pratiques. À la fin de ce guide, vous saurez utiliser netstat efficacement pour gérer l’activité réseau sur votre système.

syntaxe de la commande netstat

La syntaxe de base de la commande netstat est :

netstat [options]

L’exécution de netstat sans options affichera une liste des connexions réseau actives et des statistiques de sockets comme ceci :

La première section de la sortie affiche les connexions actives avec six colonnes :

  • Proto – affiche le protocole utilisé (TCP ou UDP).
  • Recv-Q – indique le nombre d’octets reçus en attente de traitement.
  • Send-Q – indique le nombre d’octets dans la file d’envoi en attente de transmission.
  • Adresse locale – affiche l’adresse IP et le numéro de port de la machine.
  • Adresse distante – affiche l’adresse IP et le numéro de port du système distant connecté à la machine.
  • État – indique l’état de la connexion, comme LISTEN, ESTABLISHED ou TIME_WAIT.

Par ailleurs, vous verrez des statistiques du domaine UNIX dans la deuxième section, qui incluent :

  • Proto – indique le protocole utilisé.
  • RefCnt – affiche le compteur de références du socket.
  • Drapeaux – affiche les drapeaux du socket, tels que ACC (acceptation) ou W (écriture possible).
  • Type – indique le type de socket, tels que STREAM, DGRAM ou SEQPACKET.
  • État – affiche l’état actuel du socket.
  • I-Node – représente le numéro d’inode associé au socket.
  • Path – affiche le chemin du système de fichiers pour le socket, le cas échéant.

options de la commande netstat

Comme la plupart des commandes Linux, netstat propose plusieurs options pour personnaliser sa sortie. Voici quelques-unes des options les plus couramment utilisées :

Option Description.
-a Affiche toutes les connexions actives, y compris les sockets en écoute et non en écoute.
-l Répertorie uniquement les sockets à l’écoute.
-t Affiche uniquement les connexions TCP.
-u Affiche uniquement les connexions UDP.
-r Affiche la table de routage du système.
p { Affiche l’identifiant de processus (PID) et le nom du programme associés à chaque connexion.
-n Affiche des adresses numériques au lieu de résoudre les noms d’hôte.
-s Affiche les statistiques des protocoles pour TCP, UDP et les autres protocoles pris en charge.
-i Répertorie les interfaces réseau et leurs statistiques.
–version Vérifie la version de netstat installée sur le système.

Vous pouvez également combiner plusieurs options pour filtrer des détails spécifiques. Par exemple, pour lister toutes les connexions TCP et UDP à l’écoute avec des adresses numériques et les processus associés, tapez :

netstat -tunlp

Exemples de la commande netstat

Contrairement à d’autres outils de surveillance du réseau comme telnet, que vous devez installer manuellement sous Linux, netstat est préinstallé sur de nombreuses distributions, ce qui vous permet de commencer à exécuter des commandes immédiatement dans le terminal.

Si vous souhaitez utiliser netstat sur votre serveur privé virtuel (VPS) Linux, assurez-vous de disposer d’un accès SSH à votre serveur. Les clients VPS de Hostinger peuvent trouver leurs identifiants SSH dans hPanel en allant à VPSGérerAperçu, puis en trouvant la section Informations du VPS.

Nous proposons également une fonctionnalité de terminal dans le navigateur pour exécuter des commandes directement dans un onglet du navigateur, sans logiciel de terminal supplémentaire. Pour accéder à cette fonctionnalité, cliquez sur le bouton dans le coin supérieur droit du tableau de bord de votre VPS.

En outre, Kodee AI Assistant peut aider pour toutes les questions liées au VPS, fournir des instructions adaptées à la configuration de votre serveur et diagnostiquer ou dépanner les problèmes de serveur. Sélectionnez-le simplement dans la barre latérale gauche du tableau de bord de votre VPS, saisissez votre requête et Kodee vous fournira l’assistance dont vous avez besoin.

Afficher toutes les connexions actives

La commande netstat -a affiche toutes les connexions réseau actives, y compris les sockets à l’écoute et non à l’écoute. Il aide à diagnostiquer l’activité réseau, les ports ouverts et les risques potentiels de sécurité en identifiant les connexions inattendues.

Exécutez la commande suivante :

netstat -a

Par exemple, si l’état d’une connexion est ESTABLISHED, cela signifie qu’il existe une communication bidirectionnelle active entre votre machine et un système distant. Si l’état est LISTEN, le port est ouvert et en attente de connexions entrantes.

Vérifiez les connexions TCP

Si vous souhaitez afficher uniquement les connexions actives du protocole de contrôle de transmission (TCP), utilisez netstat avec les options -a et -t. Cela vous permet d’identifier rapidement les problèmes affectant les services basés sur TCP, tels que les serveurs web, SSH et les connexions aux bases de données.

netstat -at

Si vous constatez de nombreuses connexions ESTABLISHED, cela peut indiquer une charge élevée sur un service spécifique ou une attaque en cours. Par ailleurs, la présence de multiples états TIME_WAIT ou CLOSE_WAIT indique que le serveur peine à fermer correctement les connexions, ce qui peut entraîner un épuisement des ressources.

Lister toutes les connexions UDP

La surveillance des connexions User Datagram Protocol (UDP) permet d’identifier les pertes de paquets, une latence élevée ou un trafic inattendu. Pour filtrer la sortie et n’afficher que les activités réseau basées sur UDP, y compris les ports UDP ouverts et connectés, utilisez cette commande :

netstat -au

Comme UDP est un protocole sans connexion, la sortie n’inclut pas de valeurs dans la colonne State, contrairement à l’exemple précédent qui affiche les connexions TCP actives.

La différence entre TCP et UDP

TCP établit une connexion avant de transmettre des données afin d’assurer une communication fiable et sans erreur, ce qui est idéal pour la navigation web, les transferts de fichiers et le courrier électronique. En revanche, UDP envoie des paquets sans nécessiter de handshake, ce qui le rend plus rapide mais moins fiable, ce qui convient aux applications à faible latence comme les requêtes DNS et la VoIP.

Afficher les adresses numériques

Par défaut, netstat résout les noms d’hôte en noms de domaine lisibles par l’humain, ce qui peut ralentir l’exécution de la commande sur des réseaux comportant de nombreuses connexions. Pour désactiver la résolution des noms d’hôte et afficher des adresses IP numériques, ajoutez l’option -n :

netstat -n

Lorsqu’il est exécuté, netstat affiche les connexions sous forme numérique, par exemple 192.168.1.100 :443 au lieu de example.tld :443. Cela est utile lors de l’analyse des adresses locales et étrangères dans les connexions actives, car cela offre une vue plus rapide et plus claire de l’activité réseau.

Afficher les ports à l’écoute

Vous pouvez identifier les services qui écoutent activement les connexions entrantes sur tous les ports ouverts en exécutant :

netstat -l

La sortie affiche uniquement les sockets dans l’état LISTEN, ce qui signifie qu’ils attendent activement des connexions entrantes.

Pour des résultats davantage filtrés, combinez l’option -l avec -t pour TCP ou -u pour des connexions UDP uniquement :

netstat -lt # Afficher uniquement les ports TCP en écoute
netstat -lu # Afficher uniquement les ports UDP en écoute

Analysez les tables de routage

La commande netstat -r examine la façon dont votre système achemine le trafic réseau.

netstat -r

Il fournit des détails tels que les réseaux de destination, les passerelles et les informations d’interface.

Voici ce que représente chaque colonne dans la sortie :

  • Destination – le réseau cible ou l’adresse IP.
  • Passerelle – le prochain saut pour atteindre la destination.
  • Genmask – le masque de sous-réseau définissant la plage du réseau.
  • Drapeaux – indicateurs tels que UG (actif, passerelle) ou U (actif, route directe).
  • MSS – la taille maximale de segment (MSS) pour les connexions TCP sur la route.
  • Fenêtre – la taille maximale de la fenêtre TCP pour la route.
  • irtt – le temps aller-retour initial (RTT) pour les connexions TCP, mesuré en millisecondes.
  • Iface – l’interface réseau qui gère la route.

Identifier les statistiques de protocole

En utilisant netstat avec l’option -s, vous pouvez obtenir des statistiques détaillées pour différents protocoles réseau, notamment TCP, UDP, ICMP et IP. Cela est utile pour identifier la perte de paquets, les erreurs de transmission et les connexions interrompues.

netstat -s

La sortie organise les statistiques par protocole. Par exemple, les statistiques TCP incluent des valeurs pour les connexions actives, les retransmissions et les paquets abandonnés, tandis que les statistiques UDP fournissent des détails sur les datagrammes reçus, envoyés ou écartés.

Astuce

Lors du dépannage de problèmes réseau avec netstat -s, recherchez :

  • Un taux élevé de retransmissions – indique une congestion du réseau ou des connexions instables.
  • Perte de paquets en UDP – indique une interférence réseau ou une bande passante insuffisante.
  • Erreurs ICMP – indiquent des problèmes de routage ou des restrictions de pare-feu.

  • Trouvez les connexions associées à un programme spécifique

    Pour identifier quel programme possède une connexion réseau, utilisez la commande netstat -pt. Cela affiche les connexions TCP actives ainsi que l’identifiant de processus (PID) et le nom du programme associé, ce qui vous aide à surveiller les applications en cours d’exécution et à détecter toute activité suspecte.

    netstat -pt

    Vous devriez voir la colonne PID/Program name complètement à droite de la sortie, comme illustré ci-dessous :

    Ici, 318706 est le PID, tandis que sshd est le programme associé à la connexion.

    Si plusieurs connexions partagent le même PID, une seule application gère plus d’une session. De plus, un tiret () dans la colonne indique que netstat n’a pas pu récupérer le nom du programme, généralement en raison de restrictions de permissions.

    Filtrer la sortie avec des options

    Comme expliqué précédemment, vous pouvez affiner la sortie de netstat et vous concentrer sur des détails spécifiques en combinant plusieurs options. Le filtrage des données inutiles rend le dépannage plus efficace et aide à repérer plus rapidement les problèmes réseau.

    Voici quelques combinaisons utiles :

    • Répertoriez tous les ports TCP et UDP à l’écoute avec des adresses numériques :
    netstat -tunl
    • Affichez toutes les connexions actives ainsi que les PID :
    netstat -tapn
    • Analysez les tables de routage avec des adresses numériques :
    netstat -rn
    • Surveillance des interfaces réseau et de leurs statistiques :
    netstat -ie

    Utilisez netstat avec d’autres commandes

    Outre la combinaison de plusieurs options pour filtrer des détails spécifiques, vous pouvez rediriger la sortie de netstat vers d’autres outils en ligne de commande comme grep, awk et wc. Cela permet d’extraire les données réseau pertinentes et de les présenter dans un format plus lisible.

    • Filtrer les connexions par numéro de port :
    netstat -an | grep ":80"

    Ici, grep filtre et affiche uniquement les connexions liées au port 80 (HTTP).

    • Afficher uniquement les connexions à l’écoute :
    netstat -an | grep LISTEN

    Cela filtre les résultats pour n’afficher que les ports à l’état LISTEN.

    • Extraire les PID associés aux connexions :
    netstat -tpn | awk '{print $7}'

    Dans cette commande, awk extrait la 7e colonne contenant les PID et les noms de programmes.

    • Comptez le nombre de connexions actives :
    netstat -an | wc -l

    wc -l compte le nombre total de connexions actuellement actives.

    Conclusion

    La commande netstat est un outil puissant pour surveiller les informations liées au réseau sur divers systèmes d’exploitation, notamment Linux. Dans cet article, nous avons exploré sa syntaxe, ses options courantes et des cas d’utilisation concrets, tels que l’affichage des statistiques de protocole, la liste des connexions actives et l’analyse des tables de routage.

    En explorant différentes options et en combinant netstat avec d’autres commandes comme grep et awk, vous pouvez obtenir des informations plus détaillées sur l’activité réseau et diagnostiquer les problèmes plus efficacement.

    Cependant, netstat a été déprécié dans certaines distributions Linux récentes. Bien qu’il reste utile pour des tâches simples, nous recommandons d’utiliser ss (pour les statistiques de sockets) et ip route (pour l’analyse du routage) comme alternatives modernes, car ils offrent des performances plus rapides et un affichage plus détaillé.

    Si vous avez des questions à propos de netstat ou souhaitez partager votre expérience de son utilisation — ou de passage à des outils alternatifs — faites-le-nous savoir dans les commentaires ci-dessous.

    FAQ sur la commande netstat

    À quoi sert la commande netstat ?

    La commande netstat surveille les connexions réseau, affiche les tables de routage et fournit des statistiques sur les protocoles. Les administrateurs système l’utilisent pour diagnostiquer des problèmes de connectivité, trouver des ports ouverts et analyser le flux de trafic sous Linux, Windows et macOS.

    Comment utiliser la commande netstat ?

    Pour utiliser la commande netstat, ouvrez une fenêtre de terminal et saisissez netstat. Cela affiche les connexions actives et les statistiques des sockets. Vous pouvez ajouter des options pour obtenir une sortie plus détaillée, comme -t pour lister les connexions TCP et -l pour n’afficher que les ports en écoute.

    En quoi netstat est-il différent de la commande ss ?

    La commande ss constitue une alternative plus rapide à netstat, offrant des statistiques de sockets plus détaillées avec une moindre utilisation des ressources. Contrairement à netstatss récupère en temps réel des données directement du noyau. De nombreuses distributions Linux modernes ont déprécié netstat au profit de ss pour de meilleures performances et une précision accrue.

    Tout le contenu des tutoriels de ce site est soumis aux normes éditoriales et aux valeurs rigoureuses de Hostinger.

    Author
    L'auteur

    Faradilla Ayunindya

    Faradilla, plus connue sous le nom de Ninda, possède 10 ans d’expérience en tant que linguiste et 5 ans en tant que spécialiste du marketing de contenu chez Hostinger. Elle aime suivre les tendances technologiques et aider les autres à résoudre leurs problèmes. Pendant son temps libre, Ninda aime apprendre de nouvelles langues et s’intéresser aux sciences de la vie, ainsi que regarder des vidéos d’animaux. Pour en savoir plus sur Ninda, retrouvez-la sur LinkedIn.

    Ce que disent nos clients

    Laissez une réponse

    Veuillez remplir les champs obligatoires.Veuillez cocher la case de la confidentialité.Veuillez remplir les champs obligatoires et accepter la case de confidentialité.

    Thank you! Your comment has been successfully submitted. It will be approved within the next 24 hours.