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.