Comment utiliser la commande Netstat

Exemples, commutateurs et plus

La commande netstat est une commande d'invite de commande utilisée pour afficher des informations très détaillées sur la manière dont votre ordinateur communique avec d'autres ordinateurs ou périphériques réseau.

Plus précisément, la commande netstat peut afficher des détails sur les connexions réseau individuelles, les statistiques réseau globales et spécifiques au protocole, et bien d'autres choses, qui pourraient toutes aider à résoudre certains problèmes de réseau.

Disponibilité de la commande Netstat

La commande netstat est disponible depuis l' invite de commande dans la plupart des versions de Windows, y compris Windows 10 , Windows 8 , Windows 7 , Windows Vista , Windows XP , les systèmes d'exploitation Windows Server et certaines versions plus anciennes de Windows.

Remarque: La disponibilité de certains commutateurs de commande netstat et d'autres syntaxes de commande netstat peut différer du système d'exploitation au système d'exploitation.

Syntaxe de commande Netstat

netstat [ -a ] [ -b ] [ -e ] [ -f ] [ -n ] [ -o ] [ -p protocole ] [ -r ] [ -s ] [ -t ] [ -x ] [ -y ] [ time_interval ] [ /? ]

Astuce: Voir Comment lire la syntaxe des commandes si vous n'êtes pas sûr de savoir comment lire la syntaxe de la commande netstat comme indiqué ci-dessus.

