Vous êtes sur la page 1sur 6

Net-Pro Par : GHAOUTI Mohamed

Diagnostiquer un réseau complexe regroupant différents protocoles peut s'avérer ardu.

La plupart des systèmes d'exploitation fournit des outils rudimentaires permettant de détecter des
éventuels problèmes de réseau. Parmi ceux-ci, on peut citer Ping, Nslookup, Whois, Netstat et
Traceroute.

Cet article reprend chacun des outils cités précédemment et les détaille. Ces outils sont le minimum
nécessaire pour diagnostiquer un réseau avant d'effectuer une intervention matérielle ou via un logiciel
spécialisé.

Sommaire

 Introduction
 1. Ping
 2. Traceroute
 5. Netstat
 4. Whois
 5. Nslookup
 Conclusion :

Introduction

La gestion d’un réseau peut s’avérer complexe en raison du nombre important de protocoles
mis en jeu et des systèmes hétérogènes.

Le fait d’ajouter une nouvelle machine sur un réseau peut être automatisé par des
programmes. Cependant, pour certifier que la dite machine est bien mise en place, quelques
outils rudimentaires sont mises en place sur la plupart des systèmes d’exploitation. Parmi
ceux-ci, on peut citer ping, traceroute et nslookup.

Pour diagnostiquer une panne sur un équipement ou pour tester le réseau, on peut aussi
utiliser les commandes traceroute, nslookup ou whois.

Ainsi, quelle que soit la raison de l’usage de ces commandes, ces outils peuvent s’avérer
indispensables.

1. Ping

Ping est sans conteste le plus connu des outils réseau et le plus utilisé afin de détecter la présence ou
non d’une machine sur le réseau par simple envoi d’un paquet.

Cette commande utilise le protocole ICMP (Internet Control Message Protocol), en particulier 2 types
de messages :

Type 0 correspondant à « echo request », émis par la machine source


Type 8 correspondant à « echo reply », émis par la machine cible si elle reçoit « echo request »

03/02/2009 1/6 napster_simon@hotmail.com


Net-Pro Par : GHAOUTI Mohamed

La commande de base est la suivante :

Ping adresse_de_la_machine_sur_le_réseau
ex : ping 192.168.5.10

Dans la pratique, la machine source (celle où on tape la commande ping) envoie un « echo request »
vers l’adresse indiquée. Si elle existe effectivement sur le réseau, la machine cible reçoit ce paquet et
réplique par un « echo reply ».

Dans le cas contraire, la machine source attend un certain laps de temps avant de réexpédier le
« echo request » vers cette adresse. Par défaut, ce laps de temps correspond à une seconde.

Même si la machine source reçoit un « echo reply » de la machine cible, elle renvoie après le laps de
temps un paquet « echo request ».

Ainsi, la commande Ping utilise une itération d’appels à une fonction d’envoi/réception de requêtes du
protocole ICMP qui boucle n fois. N étant paramétrable. Par défaut sous Windows, Ping itère 4 fois
tandis que sous Unix/Linux, elle itère à l’infini jusqu’à ce que l’utilisateur l’interrompe par un simple
CTRL+C.

Sous Windows, on a ce résultat de la commande :

C:\>ping www.google.com

Envoi d'une requête 'ping' sur www.l.google.com [64.233.183.99] avec 32 octets de


données :

Réponse de 64.233.183.99 : octets=32 temps=59 ms TTL=244


Réponse de 64.233.183.99 : octets=32 temps=58 ms TTL=244
Réponse de 64.233.183.99 : octets=32 temps=59 ms TTL=244
Réponse de 64.233.183.99 : octets=32 temps=58 ms TTL=244

Statistiques Ping pour 64.233.183.99:


Paquets : envoyés = 4, reçus = 4, perdus = 0 (perte 0%),
Durée approximative des boucles en millisecondes :
Minimum = 58ms, Maximum = 59ms, Moyenne = 58ms

Sur une distribution Debian, on a :

debian:~# ping www.google.com


PING www.google.com (64.233.183.103) 56(84) bytes of data.
64 bytes from 64.233.183.103: icmp_seq=1 ttl=244 time=52.8 ms
64 bytes from 64.233.183.103: icmp_seq=2 ttl=244 time=51.9 ms
64 bytes from 64.233.183.103: icmp_seq=3 ttl=244 time=48.5 ms
64 bytes from 64.233.183.103: icmp_seq=4 ttl=244 time=52.9 ms
64 bytes from 64.233.183.103: icmp_seq=5 ttl=244 time=47.9 ms
64 bytes from 64.233.183.103: icmp_seq=6 ttl=244 time=52.2 ms
64 bytes from 64.233.183.103: icmp_seq=7 ttl=244 time=50.5 ms
64 bytes from 64.233.183.103: icmp_seq=8 ttl=244 time=47.5 ms
64 bytes from 64.233.183.103: icmp_seq=9 ttl=244 time=54.1 ms
64 bytes from 64.233.183.103: icmp_seq=10 ttl=244 time=49.0 ms
64 bytes from 64.233.183.103: icmp_seq=11 ttl=244 time=52.9 ms
64 bytes from 64.233.183.103: icmp_seq=12 ttl=244 time=51.9 ms

