GNU/Linux >> Tutoriels Linux >  >> Linux

Tutoriel de commande Linux Netstat pour SysAdmins [40 exemples]

L'utilitaire netstat (statistiques réseau) sous Linux fournit des informations relatives aux connexions réseau. Vous pouvez utiliser diverses commandes netstat pour afficher les connexions réseau actives, les données d'interface, les tables de routage, etc. Ce sont des informations essentielles pour les administrateurs réseau et les professionnels de la sécurité informatique. C'est pourquoi nous avons préparé ce guide avec une large sélection d'exemples netstat utiles. Après avoir terminé ce guide, vous pourrez inspecter toutes les informations relatives au réseau pour votre machine Linux. Nous encourageons également les lecteurs à essayer ces exemples sur leur propre machine pour obtenir une expérience plus pratique.

Exemples de commandes Netstat pour les administrateurs réseau

Les informations fournies par netstat permettent de localiser facilement les problèmes de connexion réseau. C'est pourquoi netstat est l'utilitaire incontournable pour le dépannage des connexions réseau pour de nombreux administrateurs système. Continuez à lire pour savoir comment utiliser au mieux la commande netstat.

1. Afficher tous les sockets actifs

Les sockets sont des structures qui agissent comme points de terminaison lors de l'envoi ou de la réception de requêtes réseau. Lorsqu'il est utilisé sans aucun argument, netstat affiche une liste de tous les sockets ouverts sur votre machine.

$ netstat

Par défaut, cette commande affiche les sockets actifs pour toutes les familles de réseaux. Comme vous pouvez le remarquer, il imprime beaucoup d'informations supplémentaires sous l'étiquette "Unix Domain Sockets" . Ce sont les points de terminaison de communication de données pour les processus en cours d'exécution sur votre machine.

2. Afficher toutes les prises d'écoute et de non-écoute

Vous pouvez utiliser le -a option de netstat pour imprimer une liste de toutes les sockets à l'écoute et non à l'écoute. Exécutez la commande suivante et vérifiez la sortie pour voir comment cette commande fonctionne.

$ netstat -a
$ netstat --all
- -

Le –tous l'option fonctionne de la même manière que -a . La sortie doit afficher toutes les prises, actives et inactives. Les lignes représentent les sockets et la colonne dicte leurs valeurs. Les utilisateurs peuvent afficher le protocole de socket, les données envoyées/reçues, les adresses et les états correspondants.

3. Afficher les connexions TCP

Le TCP ou Transmission Control Protocol est le protocole Internet le plus utilisé. Vous pouvez utiliser la commande netstat suivante pour afficher uniquement les connexions TCP actives.

$ netstat -t
$ netstat --tcp

Vous pouvez également utiliser la forme longue –tcp au lieu de -t . Utilisez la commande ci-dessous pour afficher une liste de toutes les connexions réseau TCP en écoute et établies.

$ netstat -at
$ netstat -all --tcp

4. Afficher les connexions UDP

UDP ou User Datagram Protocol est un autre protocole réseau majeur utilisé par nos systèmes. Vous pouvez utiliser l'utilitaire netstat pour afficher une liste des sockets établis et en écoute pour les connexions UDP.

$ netstat -u
$ netstat --udp

Cet exemple imprime toutes les connexions UDP établies. Si vous souhaitez afficher toutes les connexions établies et en écoute, utilisez plutôt la commande ci-dessous.

$ netstat -au
$ netstat --all --udp

5. Afficher toutes les connexions TCP en écoute

Vous pouvez afficher une liste de toutes les connexions TCP en écoute en utilisant le -l et -t drapeau du programme netstat. Consultez la commande ci-dessous pour voir comment cela se produit.

$ netstat -lt

Il affichera toutes les connexions TCP qui écoutent activement les demandes réseau entrantes. La sortie doit contenir des informations sur les protocoles TCP et TCP6. Vous pouvez également utiliser la syntaxe longue lorsque vous utilisez cette commande dans des scripts shell Linux.

$ netstat --listen --tcp

6. Afficher toutes les connexions UDP en écoute

Les utilisateurs peuvent adopter la même approche que la commande ci-dessus pour afficher les connexions UDP en écoute. Ouvrez votre émulateur de terminal Linux préféré et exécutez la commande ci-dessous pour le faire.