Exécutez la commande netstat seule pour afficher une liste relativement simple de toutes les connexions TCP actives qui, pour chacune, afficheront l' adresse IP locale (votre ordinateur), l'adresse IP étrangère (l'autre ordinateur ou le périphérique réseau), ainsi que leurs adresses respectives. numéros de port, ainsi que l'état TCP.

-a = Ce commutateur affiche les connexions TCP actives, les connexions TCP avec l'état d'écoute, ainsi que les ports UDP écoutés.

-b = Ce commutateur netstat est très similaire au commutateur -o indiqué ci-dessous, mais au lieu d'afficher le PID, affiche le nom de fichier réel du processus. L'utilisation de -b sur -o peut sembler vous épargner un ou deux pas, mais l'utiliser peut parfois prolonger considérablement le temps nécessaire à l'exécution complète de netstat.

-e = Utilisez ce commutateur avec la commande netstat pour afficher des statistiques sur votre connexion réseau. Ces données incluent les octets, les paquets monodiffusion, les paquets non monodiffusion, les rejets, les erreurs et les protocoles inconnus reçus et envoyés depuis l'établissement de la connexion.

-f = Le commutateur -f force la commande netstat à afficher le nom de domaine complet (FQDN) pour chaque adresse IP étrangère lorsque cela est possible.

-n = Utilisez l'option -n pour empêcher netstat de déterminer les noms d'hôte pour les adresses IP étrangères. En fonction de vos connexions réseau actuelles, l'utilisation de ce commutateur peut réduire considérablement le temps nécessaire à l'exécution complète de netstat.

-o = Une option pratique pour de nombreuses tâches de dépannage, le commutateur -o affiche l'identificateur de processus (PID) associé à chaque connexion affichée. Voir l'exemple ci-dessous pour plus d'informations sur l'utilisation de netstat -o .

-p = Utilisez l'option -p pour afficher les connexions ou les statistiques uniquement pour un protocole particulier. Vous ne pouvez pas définir plus d'un protocole à la fois, ni exécuter netstat avec -p sans définir de protocole .

protocol = Lors de la spécification d'un protocole avec l'option -p , vous pouvez utiliser tcp , udp , tcpv6 ou udpv6 . Si vous utilisez -s avec -p pour afficher les statistiques par protocole, vous pouvez utiliser icmp , ip , icmpv6 ou ipv6 en plus des quatre premiers que j'ai mentionnés.

-r = Exécute netstat avec -r pour afficher la table de routage IP. Cela revient à utiliser la commande route pour exécuter l' impression d'itinéraire .

-s = L'option -s peut être utilisée avec la commande netstat pour afficher des statistiques détaillées par protocole. Vous pouvez limiter les statistiques affichées à un protocole particulier en utilisant l'option -s et en spécifiant ce protocole , mais veillez à utiliser le protocole -s avant -p lorsque vous utilisez les commutateurs ensemble.

-t = Utilisez l'option -t pour afficher l'état actuel de déchargement de la cheminée TCP à la place de l'état TCP généralement affiché.

-x = Utilisez l'option -x pour afficher tous les écouteurs, connexions et points de terminaison partagés NetworkDirect.

-y = Le commutateur -y peut être utilisé pour afficher le modèle de connexion TCP pour toutes les connexions. Vous ne pouvez pas utiliser -y avec une autre option netstat.

time_interval = C'est le temps, en secondes, que vous souhaitez que la commande netstat s'exécute automatiquement, en vous arrêtant uniquement lorsque vous utilisez Ctrl-C pour terminer la boucle.

/? = Utilisez le bouton d'aide pour afficher les détails sur les différentes options de la commande netstat.

Astuce: Facilitez l'utilisation de toutes les informations de netstat dans la ligne de commande en affichant ce que vous voyez à l'écran dans un fichier texte à l' aide d'un opérateur de redirection . Voir Comment rediriger la sortie de la commande vers un fichier pour obtenir des instructions complètes.

Exemples de commandes Netstat

netstat -f

Dans ce premier exemple, j'exécute netstat pour montrer toutes les connexions TCP actives. Cependant, je veux voir les ordinateurs auxquels je suis connecté au format FQDN [ -f ] au lieu d'une simple adresse IP.

Voici un exemple de ce que vous pourriez voir:

Connexions actives Adresse locale Proto État de l'adresse externe TCP 127.0.0.1:5357 VM-Windows-7: 49229 TIME_WAIT TCP 127.0.0.1:49225 VM-Windows-7: 12080 TIME_WAIT TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT TCP 192.168 .1.14: 49196 a795sm.avast.com:http CLOSE_WAIT TCP 192.168.1.14:49197 a795sm.avast.com:http CLOSE_WAIT TCP 192.168.1.14:49230 PC-TIM: wsd TIME_WAIT TCP 192.168.1.14:49231 TIM-PC: icslap ESTABLISHED TCP 192.168.1.14:49232 TIM-PC: netbios-SSN TIME_WAIT TCP 192.168.1.14:49233 TIM-PC: netbios-SSN TIME_WAIT TCP [:: 1]: 2869 VM-Windows-7: 49226 ESTABLISHED TCP [:: 1] : 49226 VM-Windows-7: icslap ESTABLISHED

Comme vous pouvez le voir, j'avais 11 connexions TCP actives au moment où j'ai exécuté netstat. Le seul protocole (dans la colonne Proto ) répertorié est TCP, ce qui était attendu car je n'ai pas utilisé -a .

Vous pouvez également voir trois ensembles d'adresses IP dans la colonne Adresse locale - mon adresse IP réelle de 192.168.1.14 et les versions IPv4 et IPv6 de mes adresses de bouclage , ainsi que le port utilisé par chaque connexion. La colonne Adresse étrangère répertorie le nom de domaine complet ( 75.125.212.75 n'a pas résolu pour une raison quelconque) avec ce port également.

Enfin, la colonne État répertorie l'état TCP de cette connexion particulière.

netstat -o

Dans cet exemple, je veux exécuter netstat normalement afin qu'il affiche seulement les connexions TCP actives, mais je veux aussi voir l'identificateur de processus correspondant [ -o ] pour chaque connexion afin que je puisse déterminer quel programme sur mon ordinateur a initié chacun.

Voici ce que mon ordinateur a affiché:

Connexions actives Adresse locale Proto Adresse étrangère État PID TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT 2948 TCP 192.168.1.14:49196 a795sm: http CLOSE_WAIT 2948 TCP 192.168.1.14:49197 a795sm: http CLOSE_WAIT 2948

Vous avez probablement remarqué la nouvelle colonne PID . Dans ce cas, les PID sont tous les mêmes, ce qui signifie que le même programme sur mon ordinateur a ouvert ces connexions.

