You are on page 1of 11

Quelques outils de conguration et danalyse des r eseaux IP

RES201 T. Bonald et C. Chaudet Septembre 2013


Cette note pr esente les principaux outils de conguration et danalyse des r eseaux IP que vous aurez ` a manipuler lors des travaux pratiques.

Table des mati` eres


1 Commandes usuelles 1.1 hostname . . . . . 1.2 ifconfig . . . . . 1.3 ping . . . . . . . . 1.4 telnet, ssh . . . . 1.5 nc . . . . . . . . . 1.6 route . . . . . . . 1.7 traceroute . . . . 1.8 arp . . . . . . . . . 1.9 netstat . . . . . . 1.10 nslookup, dig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 2 3 3 4 4 4 5 5 6 6 6 7 8 8 9 9 9 9 11

2 Fichiers de conguration 2.1 resolv.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Outils de capture et danalyse de trac 3.1 tcpdump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 wireshark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Outils de virtualisation 4.1 Virtual Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 NetKit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Tableaux r ecapitulatifs

Commandes usuelles

Nous commen cons par les principales commandes Unix utiles ` a la consultation, au test et la modication de la conguration IP dune machine. Toute commande de modication de la conguration IP n ecessite les droits dadministrateur. Sauf exceptions, indiqu ees explicitement, les commandes sont utilisables sous DOS pour les machines Windows.

1.1

hostname
Consultation du nom de la machine.

Usage :

Exemple : $ hostname pc-alice

1.2

ifconfig
Consultation et conguration des interfaces r eseau de la machine.

Usage :

Exemple de consultation : $ ifconfig eth0 Link encap:Ethernet HWaddr 00:0c:29:e3:f6:be inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fee3:f6be/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:523 errors:0 dropped:0 overruns:0 frame:0 TX packets:77 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:99181 (99.1 KB) TX bytes:13233 (13.2 KB) Interrupt:19 Base address:0x2000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:17464 errors:0 dropped:0 overruns:0 frame:0 TX packets:17464 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1047840 (1.0 MB) TX bytes:1047840 (1.0 MB)

La machine a une interface r eseau active, linterface Ethernet eth0 ` a laquelle est attribu ee ladresse IP 192.168.0.3 du sous-r eseau 192.168.0.0/24. Linterface lo0 est virtuelle : cest une interface permettant ` a la machine de communiquer avec elle-m eme, ` a laquelle est toujours attribu ee ladresse IP factice 127.0.0.1.

Exemple de conguration : $ ifconfig eth0 192.168.0.5 netmask 255.255.255.0 Cette commande attribue ladresse IP 192.168.0.5 du sous-r eseau 192.168.0.0/24 ` a linterface eth0. Il faut sassurer dans ce cas que ladresse IP na pas d ej` a et e attribu ee ` a une autre machine. Commande DOS : ipconfig

1.3

ping
Test de connectivit e avec une machine distante.

Usage :

Exemple : $ ping www.enst.fr PING vili.enst.fr (137.194.52.8): 56 data bytes 64 bytes from 137.194.52.8: icmp seq=0 ttl=53 time=100.025 ms 64 bytes from 137.194.52.8: icmp seq=1 ttl=53 time=96.906 ms 64 bytes from 137.194.52.8: icmp seq=2 ttl=53 time=98.301 ms 64 bytes from 137.194.52.8: icmp seq=3 ttl=53 time=97.555 ms ^C --- vili.enst.fr ping statistics --4 packets transmitted, 4 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 96.906/98.197/100.025/1.165 ms Un paquet ICMP est envoy e r eguli` erement ` a la machine distante, qui r epond sauf exception (machine non connect ee ou congur ee pour ne pas r epondre aux requ etes ping). Les statistiques indiquent le d elai aller-retour. Les requ etes continuent jusqu` a interruption du processus, ` a moins que loption -c indiquant le nombre de requ etes soit utilis ee. La commande ping sutilise egalement directement avec une adresse IP : $ ping 137.194.52.8

1.4

telnet, ssh
Communication avec une machine distante.

Usage :

Exemple en mode non s ecuris e: $ telnet www.enst.fr 80 Trying 137.194.52.8... Connected to vili.enst.fr. Escape character is ^ ]. La commande telnet agit en mode non s ecuris e. La requ ete est donc g en eralement refus ee par la machine distante, sauf eventuellement sur certains ports connus, 80 ou 25 par exemple.

Exemple en mode s ecuris e: $ ssh alice@ssh.enst.fr Password: Last login: Thu Jun 23 08:40:06 2011 from localhost alice$

1.5

nc
Ecoute sur un port sp ecique.

Usage :

Exemple : $ nc -l -p12345 La machine ecoute sur le port 12345 et ache le r esultat. Cest l equivalent de telnet, c ot e serveur.

1.6

route
Consultation et conguration des tables de routage.

Usage :

Exemple de consultation : $ route -n Kernel IP routing table Destination Gateway 192.168.0.3 0.0.0.0 0.0.0.0 192.168.0.1

Genmask Flags 255.255.255.0 U 0.0.0.0 UG

Metric Ref Use Iface 0 0 0 eth0 0 0 0 eth0

La machine a pour adresse IP 192.168.0.3 sur le sous-r eseau 192.168.0.0/24 ; la passerelle par d efaut a pour adresse IP 192.168.0.1. Exemples de conguration : $ route del default gw 192.168.0.1 $ route add default gw 192.168.0.2 La nouvelle passerelle par d efaut a pour adresse IP 192.168.0.2. Exemple de conguration pour un routeur : $ route add -net 137.194.2.0 netmask 255.255.255.0 gw 176.34.3.62 La route vers le r eseau 137.194.2.0/24 est ajout ee ` a la table de routage ; le prochain routeur pour cette route a pour adresse 176.34.3.62.

