netstat est un outil réseau en ligne de commande qui constitue une commande de dépannagepratique. Son utilité multiplateforme signifie que vous pouvez l’utiliser sous Linux, macOS ou Windows.

netstat peut s’avérer très pratique dans les cas suivants.

  • Afficher les connexions réseau entrantes et sortantes
  • Afficher les tables de routage
  • Afficher le nombre d’interfaces réseau
  • Afficher les statistiques du protocole réseau

Commençons…

Afficher toutes les connexions

Pour commencer avec netstat, voyons la commande qui affiche toutes les connexions.

netstat -a

Tapez la commande ci-dessus et appuyez sur la touche Entrée. Vous verrez toutes les connexions actives à partir de différents états, comme indiqué ci-dessous.

C:\NWindows\Nsystème32>netstat -a

Connexions actives

Proto Adresse locale Adresse étrangère État
TCP 192.168.43.15:139 DESKTOP-A0PM5GD:0 LISTENING
TCP 192.168.43.15:52484 153:https ESTABLISHED
TCP 192.168.43.15:52532 ec2-13-228-49-204:https TIME_WAIT
UDP [fe80::998c:d2d:17df:65d9]:58903 *:*

Vous verrez un en-tête avec Proto, Local Address, Foreign Address, et State. Voyons brièvement ce qu’il en est.

  • Proto – définit le type de protocole (TCP, UDP, etc.) de la socket.
  • Local Address – affiche l’adresse IP et le port de votre ordinateur, l’extrémité locale de la socket.
  • Foreign Address – affiche l’ordinateur distant auquel votre ordinateur est connecté, l’extrémité distante de la socket.
  • State – définit l’état de la socket (LISTENING, ESTABLISHED, CLOSE_WAIT, TIME_WAIT).

Nous pouvons filtrer les connexions de différentes manières. Voyons-les.

Afficher uniquement les connexions établies

Nous avons vu l’état des informations de connexion. Vous pouvez utiliser la syntaxe ci-dessous pour afficher toutes les connexions établies depuis/vers votre serveur Windows.

netstat | findstr ESTABLISHED
C:\NWindows\Nsystème32>netstat| findtr ESTABLISHED
 TCP 172.16.179.128:49375 a23-77-202-113:http ESTABLISHED
C:\NWindows\NSystem32>

Remarque : pour afficher LISTEN, CLOSE_WAIT, TIME_WAIT, vous pouvez utiliser les commandes suivantes.

Pour voir les connexions qui sont en état d’écoute, remplacez le mot clé ESTABLISHED de la commande précédente par LISTENING. Vous obtiendrez les informations sur les connexions qui sont à l’état d’écoute comme suit.

netstat | findstr LISTENING
C:\Windows\system32>netstat| findstr LISTENING
 TCP 192.168.43.15:139 DESKTOP-A0PM5GD:0 LISTENING

De même, exécutez la commande suivante pour voir toutes les connexions qui sont dans l’état CLOSE_WAIT .

netstat | findstr CLOSE_WAIT
C:\NWindows\NSystem32>netstat| findstr CLOSE_WAIT
 TCP 192.168.43.15:52581 ec2-52-1-183-160:https CLOSE_WAIT
  TCP 192.168.43.15:52584 ec2-34-227-121-63:https CLOSE_WAIT

Enfin, utilisez l’indicateur TIME_WAIT pour obtenir des informations sur toutes les connexions qui sont dans l’état TIME_WAIT .

netstat | findstr TIME_WAIT
C:\NWindows\Nsystème32>netstat |findstr TIME_WAIT
 TCP 192.168.43.15:52590 server-13-33-179-97:https TIME_WAIT

Afficher le PID utilisé par le numéro de port

Chaque connexion est un processus interne. Et chaque processus a un identifiant, appelé PID. Nous pouvons voir le PID de chaque connexion socket en utilisant la commande suivante.

netstat -o

La commande ci-dessus affiche toutes les connexions avec leur PID. Exécutons la commande et voyons comment nous obtenons le résultat.

C:\NWindows\Nsystème32>netstat-o

Connexions actives

Proto Adresse locale Adresse étrangère État PID
TCP 192.168.43.15:50664 40.90.189.152:https ESTABLISHED 3676
TCP 192.168.43.15:50733 40.90.189.152:https ESTABLISHED 10556

Nous avons une colonne supplémentaire appelée PID. Il s’agit de l’identifiant du processus.

C’est très pratique lorsque vous devez trouver quel PID utilise un numéro de port particulier.

netstat -o | findstr $portnumber

Vous pouvez voir les informations suivantes si vous utilisez la commande ci-dessus.