$ netstat -lu

Comme avec la commande précédente, elle affichera les connexions pour les protocoles UDP et UDP6. L'exemple ci-dessous illustre la forme longue.

$ netstat --listen --udp

7. Afficher toutes les connexions UDP-Lite en écoute

UDP-Lite est un protocole sans connexion basé sur le protocole UDP. Il permet aux systèmes de recevoir un paquet réseau potentiellement endommagé. Vous pouvez afficher les connexions d'écoute pour ce protocole en utilisant la commande simple suivante.

$ netstat -lU

Le -U L'option de netstat permet aux administrateurs de spécifier le protocole udplite. Vous pouvez également utiliser –udplite comme forme longue pour cette option.

$ netstat --udplite

8. Afficher les connexions Unix d'écoute

Nous avons déjà expliqué comment les systèmes Linux utilisent le socket de domaine Unix pour la communication inter-processus (IPC). Vous pouvez imprimer une liste de toutes les connexions Unix en écoute pour votre machine à l'aide de la commande netstat suivante.

$ netstat -lx

Le -x L'option spécifie les sockets du domaine Unix. Vous pouvez utiliser la forme abrégée –unix au lieu de -x . Ceci est utile pour documenter les scripts shell.

$ netstat --unix

9. Afficher les statistiques du protocole

L'utilitaire netstat offre un excellent support pour les statistiques de protocole. Les utilisateurs peuvent afficher un large éventail d'informations à partir des données statistiques, telles que le nombre de connexions, de paquets, de segments défectueux, etc. Consultez le résultat de la commande suivante pour voir comment cela fonctionne.

$ netstat -s
$ netstat --statistics

Par défaut, cette commande affiche des informations sur les protocoles TCP, UDP, ICMP et IP. Les administrateurs réseau peuvent utiliser cette sortie pour déterminer les problèmes potentiels dans les connexions réseau.

10. Afficher les statistiques du protocole TCP

Les utilisateurs peuvent également afficher les statistiques de connexion pour un seul protocole uniquement. L'exemple suivant affiche les données statistiques uniquement pour le protocole TCP.

$ netstat -st

On peut facilement combiner les -s option avec un sélecteur de protocole et découvrez les données statistiques à ce sujet. L'exemple ci-dessous imprime la même sortie mais en utilisant la syntaxe abrégée.

$ netstat --statistics --tcp

11. Afficher les statistiques du protocole UDP

Nous pouvons afficher les données statistiques du protocole UDP de la même manière que nous avons visualisé les statistiques TCP. Remplacez le -t ou –-tcp option avec l'un des -u ou –udp . Consultez les deux exemples suivants pour voir comment cela fonctionne.

$ netstat -su
$ netstat --statistics --udp

Notez que vous trouverez également les statistiques udplite de ces commandes. Cependant, si vous spécifiez udplite en utilisant le -U ou –udplite option, il n'y aura pas de données UDP sur la sortie résultante.

12. Afficher les noms des programmes

Vous pouvez utiliser l'utilitaire netstat pour afficher les programmes qui ont lancé les connexions réseau. Cela peut être extrêmement utile lors du dépannage de problèmes de réseau. Consultez la commande ci-dessous pour voir comment cela fonctionne.

$ netstat -pt

La sortie doit contenir les connexions TCP établies et les programmes responsables de ces connexions. Vous pouvez également utiliser la forme abrégée –programme au lieu de -p , comme illustré dans l'exemple ci-dessous.

$ netstat --program --tcp

13. Afficher les informations réseau en mode continu

Le -c ou –continu Les options de netstat lui permettent d'afficher en continu les informations spécifiées. Consultez les commandes ci-dessous pour voir comment cela fonctionne.

$ netstat -tc
$ netstat --tcp --continuous

L'intervalle d'actualisation par défaut est de 1 seconde. Cependant, les utilisateurs peuvent le remplacer en fournissant un argument supplémentaire, comme indiqué dans les exemples ci-dessous.

$ netstat -tc 5
$ netstat --tcp --continuous 3