1.7

traceroute
Consultation de route vers un h ote distant. 4

Usage :

Exemple : $ traceroute www.eurecom.fr traceroute to www.eurecom.fr (193.55.113.240), 64 hops max, 52 byte packets 1 192.168.0.1 (192.168.0.1) 6.883 ms 1.342 ms 1.388 ms 2 * * * 3 10.224.32.37 (10.224.32.37) 53.205 ms * 54.706 ms 4 tengige0-13-0-0.ntpst101.paris.francetelecom.net (193.252.162.170) 54.409 ms 52.641 ms 51.480 ms 5 81.253.129.178 (81.253.129.178) 55.447 ms 51.506 ms 52.086 ms 6 peercweurope-2.gw.opentransit.net (193.251.252.66) 51.770 ms 51.538 ms 89.535 ms 7 xe-9-0-0-xcr1.prp.cw.net (195.2.2.113) 53.874 ms xe-11-0-0-xcr1.prp.cw.net (195.2.9.186) 52.630 ms xe-11-3-0-xcr1.prp.cw.net (195.2.25.218) 83.631 ms 8 renater-gw.prp.cw.net (195.10.62.26) 54.709 ms 52.514 ms 52.486 ms 9 te1-4-lyon2-rtr-021.noc.renater.fr (193.51.189.1) 67.764 ms 67.848 ms 66.338 ms 10 te0-3-4-0-lyon1-rtr-001.noc.renater.fr (193.51.179.118) 69.713 ms 68.829 ms 67.825 ms 11 te1-1-marseille1-rtr-021.noc.renater.fr (193.51.189.18) 64.085 ms 64.740 ms 66.243 ms 12 * * * 13 eurocom-valbonne-gi9-7-sophia-rtr-021.noc.renater.fr (193.51.187.17) 68.205 ms 65.997 ms 68.201 ms

Commande DOS :

tracert

1.8

arp
Consultation et modication de la table ARP (Address Resolution Protocol)

Usage :

Exemple : $ ? ? ? arp -a (192.168.0.1) at a1:f6:b5:cc:9a:c5 [ether] on eth1 (192.168.0.2) at d4:9a:20:06:fe:6e [ether] on eth1 (192.168.0.255) at ff:ff:ff:ff:ff:ff [ether] on eth1

1.9

netstat
Consultation des sockets actives et de diverses statistiques

Usage :

Exemple : $ netstat -nt Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address tcp 0 0 192.168.0.3:57060

Foreign Address 192.168.0.7:22

State ESTABLISHED

La machine a une socket TCP active sur le port local 57060 avec la machine dadresse IP 192.168.0.7 sur le port 22 (connexion ssh). Loption -t permet de nacher que les sockets TCP actives (autres que les serveurs) ; loption -n donne les adresses IP et les num eros de port, au lieu des noms de machine et des applications.

1.10
Usage :

nslookup, dig
Consultation du DNS (Domain Name Server)