03/02/2009 2/6 napster_simon@hotmail.com


Net-Pro Par : GHAOUTI Mohamed

64 bytes from 64.233.183.103: icmp_seq=13 ttl=244 time=48.4 ms


64 bytes from 64.233.183.103: icmp_seq=14 ttl=244 time=76.9 ms
64 bytes from 64.233.183.103: icmp_seq=15 ttl=244 time=47.2 ms
64 bytes from 64.233.183.103: icmp_seq=16 ttl=244 time=53.0 ms
64 bytes from 64.233.183.103: icmp_seq=17 ttl=244 time=42.9 ms
64 bytes from 64.233.183.103: icmp_seq=18 ttl=244 time=49.9 ms

--- www.google.com ping statistics ---


18 packets transmitted, 18 received, 0% packet loss, time 17017ms
rtt min/avg/max/mdev = 42.998/51.744/76.980/6.718 ms

La sortie de la commande ping permet ainsi de connaître :

 Adresse IP correspondant à l’adresse de la machine cible


 Le numéro de séquence ICMP (sous Unix/Linux)
 La durée de vie (ttl) correspondant au nombre de routeurs traversés. A l’initialisation du
paquet, cette valeur contient une valeur relativement grande. A chaque routeur traversé,
cette valeur est décrémentée. Dès qu’elle arrive à zéro, le routeur considère que ce paquet
tourne en boucle et l’effacera.
 Le temps de propagation correspondant à la durée d’un aller-retour. On considère que le
paquet doit être transmis en moins de 200 ms.
 Le nombre de paquets perdus… Signe de manque de fiabilité du réseau.

2. Traceroute

Cet outil, présent sur la plupart des systèmes d’exploitation, permet de tracer une cartographie du
chemin parcouru entre la machine source et la machine cible. Il est donc utile pour diagnostiquer un
problème sur le réseau.

Dans la pratique, il utilise la valeur de TTL (Time To Live, expliqué dans la partie Ping) pour dresser le
chemin parcouru pour aller de la machine source à la machine cible. En effet, dans la première étape,
il envoie un « echo request » vers l’adresse de la machine cible avec TTL valant 1. Le premier routeur
rencontré décrémentera cette valeur et, constatant la valeur nulle, supprime ce paquet et envoie une
notification ICMP vers l’expéditeur. Ainsi, la machine source reçoit cette notification qui contient
l’adresse du routeur et le temps de propagation. Ces derniers sont ajoutés à la cartographie. L’outil
traceroute réitère un envoi avec une valeur de TTL incrémentée et ainsi de suite… Jusqu’à obtenir un
« echo reply » de la machine cible.

Il est nécessaire d’avoir fait au préalable un ping vers la machine cible afin de tester sa présence.
Dans le cas contraire, la commande traceroute bouclerait 30 fois.

Concrètement, la commande traceroute diffère suivant le système d’exploitation.

Pour les exemples suivants, adresse_IP_de_la_machine_cible peut être à la fois 192.168.2.6 tout
comme www.google.com. Nous ne nous étendrons pas sur ce point utilisant les protocoles
DHCP/DNS.

Sous Windows, c’est la commande tracert adresse_IP_de_la_machine_cible :

C:\>tracert www.google.com

Détermination de l'itinéraire vers www.l.google.com [64.233.183.99]


avec un maximum de 30 sauts :

03/02/2009 3/6 napster_simon@hotmail.com


Net-Pro Par : GHAOUTI Mohamed

1 3 ms 1 ms 1 ms 192.168.2.1
2 40 ms 40 ms 39 ms 82.233.224.254
3 * * 39 ms stmaurice-6k-1-a5.routers.proxad.net [213.228.14.254]
4 * * 40 ms th2-6k-2-v810.intf.routers.proxad.net [212.27.50.29]
5 * * * Délai d'attente de la demande dépassé.
6 47 ms * * londres-6k-1-v828.intf.routers.proxad.net [212.27.51.186]
7 56 ms 57 ms 55 ms amsterdam-6k-1-po100.intf.routers.proxad.net [212.27.56.42]
8 56 ms 56 ms 56 ms core1.ams.net.google.com [195.69.144.247]
9 58 ms 60 ms 58 ms 72.14.232.141
10 59 ms 58 ms 59 ms 72.14.233.77
11 64 ms 62 ms 71 ms 216.239.43.34
12 59 ms 59 ms 59 ms 64.233.183.99

Itinéraire déterminé.

Sous Debian, la commande est traceroute adresse_IP_de_la_machine_cible :


(si traceroute n’est pas reconnu, effectuer avant « apt-get install traceroute »)

debian:~# traceroute www.google.com