C:\NWindows\Nsystème32>netstat-o | findstr 50664
  TCP 192.168.43.15:50664 40.90.189.152:https ESTABLISHED 3676

Afficher les statistiques de tous les protocoles

Utile lorsque vous devez rechercher une erreur d’en-tête reçue, une erreur d’adresse reçue, un paquet rejeté, etc. Il affiche les statistiques des protocoles IPv4, IPv6, ICMPv4, ICMPv6, TCP, UDP, etc.

netstat -s

Vous verrez les statistiques de tous les protocoles comme indiqué ci-dessous.

C:\NWindows\NSystem32>netstat-s
Statistiques IPv4

Paquets reçus = 1097370
Erreurs d'en-tête reçues = 0
Erreurs d'adresse reçues = 9
Datagrammes transmis = 0
Protocoles inconnus reçus = 0
Paquets reçus rejetés = 1425
Paquets reçus livrés = 1098173
Demandes de sortie = 743601
Rejets de routage = 0
Paquets de sortie rejetés = 43
Paquet de sortie sans route = 23
Réassemblage requis = 0
Réassemblage réussi = 0
Échecs de réassemblage = 0
Datagrammes fragmentés avec succès = 0
Échec de la fragmentation des datagrammes = 0
Fragments créés = 0

Statistiques IPv6

Paquets reçus = 24
Erreurs d'en-tête reçues = 0
Erreurs d'adresse reçues = 0
Datagrammes transmis = 0
Protocoles inconnus reçus = 0
Paquets reçus rejetés = 208
Paquets reçus livrés = 519
Demandes de sortie = 1507
Rejets de routage = 0
Paquets de sortie rejetés = 0
Paquet de sortie sans itinéraire = 0
Réassemblage requis = 0
Réassemblage réussi = 0
Échecs de réassemblage = 0
Datagrammes fragmentés avec succès = 0
Échec de la fragmentation des datagrammes = 0
Fragments créés = 0

Statistiques ICMPv4

Reçus Envoyés
Messages 52 143
Erreurs 0 0
Destination inaccessible 52 143
Temps dépassé 0 0
Problèmes de paramètres 0 0
Requêtes de la source 0 0
Redirections 0 0
Réponses à l'écho 0 0
Echos 0 0
Horodatage 0 0
Réponses par horodatage 0 0
Masques d'adresses 0 0
Réponses aux masques d'adresses 0 0
Sollicitations de routeurs 0 0
Annonces de routeurs 0 0

Statistiques ICMPv6

Reçus Envoyés
Messages 0 25
Erreurs 0 0
Destination inaccessible 0 0
Paquet trop volumineux 0 0
Temps dépassé 0 0
Problèmes de paramètres 0 0
Echos 0 0
Réponses à l'écho 0 0
Requêtes MLD 0 0
Rapports MLD 0 0
MLD Dones 0 0
Sollicitations de routeurs 0 15
Annonces de routeur 0 0
Sollicitations de voisins 0 5
Annonces du voisin 0 5
Redirections 0 0
Renumérotations de routeurs 0 0

Statistiques TCP pour IPv4

Ouvertures actives = 4405
Ouvertures passives = 5
Tentatives de connexion échouées = 164
Connexions réinitialisées = 347
Connexions actuelles = 19
Segments reçus = 980542
Segments envoyés = 674787
Segments retransmis = 5759

Statistiques TCP pour IPv6

Ouvertures actives = 48
Ouvertures passives = 10
Tentatives de connexion échouées = 38
Connexions réinitialisées = 2
Connexions actuelles = 0
Segments reçus = 680
Segments envoyés = 552
Segments retransmis = 128

Statistiques UDP pour IPv4

Datagrammes reçus = 117977
Pas de ports = 1385
Erreurs de réception = 1
Datagrammes envoyés = 54516

Statistiques UDP pour IPv6

Datagrammes reçus = 1036
Pas de ports = 208
Erreurs de réception = 0
Datagrammes envoyés = 1131

Pour trouver rapidement les erreurs, vous pouvez utiliser la syntaxe.

netstat -s | findstr Erreurs
C:\NWindows\NSystem32>netstat -s| findstr Erreurs
 Erreurs d'en-tête reçues = 0
 Erreurs d'adresse reçues = 0
 Erreurs d'en-tête reçues = 0
 Erreurs d'adresse reçues = 0
 Erreurs 0 0
 Erreurs 0 0
 Erreurs de réception = 0
 Erreurs de réception = 0
C:\NWindows\system32>

La commande ci-dessus filtre toutes les erreurs des statistiques de tous les protocoles.

Afficher les informations de routage

Pour afficher la table de routage, vous pouvez utiliser la syntaxe suivante. La syntaxe suivante permet également d’afficher la liste de toutes les interfaces.