Contrairement à de nombreuses commandes de terminal Linux, le sélecteur d'intervalle n'est pas précédé d'un signe égal pour la syntaxe abrégée.

14. Afficher les tables de routage

L'utilitaire de réseau peut être utilisé pour afficher les tables de routage définies par le noyau Linux. La sortie est similaire à celle fournie par la commande Linux IP.

$ netstat -r

La sortie de cette commande affiche des informations telles que l'adresse de destination, la passerelle, le masque de sous-réseau et le nom de l'interface réseau. Vous pouvez utiliser la syntaxe abrégée –route si vous souhaitez documenter l'utilisation de cette commande dans vos scripts shell.

$ netstat --route

15. Afficher les statistiques de l'interface

Netstat peut être utilisé pour imprimer les statistiques d'interface de votre système Linux. La commande suivante imprime les interfaces réseau disponibles et fournit des informations sur les paquets transmis et reçus, le taux d'erreur et le MTU.

$ netstat -i
$ netstat --interfaces

Vous pouvez utiliser l'une ou l'autre des options pour afficher les informations sur l'interface réseau.

16. Afficher les statistiques de l'interface en temps réel

Pour afficher les statistiques de l'interface en temps réel, combinez le -c ou –continu option avec l'option d'interface. Les exemples suivants mettront à jour les statistiques de l'interface réseau toutes les 3 secondes.

$ netstat -ic 3
$ netstat --interfaces --continuous 3

Vous devriez remarquer des changements dans les champs transmis (TX) et reçu (RX). Remplacez l'intervalle de temps par un nombre qui correspond à vos besoins. Notez que l'intervalle est en secondes et non en minutes.

17. Afficher la table du noyau pour les interfaces

La commande netstat suivante affiche la table d'interface définie par le noyau Linux. Cette commande est similaire à la sortie fournie par la commande Linux ifconfig.

$ netstat -ie

Le -e ou –étendre L'option force netstat à imprimer cette table d'interface. L'exemple suivant illustre la même commande en utilisant la syntaxe abrégée.

$ netstat --interfaces --extend

18. Afficher les informations IP

Vous pouvez afficher très facilement les appartenances aux groupes IPv4/IPv6 à l'aide de l'utilitaire netstat. Consultez l'exemple simple suivant pour voir comment cela fonctionne.

$ netstat -g
$ netstat --groups

Ainsi, le -g ou –groupes L'option de netstat peut afficher les appartenances aux groupes de multidiffusion.

19. Afficher les programmes d'écoute

Vous pouvez utiliser le programme netstat pour voir quels programmes écoutent activement les demandes réseau entrantes. Ceci est très utile car vous pouvez déterminer quels programmes sont responsables de certaines activités réseau à partir de cette sortie.

$ netstat -ap | grep "http"
$ netstat --all --program | grep "http"

Nous imprimons simplement tous les programmes d'écoute, puis filtrons les listes nécessaires en utilisant grep. Consultez notre guide précédent sur les commandes Linux grep pour voir comment GREP filtre les données canalisées.

20. Afficher les statistiques réseau RAW

L'exemple netstat suivant vous montre comment l'utiliser pour afficher des statistiques réseau brutes. Copiez la commande et exécutez-la dans votre émulateur de terminal pour afficher la sortie de votre machine personnelle.

$ netstat -sw
$ netstat --statistics --raw

La sortie doit contenir des données statistiques pour les connexions réseau brutes, y compris pour IP, ICMP et udplite.

21. Afficher les informations pour les routes IPv4

Vous pouvez utiliser la sous-sous-commande route de netstat pour afficher les routes IPv4 définies par le noyau. Consultez l'exemple suivant pour savoir comment procéder.

$ netstat -r -4
$ netstat --route --inet

Alors, –inet est la forme abrégée de cette option. Vous pouvez également combiner les options si vous utilisez le formulaire court.

$ netstat -r4

22. Afficher les informations pour les routes IPv6

Nous pouvons imprimer les informations de routage IPv6 de la même manière que la commande ci-dessus. Utilisez le -6 ou –inet6 avec l'option –route ou -r drapeau. L'exemple suivant illustre cela pour les lecteurs.

$ netstat -r -6
$ netstat --route --inet6