Exemple : $ nslookup www.wikipedia.fr Server: 192.168.0.1 Address: 192.168.0.1#53 Non-authoritative answer: Name:www.wikipedia.fr Address: 78.109.84.114 La commande dig fournit des informations plus d etaill ees sur les r eponses du DNS.

Fichiers de conguration

Certains chiers du r epertoire /etc contiennent des informations utiles sur la conguration IP dune machine.

2.1

resolv.conf
Adresse IP du serveur DNS et nom de domaine de la machine

Contenu :

Exemple sur un r eseau priv e: $ cat /etc/resolv.conf nameserver 192.168.0.2 domain localdomain search localdomain Le serveur DNS a pour adresse IP 192.168.0.1. Il ny a pas de nom de domaine car la machine est sur un r eseau priv e, reconnaissable au pr exe 192.168. Exemple sur un r eseau public : $ cat /etc/resolv.conf nameserver 137.194.2.34 domain enst.fr search enst.fr

Le serveur DNS a pour adresse IP 137.194.2.34. Le nom de domaine est enst.fr. Si la machine a pour nom pc-alice, son nom complet est alors pc-alice.enst.fr. La ligne search donne la compl etion par d efaut des noms de machines ; par exemple, la machine www correspondra ` a www.enst.fr

2.2

services
Liste des ports standards.

Contenu : Exemple : $ # # # # # # # # # # #

less /etc/services Network services, Internet style Note that it is presently the policy of IANA to assign a single well-known port number for both TCP and UDP; hence, officially ports have two entries even if the protocol doesnt support UDP operations. Updated from http://www.iana.org/assignments/port-numbers and other sources like http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/services . New ports will be added on request if they have been officially assigned by IANA and used in the real-world or are needed by a debian package. If you need a huge list of used numbers please install the nmap package. 1/tcp 7/tcp 7/udp 9/tcp 9/udp 11/tcp 13/tcp 13/udp 15/tcp 17/tcp 18/tcp 18/udp 19/tcp 19/udp 20/tcp 21/tcp 21/udp 22/tcp 22/udp 23/tcp 25/tcp 37/tcp 37/udp 39/udp 42/tcp 43/tcp # TCP port service multiplexer

tcpmux echo echo discard discard systat daytime daytime netstat qotd msp msp chargen chargen ftp-data ftp fsp ssh ssh telnet smtp time time rlp nameserver whois

sink null sink null users

quote # message send protocol ttytst source ttytst source

fspd # SSH Remote Login Protocol

mail timserver timserver resource name nicname

# resource location # IEN 116

tacacs tacacs re-mail-ck re-mail-ck domain domain ...

49/tcp 49/udp 50/tcp 50/udp 53/tcp 53/udp

# Login Host Protocol (TACACS) # Remote Mail Checking Protocol # name-domain server

Outils de capture et danalyse de trac

Les outils suivants permettent de capturer lensemble des paquets transitant sur une interface r eseau donn ee. Ils n ecessitent les droits dadministrateur de la machine.

3.1

tcpdump
Capture de paquets sur une interface r eseau

Usage :

Exemples : $ tcpdump listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 05:43:14.284207 IP 137.194.23.49 > 137.194.23.33: ICMP echo reply, id 3074, seq 4, length 64 05:43:15.283897 IP 137.194.23.49 > 137.194.23.33: ICMP echo reply, id 3074, seq 5, length 64 05:43:16.284538 IP 137.194.23.49 > 137.194.23.33: ICMP echo reply, id 3074, seq 6, length 64 ^C 3 packets captured 3 packets received by filter 0 packets dropped by kernel

$ tcpdump -w trace.pcap tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes ^C 122 packets captured 122 packets received by filter 0 packets dropped by kernel Cette commande capture tous les paquets sur une interface r eseau, eventuellement pr ecis ee par loption -i, jusqu` a interruption du processus. Par d efaut, et en pr esence de plusieurs interfaces, linterface de plus petit indice est s electionn ee (en g en eral eth0). Le r esultat peut etre enregistr e dans un chier ` a laide de loption -w, ce qui permet de visualiser et analyser les r esultats ` a laide de loutil wireshark. Par d efaut, les paquets sont tronqu es ` a 96 octets ; loption -s 0 permet de lever cette contrainte. Loption -e permet dacher directement lent ete MAC des paquets, sans passer par wireshark.

3.2

wireshark
Capture, visualisation et analyse de trac sur une interface r eseau http://www.wireshark.org/

Usage :

Installation et documentation : Exemple : $ wireshark trace.pcap

Loutil lit des chiers au format .pcap g en er es par tcpdump. Il peut etre egalement utilis e comme outil de capture, sans passer par tcpdump, mais n ecessite alors une interface graphique sur la machine o` u seectue la capture. Il est possible de s electionner une connexion TCP en eectuant un clic droit sur un paquet puis en s electionnant Follow TCP stream. Une nouvelle fen etre souvre, pr esentant l echange d ecod e. En retournant ` a la fen etre principale, seule une partie des paquets captur es est ach ee car Wireshark a automatiquement ltr e les paquets de la connexion s electionn ee. Le ltre associ e est indiqu e dans la bo te de texte au dessus de la liste des trames ; il peut etre supprim e en cliquant sur le bouton clear. Wireshark fonctionne essentiellement avec ce type de ltres.

Outils de virtualisation

Les outils suivants permettent de cr eer un r eseau virtuel sur lequel tester les principaux protocoles et algorithmes des r eseaux IP. Le premier emule une machine Linux sur une machine r eelle, an dy disposer des droits dadministrateur ; le second g en` ere sur cette machine virtuelle un nombre arbitraire (dans la limite des capacit es de la machine r eelle) de machines h otes, serveurs, commutateurs et routeurs que lon peut interconnecter, faire communiquer et observer.

