🌐 Commandes réseau utiles sous Linux et Windows
Voici un petit mémo des commandes réseau que j’utilise régulièrement sous Linux et Windows.
Elles permettent de vérifier la connectivité, comprendre la configuration réseau d’une machine, diagnostiquer un problème DNS, consulter les routes, observer les connexions ou encore analyser un réseau avec Nmap.
L’objectif n’est pas de connaître 50 commandes par cœur : avec quelques commandes bien maîtrisées, on peut déjà faire une grosse partie du diagnostic réseau.
📡 Tester la connectivité
ping
La commande ping permet de vérifier si une machine distante est joignable au niveau IP.
ping 8.8.8.8
Ou avec un nom DNS :
ping google.com
Cela permet également de vérifier que la résolution DNS fonctionne.
Pour envoyer seulement quelques paquets :
ping -c 4 8.8.8.8
Sous Windows :
ping 8.8.8.8
💡 Petit diagnostic
Si :
ping 8.8.8.8
fonctionne mais que :
ping google.com
ne fonctionne pas, le problème peut venir de la résolution DNS plutôt que de la connexion Internet.
🖧 Configuration réseau
Linux : ip a
Affiche les interfaces réseau et leurs adresses IP.
ip a
Version plus courte :
ip -br a
Cette dernière est particulièrement pratique pour avoir une vision rapide :
lo UNKNOWN 127.0.0.1/8
enp3s0 UP 192.168.1.20/24
On peut également interroger une interface précise :
ip addr show enp3s0
Windows : ipconfig
La commande équivalente sous Windows est :
ipconfig
Pour obtenir davantage d’informations :
ipconfig /all
On retrouve notamment :
- adresse IPv4 ;
- adresse IPv6 ;
- masque réseau ;
- passerelle par défaut ;
- serveurs DNS ;
- adresse MAC ;
- informations DHCP.
🛣️ La table de routage
La table de routage indique à la machine où envoyer les paquets.
Linux : ip route
ip route
ou :
ip route show
Exemple :
default via 192.168.1.1 dev enp3s0
192.168.1.0/24 dev enp3s0 proto kernel scope link src 192.168.1.20
La ligne :
default via 192.168.1.1
indique la passerelle par défaut.
Pour savoir quelle route sera utilisée pour atteindre une adresse précise :
ip route get 8.8.8.8
C’est une commande très pratique pour comprendre par quelle interface et quelle passerelle Linux va envoyer les paquets.
Windows : route print
Sous Windows :
route print
Cette commande affiche la table de routage IPv4 et IPv6.
🔌 Connexions réseau
ss
Aujourd’hui, sous Linux, je conseille plutôt ss que netstat.
ss
Pour afficher les connexions TCP :
ss -t
Les sockets en écoute :
ss -l
TCP et UDP en écoute :
ss -tuln
Avec les processus associés :
sudo ss -tulpn
Cette dernière commande est particulièrement intéressante lorsqu’on cherche à savoir quel service écoute sur quel port.
Exemple :
LISTEN 0 128 0.0.0.0:22
Cela indique qu’un service écoute sur le port TCP 22.
netstat
netstat est une ancienne commande toujours rencontrée dans beaucoup de documentations.
Elle peut notamment afficher les connexions réseau :
netstat -tuln
La table de routage :
netstat -r
Les statistiques réseau :
netstat -s
Sur les distributions modernes, ss est généralement préférable.
Pour retrouver netstat, il faut installer le paquet :
sudo dnf install net-tools
Sous Debian/Ubuntu :
sudo apt install net-tools
🖥️ Voir les voisins du réseau local
ip neigh
Linux possède également une commande très pratique pour consulter les voisins connus sur le réseau local :
ip neigh
Exemple :
192.168.1.1 dev enp3s0 lladdr aa:bb:cc:dd:ee:ff REACHABLE
On retrouve notamment :
- l’adresse IP ;
- l’interface réseau ;
- l’adresse MAC ;
- l’état de la connexion.
C’est l’équivalent moderne de l’utilisation classique de arp -a.
arp -a
Ancienne commande permettant d’afficher la table ARP :
arp -a
Elle fait partie de net-tools.
Sous Linux moderne, préférez :
ip neigh
🌍 DNS
Le DNS permet notamment de traduire un nom comme :
google.com
en adresse IP.
nslookup
nslookup permet d’interroger un serveur DNS.
nslookup google.com
On peut également préciser le serveur DNS utilisé :
nslookup google.com 1.1.1.1
Sous Windows, nslookup est disponible nativement.
Sous Debian/Ubuntu, il peut être fourni par :
sudo apt install dnsutils
dig
dig est particulièrement pratique pour le diagnostic DNS.
dig google.com
Pour obtenir uniquement l’adresse IP :
dig +short google.com
Pour demander un enregistrement particulier :
dig google.com MX
Ou les serveurs DNS faisant autorité :
dig google.com NS
Pour interroger directement un serveur DNS :
dig @1.1.1.1 google.com
💡 À retenir
nslookup est simple et disponible notamment sous Windows.
dig est plus complet et très pratique lorsqu’on veut analyser précisément une réponse DNS.
🧭 Tracer le chemin vers une machine
traceroute
traceroute permet d’observer les différents routeurs traversés pour atteindre une destination.
traceroute google.com
Sous Fedora :
sudo dnf install traceroute
Sous Debian/Ubuntu :
sudo apt install traceroute
Sous Windows, la commande équivalente est :
tracert google.com
⚠️ Attention
Un routeur peut volontairement ne pas répondre aux requêtes utilisées par traceroute.
Un * * * ne signifie donc pas forcément qu’il y a une panne.
🌐 HTTP et HTTPS avec curl
curl est une commande extrêmement pratique.
Elle permet notamment d’interroger des serveurs HTTP/HTTPS, télécharger des fichiers ou tester une API.
Afficher la réponse d’un site :
curl https://example.com
Afficher uniquement les en-têtes HTTP :
curl -I https://example.com
Télécharger un fichier :
curl -O https://example.com/fichier.zip
-O permet de conserver le nom du fichier fourni par le serveur.
On peut également choisir le nom du fichier :
curl -o mon-fichier.zip https://example.com/fichier.zip
Suivre les redirections :
curl -L https://example.com
Afficher davantage d’informations pendant la connexion :
curl -v https://example.com
Cette dernière option est très intéressante pour comprendre ce qui se passe lors d’une connexion HTTP/HTTPS.
🔎 Informations sur un domaine
whois
whois permet de consulter les informations publiques disponibles sur un domaine ou une adresse IP selon le registre concerné.
Exemple :
whois example.com
Sous Fedora :
sudo dnf install whois
Sous Debian/Ubuntu :
sudo apt install whois
Sous Windows, il existe également un outil Whois proposé par Microsoft Sysinternals.
🔐 Connexion SSH
SSH permet d’administrer une machine distante de manière sécurisée.
Connexion classique :
ssh utilisateur@192.168.1.20
Si le serveur SSH utilise un port différent du port 22 :
ssh -p 2222 utilisateur@192.168.1.20
On peut également utiliser un nom DNS :
ssh utilisateur@serveur.example.local
💡 Tester avant de se connecter
On peut vérifier si le port SSH est accessible avec :
nc -zv 192.168.1.20 22
ou avec Nmap :
nmap -p 22 192.168.1.20
Sous Windows, le client OpenSSH est désormais intégré aux versions modernes de Windows.
Des logiciels comme PuTTY restent également disponibles.
🕵️ Scanner un réseau avec Nmap
Nmap est un outil incontournable pour l’administration réseau et la cybersécurité.
Il permet notamment de découvrir des hôtes, identifier des ports ouverts et détecter certains services.
⚠️ Important
Nmap doit être utilisé uniquement sur des machines et réseaux que vous êtes autorisé à analyser.
Découvrir les machines présentes
Pour rechercher les hôtes actifs d’un réseau :
nmap -sn 192.168.1.0/24
-sn réalise une découverte d’hôtes sans effectuer de scan de ports classique.
Ancienne documentation :
nmap -sPétait utilisé pour cette fonction. Aujourd’hui,-snest la syntaxe recommandée.
Scanner les ports
Pour scanner les ports TCP d’une machine :
nmap 192.168.1.20
Pour scanner tous les ports TCP :
nmap -p- 192.168.1.20
Les ports vont de :
1 à 65535
Détecter les services et leurs versions
nmap -sV 192.168.1.20
Nmap va essayer d’identifier les services présents derrière les ports ouverts.
Par exemple :
22/tcp open ssh
80/tcp open http
443/tcp open https
Avec -sV, Nmap peut également tenter d’identifier la version du service.
Combiner plusieurs options
Par exemple :
nmap -sV -p- 192.168.1.20
On demande ici à Nmap :
- de scanner tous les ports TCP ;
- d’identifier les services et leurs versions.
🧰 Quelques commandes à retenir en priorité
Si vous débutez en administration système ou réseau, je vous conseille surtout de retenir celles-ci :
| Commande | Utilisation |
|---|---|
ping |
Tester la connectivité |
ip a |
Voir les interfaces et adresses IP |
ip route |
Voir les routes |
ip neigh |
Voir les voisins réseau |
ss -tuln |
Voir les ports en écoute |
dig |
Diagnostiquer le DNS |
traceroute |
Observer le chemin réseau |
curl |
Tester HTTP/HTTPS |
ssh |
Administrer une machine distante |
nmap |
Découvrir et analyser un réseau |
Sous Windows, les équivalents les plus utiles sont :
| Linux | Windows |
|---|---|
ip a |
ipconfig /all |
ip route |
route print |
ip neigh |
arp -a |
traceroute |
tracert |
ping |
ping |
nslookup |
nslookup |
ss |
netstat |
ssh |
ssh |
🧠 Une méthode simple pour diagnostiquer un problème réseau
Quand une machine n’arrive plus à accéder à Internet, inutile de lancer immédiatement 25 commandes.
On peut commencer simplement :
1️⃣ Vérifier l’interface
ip -br a
L’interface doit être active et posséder une adresse IP.
2️⃣ Vérifier la passerelle
ip route
On vérifie notamment la présence d’une route default.
3️⃣ Tester la passerelle
ping 192.168.1.1
4️⃣ Tester Internet sans DNS
ping 1.1.1.1
5️⃣ Tester le DNS
ping google.com
ou :
dig google.com
6️⃣ Tester HTTP/HTTPS
curl -I https://google.com
Cette méthode permet déjà de déterminer à quel niveau se situe probablement le problème :
Interface
↓
Passerelle
↓
Internet / IP
↓
DNS
↓
HTTP / HTTPS
🐧 Le petit mémo à garder sous la main
# Interfaces
ip -br a
# Routes
ip route
# Voisins / ARP
ip neigh
# Connectivité
ping -c 4 8.8.8.8
# Ports en écoute
ss -tuln
# DNS
dig +short google.com
# Traceroute
traceroute google.com
# HTTP
curl -I https://example.com
# SSH
ssh user@192.168.1.20
# Découverte réseau
nmap -sn 192.168.1.0/24
# Ports
nmap -p- 192.168.1.20
# Services / versions
nmap -sV 192.168.1.20
👉 À mon avis, ces quelques commandes couvrent déjà une énorme partie des besoins quotidiens en administration Linux, réseau et premiers diagnostics de cybersécurité.