Notez que les champs de sortie varient entre IPv4 et IPv6. Assurez-vous donc de lire les étiquettes des colonnes. L'exemple ci-dessous combine les formes abrégées de la famille d'adresses IPv6.

$ netstat -r6

23. Afficher les connexions masquées

Les connexions masquées permettent à un ou plusieurs systèmes, sans adresse IP spécifiée, de se connecter à Internet en utilisant les adresses attribuées par le serveur Linux. Vous pouvez afficher une liste des connexions réseau masquées et leurs statistiques à l'aide de la commande netstat suivante sous Linux.

$ netstat -M
$ netstat --masquerade

Lorsque vous exécutez l'une des commandes ci-dessus, netstat récupère les informations requises en lisant le /proc/net/ip_masquerade de votre système de fichiers Linux. fichier.

24. Afficher les minuteurs du réseau

Vous pouvez déterminer s'il y a des minuteurs pour vos connexions réseau en utilisant le -o option de netstat. Cela peut être utile lorsque vous essayez de dépanner les demandes réseau sortantes. Consultez les commandes suivantes pour voir comment cela fonctionne.

$ netstat -t -o | more
$ netstat --tcp --timers | more

La sortie doit indiquer si des temporisateurs sont présents et, le cas échéant, leur type. Deux barres obliques séparent les champs à trois minuteries. Le premier champ est le compte à rebours et le second sert à suivre le nombre de tentatives. Enfin, le dernier champ suit le nombre de sondes keepalive qui ont été envoyées par la pile TCP.

25. Afficher les adresses IP au lieu du FQDN

Par défaut, netstat essaie de résoudre le DNS lors de l'impression des statistiques du réseau. Cependant, vous pouvez facilement le désactiver et imprimer les adresses IP associées au lieu du FQDN (Fully Qualified Domain Name) . Ceci est utile pour la surveillance et le dépannage du réseau.

$ netstat --numeric-hosts --tcp --all

Les –numeric-hosts L'option indique à netstat d'ignorer les résolutions DNS et d'imprimer les adresses IP numériques à la place. Consultez notre guide sur les serveurs DNS Ubuntu pour en savoir plus sur le système de noms de domaine.

26. Afficher les numéros de port numériques

Vous pouvez omettre les informations de port symbolique de vos sorties netstat en utilisant le –numeric-ports option. Cette option force netstat à imprimer les numéros de port numériques à la place. Veuillez consulter l'exemple ci-dessous pour voir comment cela fonctionne.

$ netstat --numeric-ports --tcp --all

Comparez la sortie avec l'exemple précédent pour localiser les différences. Vous constaterez toujours que cette sortie contient des représentations exactes des numéros de ports. Il s'agit du nombre qui succède à la partie hôte de votre sortie, précédé de deux-points.

27. Afficher l'ID utilisateur pour les connexions réseau

L'exemple suivant montre comment afficher l'ID utilisateur de l'utilisateur propriétaire des connexions réseau. Cela peut être fait en utilisant deux options de la commande netstat.

$ netstat --numeric-users --tcp -e

