Aller au contenu

Windows

Les commandes ci-dessous s’exécutent depuis cmd.exe comme depuis PowerShell. Celles qui modifient l’état du poste (bail DHCP, cache DNS, table ARP) demandent une invite lancée en administrateur.

CommandeEffet
ipconfigAdresse IPv4/IPv6, masque et passerelle de chaque interface
ipconfig /allVue détaillée : adresse MAC, serveur DHCP, serveurs DNS, durée du bail
ipconfig /releaseLibère le bail DHCP IPv4 (/release6 pour IPv6)
ipconfig /renewDemande un nouveau bail au serveur DHCP
ipconfig /registerdnsForce l’enregistrement dynamique du nom auprès du DNS
CommandeEffet
ipconfig /displaydnsAffiche le cache de résolution local
ipconfig /flushdnsVide ce cache, utile après un changement d’enregistrement
nslookup <domaine>Interroge le serveur DNS configuré sur l’interface
nslookup <domaine> <serveur>Interroge un serveur DNS précis, pour comparer les réponses
nslookup -type=MX <domaine>Cible un type d’enregistrement (A, AAAA, MX, TXT, NS, CNAME, SOA)

Le signe = est obligatoire dans -type=. Sans lui, nslookup traite l’argument comme un nom à résoudre.

CommandeEffet
netstat -aToutes les connexions et tous les ports en écoute
netstat -nAdresses et ports en numérique, sans résolution DNS
netstat -oAjoute le PID du processus propriétaire de la socket
netstat -anoCombinaison courante pour relier un port à un processus
netstat -anobAjoute le nom de l’exécutable, nécessite une élévation
netstat -rTable de routage, équivalent de route print

Le contexte : un service refuse de démarrer parce que son port est déjà pris. netstat donne le PID, tasklist donne le nom.

Fenêtre de terminal
netstat -ano | findstr :8080
tasklist /fi "pid eq 1234"
CommandeEffet
arp -aCache ARP courant, correspondances IP vers MAC
arp -d <IP>Supprime une entrée (arp -d * purge le cache)
arp -s <IP> <MAC>Ajoute une entrée statique
CommandeEffet
ping <destination>Quatre échos ICMP (-t en continu, -n <nombre> pour fixer le total)
tracert <destination>Liste les routeurs traversés jusqu’à la destination
pathping <destination>Trace le chemin puis mesure les pertes saut par saut
route printTable de routage complète, IPv4 et IPv6

pathping interroge chaque saut pendant environ 25 secondes. Sur un chemin de dix routeurs, comptez plusieurs minutes avant le rapport final.

CommandeEffet
net useListe les connexions réseau et lecteurs montés
net use <lettre>: \\<serveur>\<partage>Monte un partage SMB
net use <lettre>: /deleteDémonte le partage
net view \\<machine>Liste les partages exposés par une machine
nbtstat -nNoms NetBIOS enregistrés localement
nbtstat -a <nom>Table de noms d’une machine distante désignée par son nom
nbtstat -A <IP>Même chose, en désignant la machine par son adresse IP
nbtstat -cCache des noms NetBIOS résolus

Le chemin UNC prend deux antislashs (\\serveur\partage). net view sans argument dépend du service Explorateur d’ordinateurs et de SMBv1, désactivé par défaut depuis Windows 10 : la commande retourne souvent une erreur 6118 sur un réseau récent.

CommandeEffet
hostnameNom de l’ordinateur
getmac /vAdresses MAC avec le nom et l’état de chaque interface
CommandeEffet
telnet <hôte> <port>Test de connexion TCP brut
ssh <utilisateur>@<hôte> -p <port>Session SSH via le client OpenSSH intégré
mstsc /v:<hôte>:<port>Ouvre le Bureau à distance sur une machine donnée

Le client Telnet n’est pas installé par défaut. Il s’ajoute via la fonctionnalité facultative « Client Telnet », ou en ligne de commande :

Fenêtre de terminal
dism /online /Enable-Feature /FeatureName:TelnetClient

Le client OpenSSH est présent depuis Windows 10 version 1809.

Les binaires historiques restent disponibles, mais les cmdlets renvoient des objets exploitables dans un pipeline plutôt que du texte à découper.

Commande historiqueCmdlet
ipconfig /allGet-NetIPConfiguration -Detailed
netstat -anoGet-NetTCPConnection
nslookup <domaine>Resolve-DnsName <domaine>
ipconfig /flushdnsClear-DnsClientCache
arp -aGet-NetNeighbor
route printGet-NetRoute
ping <hôte>Test-NetConnection <hôte>
telnet <hôte> <port>Test-NetConnection <hôte> -Port <port>

Test-NetConnection remplace utilement telnet pour vérifier l’ouverture d’un port, sans installer de fonctionnalité supplémentaire :

Fenêtre de terminal
Test-NetConnection srv-app -Port 443
# TcpTestSucceeded : True
Fenêtre de terminal
Get-NetTCPConnection -LocalPort 8080 |
Select-Object LocalAddress, LocalPort, State, OwningProcess,
@{ Name = 'Process'; Expression = { (Get-Process -Id $_.OwningProcess).ProcessName } }