Pour déterminer quel programme est représenté par le PID de 2948 sur mon ordinateur, tout ce que j'ai à faire est d'ouvrir le Gestionnaire des tâches , cliquez sur l'onglet Processus et notez le nom de l' image en regard du PID que je recherche dans la colonne PID . 1

L'utilisation de la commande netstat avec l'option -o peut être très utile pour déterminer quel programme utilise une part trop importante de votre bande passante . Il peut également aider à localiser la destination où un type de logiciel malveillant , ou même un logiciel légitime, pourrait envoyer des informations sans votre permission.

Remarque: Bien que cet exemple et l'exemple précédent aient été exécutés tous les deux sur le même ordinateur, et à une minute près l'un de l'autre, vous pouvez constater que la liste des connexions TCP actives est considérablement différente. Ceci est dû au fait que votre ordinateur se connecte et se déconnecte constamment de divers autres périphériques sur votre réseau et sur Internet.

netstat -s -p tcp -f

Dans ce troisième exemple, je veux voir les statistiques spécifiques au protocole [ -s ] mais pas toutes, seulement les statistiques TCP [ -p tcp ]. Je veux également les adresses étrangères affichées dans le format FQDN [ -f ].

C'est ce que la commande netstat, comme montré ci-dessus, produit sur mon ordinateur:

Statistiques TCP pour IPv4 Ouvertures actives = 77 Ouvertures passives = 21 tentatives de connexion échouées = 2 Réinitialiser Connexions = 25 Connexions actuelles = 5 Segments reçus = 7313 Segments envoyés = 4824 Segments retransmis = 5 Connexions actives Proto Adresse locale Adresse étrangère Etat TCP 127.0.0.1: 2869 VM-Windows-7: 49235 TEMPS_WAIT TCP 127.0.0.1:2869 VM-Windows-7: 49238 ESTABLISHED TCP 127.0.0.1:49238 VM-Windows-7: icslap ESTABLISHED TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT TCP 192.168.1.14:49196 a795sm.avast.com:http CLOSE_WAIT TCP 192.168.1.14:49197 a795sm.avast.com:http CLOSE_WAIT

Comme vous pouvez le voir, diverses statistiques pour le protocole TCP sont affichées, comme toutes les connexions TCP actives à ce moment.

netstat -e -t 5

Dans ce dernier exemple, j'ai exécuté la commande netstat pour afficher quelques statistiques d'interface réseau de base [ -e ] et je voulais que ces statistiques soient continuellement mises à jour dans la fenêtre de commande toutes les cinq secondes [ -t 5 ].

Voici ce qui est produit à l'écran:

Statistiques d'interface reçues Octets envoyés 22132338 1846834 Paquets de monodiffusion 19113 9869 Paquets non monodisques 0 0 Défauts 0 0 Erreurs 0 0 Protocoles inconnus 0 Statistiques d'interface Reçus Octets envoyés 22134630 1846834 Paquets de monodiffusion 19128 9869 Paquets non monodiffusion 0 0 Défauts 0 0 Erreurs 0 0 Inconnu protocoles 0 ^ C

Diverses informations, que vous pouvez voir ici et que j'ai listées dans la syntaxe -e ci-dessus, sont affichées.

Je laisse seulement la commande netstat s'exécuter automatiquement une fois de plus, comme vous pouvez le voir par les deux tables dans le résultat. Notez le ^ C en bas, indiquant que j'ai utilisé la commande Ctrl-C Abort pour arrêter la réexécution de la commande.

Commandes associées à Netstat

La commande netstat est souvent utilisée avec d'autres commandes d'invite de commandes liées au réseau telles que nslookup, ping , tracert , ipconfig et autres.

[1] Vous devrez peut-être ajouter manuellement la colonne PID au Gestionnaire des tâches. Vous pouvez le faire en cochant la case "PID (Process Identifier)" dans Affichage -> Sélectionner les colonnes dans le Gestionnaire des tâches. Vous devrez peut-être également cliquer sur le bouton "Afficher les processus de tous les utilisateurs" dans l'onglet Processus si le PID que vous recherchez n'est pas répertorié.