netstat -r

Si vous utilisez la commande ci-dessus, vous obtiendrez des informations sur le routage, comme indiqué ci-dessous.

C:\NWindows\Nsystème32>netstat-r
===========================================================================
Liste des interfaces
4...8c 16 45 32 4d 3c ......Realtek PCIe GBE Family Controller
16...d4 6d 6d 27 8a 9a ......Microsoft Wi-Fi Direct Virtual Adapter
5...d6 6d 6d 27 8a 99 ......Microsoft Wi-Fi Direct Virtual Adapter #2
12...d4 6d 6d 27 8a 99 ......Intel(R) Dual Band Wireless-AC 3165
10...d4 6d 6d 27 8a 9d ......Périphérique Bluetooth (réseau personnel)
1...........................Interface de bouclage logiciel 1
===========================================================================

Table de routage IPv4
===========================================================================
Routes actives :
Réseau Destination Masque net Passerelle Interface Métrique
0.0.0.0 0.0.0.0 192.168.43.1 192.168.43.15 55
127.0.0.0 255.0.0.0 En liaison 127.0.0.1 331
127.0.0.1 255.255.255.255 Sur liaison 127.0.0.1 331
127.255.255.255 255.255.255 On-link 127.0.0.1 331
192.168.43.0 255.255.255.0 Sur la liaison 192.168.43.15 311
192.168.43.15 255.255.255.255 Sur le lien 192.168.43.15 311
192.168.43.255 255.255.255.255 Sur la liaison 192.168.43.15 311
224.0.0.0 240.0.0.0 Sur le lien 127.0.0.1 331
224.0.0.0 240.0.0.0 Sur la liaison 192.168.43.15 311
255.255.255.255 255.255.255.255 Sur la liaison 127.0.0.1 331
255.255.255.255 255.255.255.255 Sur le lien 192.168.43.15 311
===========================================================================
Routes persistantes :
Adresse du réseau Masque net Adresse de la passerelle Métrique
0.0.0.0 0.0.0 10.30.28.1 Par défaut
===========================================================================

Table de routage IPv6
===========================================================================
Routes actives :
Si Métrique Réseau Destination Passerelle
1 331 ::1/128 En liaison
12 311 fe80::/64 En liaison
12 311 fe80::998c:d2d:17df:65d9/128
Sur le lien
1 331 ff00::/8 Sur liaison
12 311 ff00::/8 En liaison
===========================================================================
Routes persistantes :
Aucune

Afficher les statistiques de l’interface

Pour afficher l’état de toutes les interfaces, vous pouvez utiliser la syntaxe suivante. Ceci affichera les détails des messages reçus et envoyés.

netstat -e
C:\NWindows\system32>netstat-e
Statistiques de l'interface
 Reçu Envoyé
Octets 8988576 2105244
Paquets unicast 12972 11880
Paquets non unicast 0 0
Rejets 0 0
Erreurs 0 0
Protocoles inconnus 0
C:\NWindows\NSystem32>

Afficher le nom de domaine entièrement qualifié de l’adresse étrangère (hôte distant)

Si vous suivez certains problèmes et que vous souhaitez connaître le nom de domaine complet de l’hôte distant, vous pouvez utiliser la syntaxe suivante.

netstat -f

Si vous exécutez la commande ci-dessus, vous obtiendrez le résultat suivant.

C:\NWindows\Nsystème32>netstat-f
Proto Adresse locale Adresse étrangère État
TCP 192.168.43.15:50664 40.90.189.152:https LISTENING
TCP 192.168.43.15:51437 104.27.119.115:https ESTABLISHED

Note : vous pouvez combiner la syntaxe findstr pour afficher des résultats précis comme ci-dessous.

netstat -f | findstr ESTABLISHED

La commande ci-dessus filtrera les connexions et n’affichera que les connexions établies. Voyons un exemple.

C:\NWindows\system32>netstat-f | findstr ESTABLISHED
TCP 192.168.43.15:51437 104.27.119.115:https ESTABLISHED

Nous pouvons filtrer les connexions en utilisant le domaine avec la commande suivante.

netstat -f | findstr $domainnameifyouknow

Spécifiez le domaine dans la commande et vous verrez les connexions filtrées comme suit.

C:\NWindows\system32>netstat-f | findstr ec2-52-202-6-97.compute-1.amazonaws.com
TCP 192.168.43.15:52573 ec2-52-202-6-97.compute-1.amazonaws.com:https ESTABLISHED

J’espère que cela vous aidera à vous familiariser avec l’utilisation de la commande netstat sous Windows. Si vous êtes intéressé par l’apprentissage de l’administration Windows, je vous suggère de consulter ce cours.