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 :
- Une machine distante est-elle “joignable” sur le réseau ?
- 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 raccourciip 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 enp0s3Ici, 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 :
- Je me ping moi-même ? (
ping localhost) - Je ping ma passerelle ?
- Je ping une adresse IP externe connue ? (
ping 8.8.8.8) - 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.
- Je me ping moi-même ? (
- Utilisez
ip aet non l’ancienne commandeifconfig.
Pièges courants
- Un
pingqui ne répond pas ne signifie pas toujours que le serveur est éteint. De nombreux pare-feu sont configurés pour bloquer les requêtesping(ICMP) par mesure de sécurité. ncqui réussit ne signifie pas que votre application fonctionne, mais seulement que le port est ouvert au niveau réseau.
Exercices
-
Vérifier la connectivité :
- Exécutez un
ping -c 3 google.com. Quelle est la latence moyenne ?
- Exécutez un
-
Trouver votre IP :
- Exécutez
ip a. Repérez le nom de votre interface réseau principale (souventeth0ouenp...) et son adresseinet.
- Exécutez
-
Résoudre un nom de domaine :
- Utilisez
digpour trouver l’adresse IP du sitewikipedia.org.
- Utilisez
-
Tester un port :
- Utilisez
nc -zvpour vérifier si le port22(SSH) est ouvert surgithub.com. - Note : ce test peut ne pas fonctionner si votre réseau d’entreprise bloque le port 22 sortant.
- Utilisez