quelques outils pour diagnostiquer un réseau

6
Net-Pro Par : GHAOUTI Mohamed 03/02/2009 1/6 [email protected] 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 »

Upload: api-19731153

Post on 14-Jun-2015

407 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Quelques outils pour diagnostiquer un réseau

Net-Pro Par : GHAOUTI Mohamed

03/02/2009 1/6 [email protected]

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 etTraceroute.

Cet article reprend chacun des outils cités précédemment et les détaille. Ces outils sont le minimumnécessaire pour diagnostiquer un réseau avant d'effectuer une intervention matérielle ou via un logicielspé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 protocolesmis 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 desprogrammes. Cependant, pour certifier que la dite machine est bien mise en place, quelquesoutils rudimentaires sont mises en place sur la plupart des systèmes d’exploitation. Parmiceux-ci, on peut citer ping, traceroute et nslookup.

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

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

1. Ping

Ping est sans conteste le plus connu des outils réseau et le plus utilisé afin de détecter la présence ounon 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 typesde messages :

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

Page 2: Quelques outils pour diagnostiquer un réseau

Net-Pro Par : GHAOUTI Mohamed

03/02/2009 2/6 [email protected]

La commande de base est la suivante :

Ping adresse_de_la_machine_sur_le_réseauex : 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 etré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 detemps un paquet « echo request ».

Ainsi, la commande Ping utilise une itération d’appels à une fonction d’envoi/réception de requêtes duprotocole ICMP qui boucle n fois. N étant paramétrable. Par défaut sous Windows, Ping itère 4 foistandis que sous Unix/Linux, elle itère à l’infini jusqu’à ce que l’utilisateur l’interrompe par un simpleCTRL+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 dedonnées :

Réponse de 64.233.183.99 : octets=32 temps=59 ms TTL=244Réponse de 64.233.183.99 : octets=32 temps=58 ms TTL=244Réponse de 64.233.183.99 : octets=32 temps=59 ms TTL=244Ré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.comPING 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 ms64 bytes from 64.233.183.103: icmp_seq=2 ttl=244 time=51.9 ms64 bytes from 64.233.183.103: icmp_seq=3 ttl=244 time=48.5 ms64 bytes from 64.233.183.103: icmp_seq=4 ttl=244 time=52.9 ms64 bytes from 64.233.183.103: icmp_seq=5 ttl=244 time=47.9 ms64 bytes from 64.233.183.103: icmp_seq=6 ttl=244 time=52.2 ms64 bytes from 64.233.183.103: icmp_seq=7 ttl=244 time=50.5 ms64 bytes from 64.233.183.103: icmp_seq=8 ttl=244 time=47.5 ms64 bytes from 64.233.183.103: icmp_seq=9 ttl=244 time=54.1 ms64 bytes from 64.233.183.103: icmp_seq=10 ttl=244 time=49.0 ms64 bytes from 64.233.183.103: icmp_seq=11 ttl=244 time=52.9 ms64 bytes from 64.233.183.103: icmp_seq=12 ttl=244 time=51.9 ms

Page 3: Quelques outils pour diagnostiquer un réseau

Net-Pro Par : GHAOUTI Mohamed

03/02/2009 3/6 [email protected]

64 bytes from 64.233.183.103: icmp_seq=13 ttl=244 time=48.4 ms64 bytes from 64.233.183.103: icmp_seq=14 ttl=244 time=76.9 ms64 bytes from 64.233.183.103: icmp_seq=15 ttl=244 time=47.2 ms64 bytes from 64.233.183.103: icmp_seq=16 ttl=244 time=53.0 ms64 bytes from 64.233.183.103: icmp_seq=17 ttl=244 time=42.9 ms64 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 17017msrtt 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 paquettourne en boucle et l’effacera.

Le temps de propagation correspondant à la durée d’un aller-retour. On considère que lepaquet 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 duchemin parcouru entre la machine source et la machine cible. Il est donc utile pour diagnostiquer unproblème sur le réseau.

Dans la pratique, il utilise la valeur de TTL (Time To Live, expliqué dans la partie Ping) pour dresser lechemin 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 routeurrencontré décrémentera cette valeur et, constatant la valeur nulle, supprime ce paquet et envoie unenotification ICMP vers l’expéditeur. Ainsi, la machine source reçoit cette notification qui contientl’adresse du routeur et le temps de propagation. Ces derniers sont ajoutés à la cartographie. L’outiltraceroute 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 toutcomme www.google.com. Nous ne nous étendrons pas sur ce point utilisant les protocolesDHCP/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 :

Page 4: Quelques outils pour diagnostiquer un réseau

Net-Pro Par : GHAOUTI Mohamed

03/02/2009 4/6 [email protected]

1 3 ms 1 ms 1 ms 192.168.2.12 40 ms 40 ms 39 ms 82.233.224.2543 * * 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.7711 64 ms 62 ms 71 ms 216.239.43.3412 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.comtraceroute to www.google.com (64.233.183.103), 30 hops max, 38 byte packets1 192.168.2.1 (192.168.2.1) 7.668 ms 1.963 ms 1.935 ms2 82.233.224.254 (82.233.224.254) 35.952 ms 34.014 ms 35.811 ms3 stmaurice-6k-1-a5.routers.proxad.net (213.228.14.254) 33.146 ms 34.972 ms35.241 ms4 th2-6k-2-v810.intf.routers.proxad.net (212.27.50.29) 35.111 ms * 34.101 m5 * * bzn-6k-2-po2.intf.routers.proxad.net (212.27.56.6) 35.019 ms6 * * londres-6k-1-v828.intf.routers.proxad.net (212.27.51.186) 41.822 ms7 amsterdam-6k-1-po100.intf.routers.proxad.net (212.27.56.42) 47.771 ms 50.

14 ms 43.842 ms8 core1.ams.net.google.com (195.69.144.247) 54.994 ms 46.009 ms 50.895 ms9 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 ms11 216.239.43.30 (216.239.43.30) 55.696 ms 216.239.43.34 (216.239.43.34) 49.68 ms 56.938 ms12 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 lesoptimiser.

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. Sansrentrer 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 portsen écoute sur la machine

-e Affiche les statistiques Ethernet

Page 5: Quelques outils pour diagnostiquer un réseau

Net-Pro Par : GHAOUTI Mohamed

03/02/2009 5/6 [email protected]

-n affiche les adresses et les numéros de port enformat numérique, sans résolution de noms.

-o détaille le numéro du processus associé à laconnexion.

-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 leprotocole spécifié.

-r affiche la table de routage

intervalle (optionnel) permet de déterminer la période derafraî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 (contactadministratif ou technique ou autre). Pour les adresses IP, cela retourne l’attribution des plagesd’adresses IP.

Cette fonctionnalité est propre à UNIX (Linux ou MacOS) et n’existe pas sous Windows. Cependant, lemanque 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étragessur 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 lecerveau humain par des noms plus explicites telles que secretaire.masociete.com à la place de10.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 commandenslookup le nom associé à cet hôte.

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

Conclusion :

Page 6: Quelques outils pour diagnostiquer un réseau

Net-Pro Par : GHAOUTI Mohamed

03/02/2009 6/6 [email protected]

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

Bien qu’il existe des logiciels gratuits ou payants permettant de pousser les fonctionnalités de cesoutils, il s’agit d’un minimum que chaque administrateur réseau doit impérativement maîtriser afind’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 estdéfaillante. A partir de cet indice, il ne reste plus qu’à utiliser un logiciel plus poussé ou effectuer uneintervention 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…