>> Technologie Électronique >  >> Maison intelligente >> Vie connectée

Comment utiliser les commandes Netstat sous Windows

netstat (Network Statistics) affiche les connexions réseau actives, ports en écoute, tables de routage, statistiques d'interface. Outil natif Windows (CMD/PowerShell), indispensable pour diagnostic réseau, détection malware, analyse ports.

Ouvrir l'invite de commandes

  • Win+R → cmd (ou powershell).
  • Pour droits admin (certains switches) : Win+X → « Terminal (Admin) » / « Invite de commandes (Admin) ».

Commandes essentielles (cheat sheet)

Combinaisons puissantes

# Connexions actives + PID + noms processus (Admin requis pour -b)
netstat -ano | findstr :80          # qui écoute sur port 80 ?
netstat -ano | findstr ESTABLISHED  # connexions établies seulement

# Surveillance continue (rafraîchissement)
netstat -an 5                       # actualise toutes les 5 secondes (Ctrl+C pour arrêter)

# Export fichier
netstat -ano > C:\netstat_log.txt   # redirection
netstat -ano | Out-File -Encoding UTF8 C:\netstat_log.txt  # PowerShell propre

Interprétation colonnes (netstat -ano)

Proto  Adresse locale         Adresse distante       État           PID
TCP    0.0.0.0:80             0.0.0.0:0              LISTENING      4356
TCP    192.168.1.10:54321     93.184.216.34:443      ESTABLISHED    8212
UDP    [::]:5355              *:*                                    1234
  • Proto : TCP / UDP / TCPv6 / UDPv6.
  • Adresse locale : IP:port local. 0.0.0.0 = toutes interfaces (écoute). 127.0.0.1 = localhost seulement.
  • Adresse distante : IP:port distant. 0.0.0.0:0 ou *:* = en écoute (pas de distant).
  • État (TCP) : LISTENING (en écoute), ESTABLISHED (connecté), TIME_WAIT (fermeture), SYN_SENT/RECEIVED (établissement), CLOSE_WAIT (attente fermeture appli).
  • PID : identifiant processus. Croisez avec tasklist | findstr <PID> ou Gestionnaire des tâches → onglet Détails → PID.

PowerShell moderne (alternative plus riche)

Get-NetTCPConnection -State Established | Select LocalAddress,LocalPort,RemoteAddress,RemotePort,OwningProcess,State
Get-NetUDPEndpoint | Select LocalAddress,LocalPort,OwningProcess
# Avec nom de processus :
Get-NetTCPConnection | Select *, @{N='ProcessName';E={(Get-Process -Id $_.OwningProcess).ProcessName}}

Cas d'usage concrets

  • Port 80/443 occupé ? netstat -ano | findstr :80 → PID → tasklist | findstr <PID> → Apache/IIS/nginx ?
  • Connexion suspecte vers IP inconnue ? netstat -an | findstr ESTABLISHED → whois IP distante.
  • Fuite DNS / VPN ? netstat -an | findstr :53 (DNS) — devrait pointer vers votre DNS/VPN, pas FAI.
  • Malware beaconing ? Connexions régulières (toutes les 60 s) vers IP rare, PID inconnu → analysez l'exécutable (VirusTotal).
Vie connectée
CommandeDescriptionUsage typique
netstatConnexions TCP actives (établi)Vue rapide
netstat -aTOUTES connexions + ports en écoute (LISTENING)Voir ports ouverts
netstat -anIdem -a mais **adresses IP numériques** (pas de résolution DNS = plus rapide)Diagnostic rapide
netstat -ano-an + **PID** (Process ID) → identifie le processus propriétaireTrouver quel programme utilise un port
netstat -bAffiche l'**exécutable** (nécessite Admin)Identifier le .exe sans croiser PID
netstat -p TCPFiltre protocole TCP seulementFocus TCP
netstat -p UDPFiltre UDP seulementFocus UDP (DNS, streaming, VPN)
netstat -rTable de **routage** (passerelle, masques, interfaces)Diagnostic routage, VPN
netstat -sStatistiques **par protocole** (IP, ICMP, TCP, UDP) — compteurs erreurs, retransmissionsPerformance, pertes paquets
netstat -eStatistiques **interface** (octets/paquets envoyés/reçus, erreurs)Trafic global interface
netstat -fAffiche **FQDN** (noms complets) au lieu d'IPIdentification hôtes