Commandes pour tester la connectivité, mesurer la latence et tracer le chemin des paquets.

Sujets associés : Pile réseau — Vue d’ensemble, ICMP, Paquets IP et TCP


ping — test de connectivité ICMP

# Ping basique
ping google.com
ping 8.8.8.8
 
# Limiter le nombre de paquets
ping -c 4 google.com
 
# Ping IPv6
ping6 google.com
ping -6 google.com
 
# Modifier la taille du paquet (défaut : 56 octets)
ping -s 1400 google.com
 
# Intervalle entre paquets (défaut : 1s)
ping -i 0.2 google.com        # 200ms entre chaque
ping -f google.com            # flood ping (root requis)
 
# Timeout de réponse
ping -W 2 google.com          # abandonne après 2s sans réponse
 
# Ping via une interface spécifique
ping -I eth0 8.8.8.8

Lecture du résultat :

64 bytes from 142.250.74.238: icmp_seq=1 ttl=117 time=12.3 ms
                                          │              │
                                          │              └─ latence aller-retour
                                          └─ TTL restant (128 ou 64 au départ)

traceroute / tracepath — tracer le chemin réseau

# Traceroute UDP (par défaut sur Linux)
traceroute google.com
 
# Traceroute ICMP (comme Windows tracert)
traceroute -I google.com
 
# Traceroute TCP sur port spécifique (utile si UDP bloqué)
traceroute -T -p 443 google.com
 
# Sans résolution DNS (plus rapide)
traceroute -n google.com
 
# Limiter le TTL max (nombre de sauts)
traceroute -m 15 google.com
 
# Spécifier l'interface source
traceroute -i eth0 google.com
 
# tracepath (alternative sans root, moins d'options)
tracepath google.com

Lecture :

 1  192.168.1.1     1.234 ms    ← routeur local (gateway)
 2  10.0.0.1        5.678 ms    ← routeur ISP
 3  * * *                       ← saut qui ne répond pas (firewall ICMP)
 4  142.250.74.238  12.3 ms     ← destination

mtr — traceroute en temps réel (recommandé)

mtr combine ping + traceroute avec statistiques continues.

# Mode interactif (mise à jour en temps réel)
mtr google.com
 
# Mode rapport (non interactif, N paquets)
mtr --report --report-cycles 10 google.com
 
# Sans résolution DNS
mtr -n google.com
 
# Forcer TCP (port 443)
mtr --tcp --port 443 google.com
 
# Forcer ICMP
mtr --icmp google.com
 
# Sortie JSON
mtr --json google.com

Colonnes mtr :

Host              Loss%   Snt   Last    Avg    Best   Wrst  StDev
1. 192.168.1.1     0.0%    10    1.2    1.3    1.0    1.8    0.2
2. 10.0.0.1        0.0%    10    5.1    5.3    4.9    6.2    0.4
3. ???            100.0%    10    ---    ---    ---    ---    ---  ← ICMP bloqué
4. 142.250.74.238  0.0%    10   12.3   12.1   11.8   13.1    0.4

nmap — scan de ports et découverte réseau

# Scan des ports TCP les plus courants
nmap 192.168.1.1
nmap google.com
 
# Scan d'un réseau entier (découverte d'hôtes)
nmap 192.168.1.0/24
 
# Scan de ports spécifiques
nmap -p 80,443,8080 192.168.1.1
nmap -p 1-1000 192.168.1.1
nmap -p- 192.168.1.1           # tous les 65535 ports
 
# Scan UDP
nmap -sU -p 53,67,123 192.168.1.1
 
# Découverte d'hôtes sans scan de ports (ping scan)
nmap -sn 192.168.1.0/24
 
# Scan furtif SYN (half-open, root requis)
sudo nmap -sS 192.168.1.1
 
# Détection version des services
nmap -sV 192.168.1.1
 
# Détection OS
sudo nmap -O 192.168.1.1
 
# Scan complet avec détection OS et services
sudo nmap -A 192.168.1.1
 
# Sans résolution DNS (plus rapide)
nmap -n 192.168.1.0/24
 
# Scan agressif (SYN + version + OS + scripts)
sudo nmap -A -T4 192.168.1.1

arping — ping au niveau ARP (L2)

# Vérifier si une IP est utilisée sur le réseau local
arping -I eth0 192.168.1.50
 
# Envoyer N requêtes
arping -c 3 -I eth0 192.168.1.1
 
# Trouver l'adresse MAC d'une IP
arping -I eth0 192.168.1.1

Cas d’usage courants

# Diagnostiquer une perte de connectivité
ping -c 4 192.168.1.1      # 1. routeur local accessible ?
ping -c 4 8.8.8.8          # 2. Internet accessible (IP) ?
ping -c 4 google.com       # 3. DNS fonctionne ?
 
# Identifier où ça coince
mtr --report google.com    # voir quel saut introduit la perte
 
# Vérifier si un service est joignable
nmap -p 443 api.exemple.com   # port 443 ouvert ?
traceroute -T -p 443 api.exemple.com  # chemin vers ce port

En relation avec