Retour au cours

commandes réseau : diagnostic et connectivité

Objectifs

  • Vérifier la connectivité de base avec un hôte distant en utilisant ping.
  • Inspecter la configuration réseau de votre propre machine avec ip.
  • Effectuer des requêtes DNS pour résoudre un nom de domaine avec dig.
  • Tester si un port spécifique est ouvert sur un serveur avec nc.

Ces quatre commandes sont la boîte à outils de base de tout administrateur système pour diagnostiquer des problèmes réseau.

ping : Le test de connectivité fondamental

ping est l’outil le plus simple pour vérifier deux choses :

  1. Une machine distante est-elle “joignable” sur le réseau ?
  2. Quel est le temps de réponse (la latence) pour la joindre ?

Il envoie un petit paquet réseau (ICMP “echo request”) et attend une réponse.

# Envoyer des pings en continu (arrêter avec Ctrl+C)
ping google.com

# Envoyer 4 paquets, puis s'arrêter (-c pour count)
ping -c 4 1.1.1.1

Si vous obtenez des réponses, cela signifie que la connectivité de base fonctionne.

ip : Votre carte d’identité réseau

La commande ip est l’outil moderne et standard pour afficher et manipuler la configuration réseau de votre machine (elle remplace l’ancienne commande ifconfig).

  • ip address (ou son raccourci ip a) : Affiche les interfaces réseau de votre machine et les adresses IP qui leur sont associées. C’est la commande à utiliser pour connaître votre propre adresse IP.

    ip a
    # 1: lo: <LOOPBACK,UP,...>
    #    inet 127.0.0.1/8 scope host lo
    # 2: enp0s3: <BROADCAST,MULTICAST,UP,...>
    #    inet 192.168.1.15/24 brd 192.168.1.255 scope global enp0s3

    Ici, l’adresse IP de la machine sur le réseau local est 192.168.1.15.

  • ip route : Affiche la table de routage, c’est-à-dire comment votre système décide d’envoyer les paquets vers l’extérieur (notamment l’adresse de votre “passerelle par défaut” ou “gateway”).

dig : Interroger l’annuaire d’Internet (DNS)

Quand vous tapez google.com dans votre navigateur, votre ordinateur doit d’abord demander à un serveur DNS “Quelle est l’adresse IP de google.com ?”. La commande dig (Domain Information Groper) permet de faire cette requête manuellement.

dig google.com

Dans la section ANSWER SECTION de la sortie, vous verrez l’adresse IP (l’enregistrement “A”) associée à ce nom. dig peut aussi demander d’autres types d’enregistrements, comme les serveurs de mail (MX).

nc : Le couteau suisse du réseau

nc (ou netcat) est un outil très puissant qui peut établir des connexions réseau TCP et UDP. Son usage le plus simple et le plus courant pour le diagnostic est de tester si un port est ouvert sur un serveur distant.

# Teste si le port 443 (HTTPS) est ouvert sur github.com
nc -zv github.com 443
# -z : ne pas envoyer de données, juste scanner
# -v : verbeux, pour avoir un message clair

# Sortie si succès :
# Connection to github.com port 443 [tcp/https] succeeded!

# Teste un port qui est probablement fermé
nc -zv github.com 1234
# -> nc: connect to github.com port 1234 (tcp) failed: Connection refused

C’est très utile pour vérifier qu’un pare-feu ne bloque pas la connexion à votre service.

Bonnes pratiques

  • Face à un problème réseau, suivez une méthode :
    1. Je me ping moi-même ? (ping localhost)
    2. Je ping ma passerelle ?
    3. Je ping une adresse IP externe connue ? (ping 8.8.8.8)
    4. Je ping un nom de domaine ? (ping google.com). Si l’étape 3 marche mais pas la 4, c’est probablement un problème de DNS.
  • Utilisez ip a et non l’ancienne commande ifconfig.

Pièges courants

  • Un ping qui ne répond pas ne signifie pas toujours que le serveur est éteint. De nombreux pare-feu sont configurés pour bloquer les requêtes ping (ICMP) par mesure de sécurité.
  • nc qui réussit ne signifie pas que votre application fonctionne, mais seulement que le port est ouvert au niveau réseau.

Exercices

  1. Vérifier la connectivité :

    • Exécutez un ping -c 3 google.com. Quelle est la latence moyenne ?
  2. Trouver votre IP :

    • Exécutez ip a. Repérez le nom de votre interface réseau principale (souvent eth0 ou enp...) et son adresse inet.
  3. Résoudre un nom de domaine :

    • Utilisez dig pour trouver l’adresse IP du site wikipedia.org.
  4. Tester un port :

    • Utilisez nc -zv pour vérifier si le port 22 (SSH) est ouvert sur github.com.
    • Note : ce test peut ne pas fonctionner si votre réseau d’entreprise bloque le port 22 sortant.