4.1

Virtual Box

Loutil Oracle VM Virtual Box est un logiciel libre de virtualisation permettant de lancer une machine virtuelle (par exemple Linux) sur nimporte quelle machine r eelle. La machine virtuelle peut communiquer avec la machine r eelle par un r eseau local virtuel connectant les deux machines avec un adressage priv e, par exemple 10.0.0.0/8. Elle peut par ce biais disposer dun acc` es ` a Internet via la machine r eelle, qui joue alors le r ole de passerelle.

4.2

NetKit

Loutil NetKit permet de lancer, sur une machine Linux r eelle ou virtuelle, un r eseau pr ealablement congur e. La topologie du r eseau se trouve dans le chier texte lab.conf, tandis que la conguration de chaque machine se trouve dans le chier .startup et le r epertoire associ es. Pour lancer le r eseau, il sut de se positionner dans le bon r epertoire, celui o` u se trouve le chier lab.conf, et de lancer la commande lstart. Les machines virtuelles vont alors d emarrer une ` a une, certaines donnant lieu ` a louverture dune fen etre pour pouvoir interagir avec elles. Pour interrompre le r eseau, il faut lancer, toujours dans le r epertoire o` u se trouve le chier lab.conf, dans la fen etre initiale, la commande lcrash. La commande lclean, ` a ex ecuter apr` es la commande lcrash, permet de nettoyer la m emoire de la machine.

lstart lcrash lclean Exemple :

D emarrage du r eseau virtuel Arr et du r eseau virtuel Nettoyage de la m emoire

$ ls Client Client.startup lab.conf Routeur Routeur.startup Serveur Serveur.startup $ cat lab.conf Client[0]="A" Client[con1]=xterm Serveur[0]="B" Serveur[con0]=none Routeur[0]="A" Routeur[1]="B" Routeur[con0]=none $ lstart Starting "Client" with options "-q --eth0 "A" --con1=xterm --hostlab=/home/bci/"... Starting "Serveur" with options "-q --eth0 "B" --mem=64 --con0=none"... Starting "Routeur" with options "-q --eth0 "A" --eth1 "B" --mem=32 --con0=none"... The lab has been started. ================================================================= Le r eseau consiste en 2 liens A et B reliant un client et un serveur via un routeur. Une seule fen etre est ouverte, pour contr oler le client.

10

Tableaux r ecapitulatifs

Commandes : hostname ifconfig ifconfig eth0 192.168.0.5 netmask 255.255.255.0 ping www.enst.fr ping -c 1 www.enst.fr ping 137.194.52.8 telnet www.enst.fr 80 nc -l -p12345 ssh alice@ssh.enst.fr route -n route add default gw 192.168.0.2 route add -net 137.194.2.0 netmask 255.255.255.0 gw 176.34.3.62 dev eth2 traceroute www.eurecom.fr arp -a netstat -nt nslookup www.wikipedia.fr Fichiers de conguration : /etc/resolv.conf /etc/services Outils de capture : tcpdump -i eth0 -w trace.pcap wireshark trace.pcap Commandes NetKit : lstart lcrash lclean

11

You might also like