Le -e affiche le nom de l'utilisateur et –numeric-users le convertit en numéros d'identification. Il s'agit de l'UID (identification de l'utilisateur) défini pour chaque utilisateur par votre système Linux.

28. Afficher les équivalents numériques pour les hôtes, les ports et les utilisateurs

Vous pouvez combiner les trois commandes netstat ci-dessus en utilisant une seule option. Cela forcera netstat à imprimer tous les hôtes, ports et informations utilisateur en utilisant leur équivalent numérique. Consultez les exemples suivants pour voir ce que nous voulons dire.

$ netstat -nt
$ netstat --numeric --tcp

Vous pouvez utiliser l'un ou l'autre de –numeric ou -n pour faire ça. Si vous regardez la sortie, vous devriez voir les adresses IP, le numéro de port et les informations UID sous forme numérique.

29. Afficher des informations supplémentaires

Le -e ou –étendre les options de l'utilitaire netstat permettent aux utilisateurs d'afficher des informations supplémentaires pour leurs commandes. Ceux-ci peuvent conduire à la découverte de bugs cachés. Consultez l'exemple ci-dessous pour voir comment cela fonctionne.

$ netstat -tpe

Cette commande combine le -t, -p , et -e options pour imprimer les connexions TCP établies, les programmes qui les possèdent et quelques informations supplémentaires. Ces informations supplémentaires incluent les informations sur l'utilisateur et l'inode. Utilisez le -e option deux fois pour obtenir plus d'informations.

$ netstat --tcp --program --extend --extend

30. Afficher le cache de routage du noyau

Le cache de routage contient les entrées de routage les plus récemment utilisées. Comme il s'agit de données mises en cache, les informations sont accessibles très rapidement. Vous pouvez utiliser la commande suivante pour imprimer le cache de route à l'aide de netstat.

$ netstat -rC

Par défaut, netstat récupère les informations de route à partir du FTB. Cependant, comme les systèmes utilisent généralement les données mises en cache avant de consulter la table de routage, il peut être utile de savoir quel contenu y est stocké. Il n'y a pas de forme longue pour ce paramètre.

31. Afficher les informations pour plusieurs protocoles

Netstat permet aux utilisateurs d'imprimer des informations réseau pour un ensemble de protocoles en utilisant le -A ou –protocole option. Les exemples suivants illustrent l'utilisation de ces options.

$ netstat -A inet,inet6
$ netstat --protocol=inet,inet6

Notez la différence entre l'utilisation de –protocol et -A . Les familles d'adresses prises en charge pour ces options incluent inet, inet6, unix, ddp, bluetooth, etc.

32. Afficher les informations SCTP

SCTP ou Stream Control Transmission Protocol est une méthode nouvelle et fiable de transfert de données. Il offre les avantages du protocole TCP et du protocole UDP. Vous pouvez découvrir toutes les écoutes des connexions SCTP à l'aide des commandes simples suivantes.

$ netstat -lS
$ netstat --listen --sctp

N'oubliez pas de ne pas utiliser -s pour cette tâche. Il affichera les statistiques du réseau à la place. Vous pouvez découvrir l'utilisation détaillée de SCTP à l'aide de l'un des exemples de commande netstat répertoriés ci-dessous.

$ netstat -sS
$ netstat --statistics --sctp

33. Afficher les informations Bluetooth

La norme d'échange de données sans fil Bluetooth utilise plusieurs protocoles de communication. Le protocole de contrôle et d'adaptation de lien logique (L2CAP) et Communication par radiofréquence (RFCOMM) sont deux de ses principaux protocoles utilisés au niveau de l'hôte. Vous pouvez afficher des informations sur L2CAP à l'aide des commandes suivantes.

$ netstat -2
$ netstat --l2cap

Utilisez les commandes suivantes pour afficher les informations concernant le protocole RFCOMM.

$ netstat -f
$ netstat --rfcomm

Notez que de nombreuses implémentations de netstat n'offrent pas de prise en charge Bluetooth prête à l'emploi. Si vous obtenez l'invite "netstat :fonctionnalité `AF BLUETOOTH' non prise en charge. ", vous devrez alors recompiler l'utilitaire net-tools à partir de la source.

34. Afficher les valeurs symboliques pour les hôtes, les ports et les utilisateurs

Le -N ou -symbolique Les options de la commande netstat nous permettent d'imprimer toutes les informations sur les hôtes, les ports et les utilisateurs sous forme symbolique. Consultez l'exemple suivant pour savoir comment cela fonctionne.

$ netstat -atN
$ netstat --all --tcp --symbolic

La sortie de ces commandes contiendra une liste de tous les réseaux TCP, et l'hôte, le port et les utilisateurs seront spécifiés en utilisant leur équivalent symbolique. Cela peut être utile pour les administrateurs qui souhaitent une sortie détaillée plutôt que numérique.

35. Désactiver la troncature d'adresse IP

Vous pouvez utiliser le -w ou –large options de l'utilitaire netstat pour désactiver la troncature des adresses IP. Ce n'est pas très utile en soi mais offre des moyens de rétrocompatibilité.

$ netstat -atw
$ netstat --all --tcp --wide

Si vous écrivez des scripts shell Linux, utilisez cette option pour vous assurer qu'elle ne tronque pas les adresses IP sur les anciennes machines.

36. Afficher les services qui écoutent sur un port particulier

Si vous êtes un pirate informatique ou un professionnel de la sécurité informatique, vous souhaiterez peut-être voir ceux qui écoutent sur un port spécifique. Cela peut être fait très facilement en combinant netstat avec la commande grep sous Linux. Consultez l'exemple netstat suivant pour savoir comment cela peut être fait.

$ netstat -ltnp | grep ':22'

Cette commande imprimera tous les programmes qui écoutent le port TCP 22. Il s'agit du numéro de port pour les connexions ssh. Remplacez ce numéro par le numéro de port qui vous intéresse dans la partie grep.

37. Afficher les familles d'adresses non prises en charge

Comme indiqué précédemment, netstat peut fonctionner avec un large éventail de familles d'adresses. Cependant, tous ne sont pas pris en charge par chaque implémentation de netstat. Par exemple, de nombreuses versions de netstat ne prennent pas en charge la famille d'adresses Bluetooth dès le départ. Vous pouvez facilement vérifier les familles d'adresses qui ne sont pas prises en charge par votre utilitaire netstat.

$ netstat --verbose | grep "no support for"

Cette commande imprimera toutes les familles d'adresses non prises en charge pour votre machine. Si vous souhaitez utiliser l'un d'entre eux, vous devrez récupérer la source de net-tools et la compiler avec la prise en charge complète de la configuration.

38. Afficher les informations de version

Vous pouvez imprimer les informations de version de votre programme netstat en utilisant le -V ou –version option. Cela imprimera des informations supplémentaires à côté des données de version.

$ netstat -V
$ netstat --version

Lorsque vous exécutez l'une des commandes ci-dessus, vous verrez une liste des familles d'adresses prises en charge et non prises en charge. Notez que les données de version affichées par cette commande représentent la version de net-tools installée sur votre machine.

39. Afficher la page d'aide

La page d'aide de netstat contient des informations résumées sur toutes les options disponibles et leur utilisation. Il offre un moyen pratique de rechercher les options. Vous pouvez imprimer cette page en utilisant l'une des commandes netstat suivantes.

$ netstat -h
$ netstat --help

Si vous êtes un administrateur réseau, vous trouverez cette section très pratique.

40. Afficher la page du manuel

La page de manuel des commandes de terminal Linux contient des informations détaillées sur l'utilisation de la commande et les options disponibles. Vous devriez consulter cette page chaque fois que vous souhaitez en savoir plus sur un programme spécifique. La page de manuel de netstat peut être invoquée à l'aide de la commande ci-dessous.

$ man netstat

Consultez cette page si vous souhaitez des informations détaillées sur netstat et son format de sortie.

Fin des pensées

La commande netstat est l'une des commandes de terminal les plus utilisées par les administrateurs système. Cependant, il est devenu obsolète de nos jours et des programmes plus avancés ont émergé pour prendre le relais. Le remplacement de netstat, en général, est le programme ss. L'utilitaire IP remplace netstat -r, netstat -i, et netstat -g. Néanmoins, netstat reste tout à fait pertinent en raison de son utilisation généralisée et de sa disponibilité sur la plupart des distributions Linux. Nous encourageons vivement nos lecteurs à utiliser les nouvelles alternatives. Cette couverture des commandes essentielles de netstat peut servir de point de référence pour les utilisateurs qui ont besoin d'utiliser netstat.


Linux
  1. Tutoriel de commande cd Linux pour les débutants (8 exemples)

  2. Tutoriel de commande Linux comm pour les débutants (5 exemples)

  3. Tutoriel de commande de date Linux pour les débutants (8 exemples)

  4. Tutoriel de commande Linux netstat pour les débutants (8 exemples)

  5. 10 exemples de base de la commande Linux Netstat

Tutoriel de commande Linux lshw pour les débutants (6 exemples)

Tutoriel de commande Linux nl pour les débutants (7 exemples)

Tutoriel de commande Linux nm pour les débutants (10 exemples)

Tutoriel de commande Linux OD pour les débutants (6 exemples)

Tutoriel de commande Linux w pour débutants (5 exemples)

Tutoriel de commande Linux ss pour les débutants (8 exemples)