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 Réponse de 64.233.183.99 : octets=32 Réponse de 64.233.183.99 : octets=32 Réponse de 64.233.183.99 : octets=32 temps=59 ms TTL=244 temps=58 ms TTL=244 temps=59 ms TTL=244 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
64 bytes 64 bytes 64 bytes 64 bytes 64 bytes 64 bytes

Par : GHAOUTI Mohamed
from 64.233.183.103: icmp_seq=13 ttl=244 time=48.4 ms from 64.233.183.103: icmp_seq=14 ttl=244 time=76.9 ms from 64.233.183.103: icmp_seq=15 ttl=244 time=47.2 ms from 64.233.183.103: icmp_seq=16 ttl=244 time=53.0 ms from 64.233.183.103: icmp_seq=17 ttl=244 time=42.9 ms 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 2 3 4 5 6 7 8 9 10 11 12

3 ms 1 ms 1 ms 192.168.2.1 40 ms 40 ms 39 ms 82.233.224.254 * * 39 ms stmaurice-6k-1-a5.routers.proxad.net [213.228.14.254] * * 40 ms th2-6k-2-v810.intf.routers.proxad.net [212.27.50.29] * * * Délai d'attente de la demande dépassé. 47 ms * * londres-6k-1-v828.intf.routers.proxad.net [212.27.51.186] 56 ms 57 ms 55 ms amsterdam-6k-1-po100.intf.routers.proxad.net [212.27.56.42] 56 ms 56 ms 56 ms core1.ams.net.google.com [195.69.144.247] 58 ms 60 ms 58 ms 72.14.232.141 59 ms 58 ms 59 ms 72.14.233.77 64 ms 62 ms 71 ms 216.239.43.34 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 -a -e Description Affiche l’ensemble des connexions et des ports en écoute sur la machine Affiche les statistiques Ethernet

03/02/2009

4/6

napster_simon@hotmail.com

Net-Pro
-n -o -s -p PROTO -r intervalle

Par : GHAOUTI Mohamed
affiche les adresses et les numéros de port en format numérique, sans résolution de noms. détaille le numéro du processus associé à la connexion. affiche les statistiques détaillées par protocole. suivi du nom du protocole (TCP, UDP ou IP). Affiche les informations demandées concernant le protocole spécifié. affiche la table de routage (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