traceroute to www.google.com (64.233.183.103), 30 hops max, 38 byte packets
1 192.168.2.1 (192.168.2.1) 7.668 ms 1.963 ms 1.935 ms
2 82.233.224.254 (82.233.224.254) 35.952 ms 34.014 ms 35.811 ms
3 stmaurice-6k-1-a5.routers.proxad.net (213.228.14.254) 33.146 ms 34.972 ms
35.241 ms
4 th2-6k-2-v810.intf.routers.proxad.net (212.27.50.29) 35.111 ms * 34.101 m
5 * * bzn-6k-2-po2.intf.routers.proxad.net (212.27.56.6) 35.019 ms
6 * * londres-6k-1-v828.intf.routers.proxad.net (212.27.51.186) 41.822 ms
7 amsterdam-6k-1-po100.intf.routers.proxad.net (212.27.56.42) 47.771 ms 50.
14 ms 43.842 ms
8 core1.ams.net.google.com (195.69.144.247) 54.994 ms 46.009 ms 50.895 ms
9 72.14.232.141 (72.14.232.141) 49.838 ms 51.140 ms 49.457 ms
10 72.14.233.77 (72.14.233.77) 52.970 ms 52.690 ms 49.064 ms
11 216.239.43.30 (216.239.43.30) 55.696 ms 216.239.43.34 (216.239.43.34) 49.
68 ms 56.938 ms
12 64.233.183.103 (64.233.183.103) 42.879 ms 63.778 ms 51.156 ms

Dans le cas d’un réseau local, cet outil permet de tester les différents équipements en vue de les
optimiser.

5. Netstat

Cet outil permet de connaître la liste des ports TCP et UDP ouverts sur la machine locale.

Cet outil est riche en fonctionnalités permettant d’avoir des informations sur les ports ouverts. Sans
rentrer dans les détails, voici une liste de ces fonctionnalités :

La syntaxe de la commande est la suivante :

netstat [-a] [-e] [-n] [-o] [-s] [-p PROTO] [-r] [intervalle]

Paramètre Description
-a Affiche l’ensemble des connexions et des ports
en écoute sur la machine
-e Affiche les statistiques Ethernet

03/02/2009 4/6 napster_simon@hotmail.com


Net-Pro Par : GHAOUTI Mohamed

-n affiche les adresses et les numéros de port en


format numérique, sans résolution de noms.
-o détaille le numéro du processus associé à la
connexion.
-s affiche les statistiques détaillées par protocole.
-p PROTO suivi du nom du protocole (TCP, UDP ou IP).
Affiche les informations demandées concernant le
protocole spécifié.
-r affiche la table de routage
intervalle (optionnel) permet de déterminer la période de
rafraîchissement des informations, en secondes.
Par défaut ce paramètre vaut 1 seconde.

4. Whois

Cet outil permet de connaître des informations concernant les noms de domaines et les adresses IP.
Pour les noms de domaine, les informations retournées correspondent au propriétaire (contact
administratif ou technique ou autre). Pour les adresses IP, cela retourne l’attribution des plages
d’adresses IP.

Cette fonctionnalité est propre à UNIX (Linux ou MacOS) et n’existe pas sous Windows. Cependant, le
manque est pallié par certains sites internet payantes ou non et retournent les mêmes informations.

Pour la gestion d’un réseau local, cette fonctionnalité est utile pour vérifier les différents paramétrages
sur l’attribution des plages d’adresses IP

5. Nslookup

Cet outil est particulièrement utile pour diagnostiquer des problèmes de résolution de noms. En effet,
le protocole DNS est utile pour « remplacer » les adresses IP trop compliquées à retenir pour le
cerveau humain par des noms plus explicites telles que secretaire.masociete.com à la place de
10.1.5.20.

Sa syntaxe est la suivante :

nslookup [- nom.du.serveur ]
nslookup host.name [- nom.du.serveur]

Sans argument, la commande retourne le nom et l’adresse IP du serveur de résolution de noms (DNS)
utilisé ainsi qu’une invite de commandes afin d’interroger ce serveur.

On peut aussi obtenir directement des informations sur un hôte précis en ajoutant à la commande
nslookup le nom associé à cet hôte.

Et enfin… Il est aussi possible d’obtenir des informations en utilisant uniquement le serveur de
résolution de noms par une commande se terminant par un signe « - » suivi du nom du serveur DNS.

Conclusion :

03/02/2009 5/6 napster_simon@hotmail.com


Net-Pro Par : GHAOUTI Mohamed

Nous avons fait le tour de quelques outils fournis par la plupart des systèmes d’exploitation. Ces outils
permettent donc d’obtenir le minimum d’informations sur l’état d’un réseau ou d’une liaison internet
ou autre…

Bien qu’il existe des logiciels gratuits ou payants permettant de pousser les fonctionnalités de ces
outils, il s’agit d’un minimum que chaque administrateur réseau doit impérativement maîtriser afin
d’apprécier la fiabilité de son réseau.

Toute situation est bonne pour utiliser ces outils. Si une connexion vers une machine s’avère longue,
on dira qu’un simple « petit » traceroute permet de détecter un routeur ou une liaison qui est
défaillante. A partir de cet indice, il ne reste plus qu’à utiliser un logiciel plus poussé ou effectuer une
intervention matérielle pour remédier à cette lenteur.

Il s’agit donc d’outils de diagnostic, d’outils qui permettent de valider ou non des hypothèses face à
une situation…

03/02/2009 6/6 napster_simon@hotmail.com