Vous êtes sur la page 1sur 23

Introduction l'analyse rseau avec Wireshark

Par Philippe Latu


Date de publication : 19 septembre 2014

L'analyseur de trafic est un outil pdagogique essentiel pour comprendre les mcanismes
de fonctionnement des protocoles de communication sur les rseaux contemporains. Ce
document comprend deux parties. Dans un premier temps, on trouve une introduction
l'utilisation de l'analyseur Wireshark, le logiciel libre incontournable en la matire. Dans un
deuxime temps, les travaux pratiques permettent de dcouvrir la richesse des informations
fournies par cet analyseur.
N'hsitez pas commenter cet article ! Commentez

Introduction l'analyse rseau avec Wireshark par Philippe Latu

1 - Copyright et Licence.............................................................................................................................................. 3
1-1 - Mtainformation............................................................................................................................................. 3
2 - Analyse avec Wireshark........................................................................................................................................ 3
2-1 - Quels sont les protocoles supports ?..........................................................................................................3
2-2 - Quels sont les mdias supports ?...............................................................................................................3
2-3 - Comment accder aux interfaces ?.............................................................................................................. 3
3 - Interface utilisateur.................................................................................................................................................6
4 - Capture d'une srie de trames.............................................................................................................................. 7
5 - Filtrage de l'affichage aprs capture..................................................................................................................... 8
5-1 - Isoler une connexion TCP.............................................................................................................................8
5-2 - Syntaxe du filtrage postriori..................................................................................................................... 9
5-3 - Documentation de rfrence sur les filtres d'affichage............................................................................... 12
6 - Analyse distance...............................................................................................................................................12
7 - Travaux pratiques : navigation Web (HTTP)....................................................................................................... 14
7-1 - Protocoles tudis....................................................................................................................................... 14
7-2 - Marche suivre...........................................................................................................................................14
7-3 - Analyse des protocoles............................................................................................................................... 15
7-3-1 - Protocoles capturs............................................................................................................................ 15
7-3-2 - Trame Ethernet, paquet IP et datagramme UDP............................................................................... 15
7-3-3 - Service DNS....................................................................................................................................... 15
7-3-4 - Connexion TCP...................................................................................................................................16
7-3-5 - Requte HTTP GET........................................................................................................................... 17
7-3-6 - Rponse HTTP................................................................................................................................... 18
8 - Travaux pratiques : messages de contrle Internet (ICMP)................................................................................ 18
8-1 - Protocoles et outils tudis......................................................................................................................... 18
8-2 - 8.2. Marche suivre....................................................................................................................................19
8-3 - Analyse avec ping....................................................................................................................................... 19
8-3-1 - Protocoles capturs............................................................................................................................ 19
8-3-2 - Message ICMP Echo Request....................................................................................................... 19
8-3-3 - Message ICMP Echo Reply............................................................................................................20
8-3-4 - Messages ICMP restants....................................................................................................................20
8-4 - Analyse avec (tcp)traceroute.......................................................................................................................20
8-4-1 - Protocoles capturs............................................................................................................................ 21
8-4-2 - Message UDP.....................................................................................................................................21
8-4-3 - Message ICMP Time Exceeded..................................................................................................... 21
8-4-4 - volution du champ TTL.................................................................................................................... 22
8-4-5 - Variantes............................................................................................................................................. 22
9 - Documents de rfrence......................................................................................................................................22
10 - Remerciements Developpez.............................................................................................................................. 23

-2-

Copyright (c) 2000,2014 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2000,2014 Philippe Latu. Permission est
accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License),
version 1.3 ou toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire de Couverture, et

Introduction l'analyse rseau avec Wireshark par Philippe Latu

1 - Copyright et Licence
Copyright (c) 2000,2014 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under
the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software
Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is
included in the section entitled GNU Free Documentation License .
Copyright (c) 2000,2014 Philippe Latu. Permission est accorde de copier, distribuer et/ou modifier ce document
selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License), version 1.3 ou
toute version ultrieure publie par la Free Software Foundation ; sans sections invariables ; sans texte de premire
de couverture, et sans texte de quatrime de couverture. Une copie de la prsente licence est incluse dans la section
intitule Licence de Documentation Libre GNU .

1-1 - Mtainformation
Cet article est crit avec DocBook XML sur un systme Debian GNU/Linux. Il est disponible en version imprimable
au format PDF : intro.analyse.pdf.

2 - Analyse avec Wireshark


Avec Wireshark, il est possible de capturer des paquets directement sur les interfaces du systme utilis ou de lire
des fichiers de captures sauvegardes. Wireshark supporte les formats de fichiers de capture les plus courants :
libpcap/tcpdump, Sun's snoop/atmsnoop, LanAlyzer, MS Network Monitor, HPUX nettl, AIX iptrace, Cisco Secure
IDS, etc.

2-1 - Quels sont les protocoles supports ?


La liste des protocoles supports par Wireshark est considrable. Elle volue avec chaque nouvelle version. La page
Protocol Reference fournit un classement par famille de tous les protocoles dont les champs sont interprts. Il est
aussi possible d'accder ces informations via le menu Help Supported Protocols.

2-2 - Quels sont les mdias supports ?


Le logiciel Wireshark permet l'analyse de transmissions rseau sur presque toutes les technologies. Les limitations
d'utilisation sont plutt dues au systme d'exploitation sur lequel on excute ce logiciel. Pour obtenir un tat des
possibilits d'analyse en fonction du systme utilis, il faut consulter la page : Network media specific capturing.

2-3 - Comment accder aux interfaces ?


Lorsque l'on excute wireshark en tant qu'utilisateur normal, on ne peut accder la liste des interfaces en lanant
l'opration Capture. Sur un systme d'exploitation correctement administr, un utilisateur normal ne doit pas avoir
accs aux interfaces sans condition. Il existe plusieurs solutions pour donner un accs direct la liste des interfaces
physiques. En voici trois.
En mode super-utilisateur
Partant d'une connexion avec un compte utilisateur normal, celui-ci est propritaire exclusif de son cran (display).
Il doit donc autoriser le super utilisateur accder son cran l'aide de la commande xhost, passer en connexion
super-utilisateur avec la commande su puis excuter l'application Wireshark.
$ xhost +local:
$ su

-3-

Copyright (c) 2000,2014 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2000,2014 Philippe Latu. Permission est
accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License),
version 1.3 ou toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire de Couverture, et

Introduction l'analyse rseau avec Wireshark par Philippe Latu

Password:
# wireshark &

En mode utilisateur avec gksu


L'application gksu est un frontal graphique de la commande su. Elle permet, aprs la saisie du mot de passe superutilisateur, d'excuter une application en mode super-utilisateur. Dans notre cas, on accde directement aux interfaces
physiques en mode graphique sans passer par une manipulation la console. Ce mode opratoire est propos par
dfaut avec toutes les distributions GNU/Linux actuelles.
En mode utilisateur avec sudo
L'application sudo permet de dlguer les droits du super-utilisateur avec une granularit trs fine. L'optique de
l'analyse rseau tant un cas particulier de l'administration systme, on se limitera la prsentation du fichier de
configuration de l'application : /etc/sudoers.
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root
ALL=(ALL) ALL
etu

ALL = NOPASSWD: /usr/bin/wireshark, /usr/bin/tshark

C'est la dernire ligne que se situe la partie intressante. L'utilisateur normal etu dispose, sur n'importe quel hte
gr par ce systme (ALL), d'un accs super-utilisateur aux applications Wireshark et tshark sans avoir saisir son
mot de passe. Pour lancer l'application, il faut prciser l'appel l'application sudo de la faon suivante :
$ sudo wireshark &

En mode utilisateur via les Linux Capabilities


On dbute par la cration d'un groupe systme ddi la capture de trafic rseau.
# addgroup --system pcap
Adding group `pcap' (GID 136) ...
Done.

On ajoute un ou plusieurs utilisateur(s) au groupe systme.


# adduser phil pcap
Adding user `phil' to group `pcap' ...
Adding user phil to group pcap
Done.

Attention ! Cette nouvelle attribution n'est valable qu'aprs une nouvelle authentification. Nous sommes encore dans
le cas classique de cration du contexte de travail utilisateur au moment de l'authentification.
On modifie les proprits du programme dumpcap qui est charg de la collecte du trafic rseau.

-4-

Copyright (c) 2000,2014 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2000,2014 Philippe Latu. Permission est
accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License),
version 1.3 ou toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire de Couverture, et

Introduction l'analyse rseau avec Wireshark par Philippe Latu

Avant modification du groupe propritaire, le masque des permissions est le suivant :


# ls -lh `which dumpcap`
-rwxr-xr-x 1 root root 62K

4 mars

18:04 /usr/bin/dumpcap

On change le groupe propritaire et on applique un nouveau masque de permissions. Une fois cette opration faite,
les membres du groupe systme pcap seront les seuls utilisateurs pouvoir excuter le programme en mode non
privilgi.
# chgrp pcap /usr/bin/dumpcap
# chmod 750 /usr/bin/dumpcap
# ls -lh /usr/bin/dumpcap
-rwxr-x--- 1 root pcap 62K 4 mars

18:04 /usr/bin/dumpcap

On indique au gestionnaire de paquets Debian que ces nouvelles proprits doivent tre conserves lors des mises
jour venir.
# dpkg-statoverride --add root pcap 750 /usr/bin/dumpcap
# dpkg-statoverride --list /usr/bin/dumpcap
root pcap 750 /usr/bin/dumpcap

On modifie le contexte de travail du programme dumpcap.


# setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
# getcap /usr/bin/dumpcap
/usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip

Les bits eip correspondent aux attributs effective, inheritable et permitted.


Avec l'attribut effective, le noyau ne vrifie pas si l'UID vaut 0 (mode privilgi) si le programme ncessite
une opration en mode privilgi.
L'attribut inheritable transmet les aptitudes du processus actuel aux autres processus enfants.
L'attribut permitted indique que le processus peut utiliser les aptitudes tendues du noyau Linux.

La documentation sur les Linux Capabilities est disponible partir de la page Not needing root to administer
Linux.

-5-

Copyright (c) 2000,2014 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2000,2014 Philippe Latu. Permission est
accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License),
version 1.3 ou toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire de Couverture, et

Introduction l'analyse rseau avec Wireshark par Philippe Latu

3 - Interface utilisateur

Capture d'cran Wireshark - vue complte


L'interface de l'analyseur se dcompose en plusieurs barres ou fentres.
Barre de menus
On y retrouve la liste classique de menus. Voici une liste des fonctions remarquables accessibles partir de ces
menus.

Le menu File sert sauvegarder ou charger un fichier de capture rseau. Une capture peut trs bien avoir t
ralise sur une sonde distante ou avec un autre outil et tre analyse avec Wireshark postriori.
Le menu Capture sert fixer les paramtres d'une nouvelle capture rseau. Voir Section 4, Capture d'une
srie de trame .
Le menu Statistics sert effectuer diffrents calculs sur les volumes de donnes et la rpartition des
protocoles.

Barre des icnes


Cette barre regroupe tous les raccourcis sur les manipulations d'une capture.
Barre de filtrage
Cette barre sert saisir l'expression de filtrage postriori d'une capture pour isoler tout ou partie d'un change
rseau.
Fentre contenant la liste des trames captures
Sur chaque ligne, on retrouve :

le numro du paquet ;
son temps de capture ;
sa source ;
-6-

Copyright (c) 2000,2014 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2000,2014 Philippe Latu. Permission est
accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License),
version 1.3 ou toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire de Couverture, et

Introduction l'analyse rseau avec Wireshark par Philippe Latu

sa destination ;
le protocole de plus haut niveau dcod ;
le rsum des champs caractristiques de ce protocole.

Fentre d'affichage de la pile des protocoles dcods pour la trame slectionne


Avant toute opration de dveloppement des champs d'un ou plusieurs protocoles, cette fentre donne la liste de
la pile de protocoles dcods allant du niveau physique (en haut) jusqu'au niveau le plus haut reconnu (en bas). Le
protocole de niveau le plus haut reconnu est celui qui apparat dans la colonne protocole de la Fentre contenant
la liste des trames captures.

La premire ligne ou niveau Frame correspond une pseudocouche physique. Comme il n'est pas possible
de raliser la capture directement partir des composants lectroniques qui pilotent l'interface rseau
sans perturber le fonctionnement du systme, l'opration a lieu au niveau liaison l'aide de la bibliothque
libpcap. ce niveau, les informations disponibles sont : la quantit de bits capturs et la date de capture.
La deuxime ligne correspond au niveau liaison. On y dtaille le type, les champs de la trame et les adresses
physiques.
La troisime ligne correspond au niveau rseau. On y dtaille les champs du protocole rseau reconnu :
adresses logiques et indicateurs d'tat.
La quatrime ligne correspond au niveau transport. On y dtaille les champs du protocole de transport
reconnu : tat de la connexion, numros de ports utiliss et diverses options.
La cinquime ligne correspond au niveau application. On y trouve les donnes utilisateur.

Pour le dveloppement de chacun des champs de la trame, il faut cliquer sur le triangle situ gauche au niveau
de chaque couche.
Fentre d'affichage brut de la trame slectionne
Cette fentre affiche tous les octets de la trame en hexadcimal.

4 - Capture d'une srie de trames


Aprs avoir lanc le logiciel Wireshark, oprez la squence suivante pour capturer une srie de 60 trames :
1
2

Slectionnez Capture puis Start ;


La ligne Capture Filter permet de prciser un filtrage priori. La syntaxe de ce filtrage est identique celle de
la commande tcpdump. La documentation est disponible partir des pages de manuels de cette commande :
man tcpdump. Voici trois exemples :
D'une faon plus gnrale, on peut combiner plusieurs critres avec les oprateurs logiques and et|ou or.
En rgle gnrale, il faut limiter au maximum le filtrage priori de faon disposer du maximum d'informations
pour l'analyse. La syntaxe de la Section 5, Filtrage de l'affichage aprs capture offre beaucoup plus de
possibilits.
1
2
3

IP : en spcifiant le protocole rseau analyser, on vite la capture des trames des autres protocoles de
niveau rseau (IPX) et des protocoles de niveau liaison (STP, CDP, etc.),
Host 192.168.0.1 : en spcifiant l'adresse IP d'un hte, on ne retient que le trafic mis et reu par cette
adresse,
Host 192.168.0.1 and host 10.0.0.1 : en spcifiant les adresses IP de deux htes, on ne retient que le
trafic entre ces deux adresses :

1
Le type : host, net et port,
2
La direction : src et dst,
3
Le protocole : ether, fddi, tr, ip, ip6, arp, rarp, decnet, tcp et udp ;
La rubrique Stop Capture permet de fixer plusieurs critres d'arrt en fonction du nombre de trames et|ou du
volume de donnes captures ;
-7-

Copyright (c) 2000,2014 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2000,2014 Philippe Latu. Permission est
accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License),
version 1.3 ou toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire de Couverture, et

Introduction l'analyse rseau avec Wireshark par Philippe Latu

Cliquez sur le bouton Valider pour lancer la capture.

Paramtres de capture - vue complte

5 - Filtrage de l'affichage aprs capture


Le filtrage postriori est certainement l'tape la plus importante dans l'analyse rseau. C'est cette opration qui
permet d'isoler l'information pertinente. La granularit de la syntaxe de filtrage disponible avec Wireshark est trs
importante. Il est possible de retenir un champ unique parmi les 820 protocoles supports. Voici quelques exemples
de filtrage allant du plus gnral au plus dtaill.

5-1 - Isoler une connexion TCP


Aprs avoir ralis une capture, il est possible d'isoler une connexion TCP en reprant son tablissement (le dbut)
et sa libration (la fin). En cliquant sur le bouton droit de la souris aprs avoir slectionn n'importe quelle trame
appartenant la connexion isoler, il faut valider l'option Follow TCP Stream.

-8-

Copyright (c) 2000,2014 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2000,2014 Philippe Latu. Permission est
accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License),
version 1.3 ou toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire de Couverture, et

Introduction l'analyse rseau avec Wireshark par Philippe Latu

Isoler une connexion TCP - vue complte


la suite de cette opration, Wireshark ouvre une nouvelle fentre contenant les donnes vues de la couche
transport.

Donnes vues de la couche transport - vue complte

5-2 - Syntaxe du filtrage postriori


Comme indiqu ci-avant, la granularit de la syntaxe de filtrage est trs importante. Elle peut donc s'avrer trs
complexe manipuler. Wireshark offre plusieurs solutions pour rendre l'apprentissage de cette syntaxe interactif.
Tout d'abord, l'opration prcdente de filtrage simplifi (voir Section 5.1, Isoler une connexion TCP ) n'tait
qu'un cas particulier de saisie interactive de filtre de capture. En slectionnant l'option Follow TCP Stream, on a
saisi un filtre avec la syntaxe suivante :

-9-

Copyright (c) 2000,2014 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2000,2014 Philippe Latu. Permission est
accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License),
version 1.3 ou toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire de Couverture, et

Introduction l'analyse rseau avec Wireshark par Philippe Latu

(ip.addr(1) eq 192.168.1.9(2) and ip.addr eq 80.247.225.35) \


and(3) (tcp.port(4) eq 32783(5) and tcp.port eq 80)

Cette expression est extraite de la barre de filtrage. Elle doit tenir sur une ligne unique, quelle que soit sa longueur.
ip.addr : slection d'une adresse IP ;
eq 192.168.1.9 : valeur particulire d'adresse IP. L'oprateur eq correspond un test
d'galit. Il est aussi possible d'utiliser la syntaxe du langage C pour les tests :

== : galit,

!= : diffrence,

>= : suprieur ou gal,

<= : infrieur ou gal ;


Les oprateurs logiques tels que and et|ou or associs aux parenthses servent
composer des expressions de slection prcises ;
tcp.port : slection d'un numro de port du protocole TCP de la couche transport ;
eq 32783 : valeur particulire de port TCP. La syntaxe de test est identique pour tous
les champs des diffrents protocoles reconnus.
La construction interactive des filtres d'affichage peut se faire l'aide de la souris. Voici deux exemples simplistes.
Option TCP MSS
Admettons que l'on veuille reprer toutes les trames captures dans lesquelles l'option MSS (Maximum Segment
Size) apparat. On dveloppe alors l'en-tte TCP d'un paquet correspondant une demande de connexion pour faire
apparatre cette option. En cliquant sur le bouton droit de la souris, on accde au menu Prepare a Filter.

Prparation d'un filtre d'affichage la souris - vue complte


L'expression prpare apparat dans le champ de la barre de filtrage :
tcp.options.mss_val == 1460

Supposons maintenant que l'on veuille afficher toutes les trames ayant cette option indpendamment de sa valeur.
Il suffit alors de supprimer le test :
- 10 -

Copyright (c) 2000,2014 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2000,2014 Philippe Latu. Permission est
accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License),
version 1.3 ou toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire de Couverture, et

Introduction l'analyse rseau avec Wireshark par Philippe Latu

tcp.options.mss_val

Fragmentation IP
Admettons que l'on veuille observer la fragmentation IP en reprant les champs correspondants de l'en-tte des
paquets IP. Tout d'abord, il faut provoquer la fragmentation IP artificiellement. On utilise deux htes avec chacun
une interface Ethernet et un hub. En rduisant la taille maximum des donnes transmises par paquet (Maximum
Transmit Unit) sur l'interface Ethernet d'un hte, on observe plus facilement les effets de la fragmentation.
__________
|_=_=_=_=_// Hub
|
|
/
\_______
|.....
\
.------,~
|.....
|Hote_A|'
.------,~
|
||
|Hote_B|'
\------ /
|
||
======/
\------ /
192.168.254.128 ======/
192.168.254.2
Hote_A # ifconfig eth0 mtu 256
Hote_A # ping -s 128 -c 5 192.168.254.2
PING 192.168.254.2 (192.168.254.2) 128(156) bytes of data.
136 bytes from 192.168.254.2: icmp_seq=1 ttl=64 time=0.591
136 bytes from 192.168.254.2: icmp_seq=2 ttl=64 time=0.528
136 bytes from 192.168.254.2: icmp_seq=3 ttl=64 time=0.554
136 bytes from 192.168.254.2: icmp_seq=4 ttl=64 time=0.545
136 bytes from 192.168.254.2: icmp_seq=5 ttl=64 time=0.546

ms
ms
ms
ms
ms

--- 192.168.254.2 ping statistics --5 packets transmitted, 5 received, 0% packet loss, time 3999ms
rtt min/avg/max/mdev = 0.528/0.552/0.591/0.036 ms
Hote_A # ping -s 8192 -c 5 192.168.254.2
PING 192.168.254.2 (192.168.254.2) 8192(8220) bytes of data.
8200 bytes from 192.168.254.2: icmp_seq=1 ttl=64 time=15.4 ms
8200 bytes from 192.168.254.2: icmp_seq=2 ttl=64 time=15.4 ms
8200 bytes from 192.168.254.2: icmp_seq=3 ttl=64 time=15.4 ms
8200 bytes from 192.168.254.2: icmp_seq=4 ttl=64 time=15.4 ms
8200 bytes from 192.168.254.2: icmp_seq=5 ttl=64 time=15.4 ms
--- 192.168.254.2 ping statistics --5 packets transmitted, 5 received, 0% packet loss, time 4004ms
rtt min/avg/max/mdev = 15.444/15.462/15.481/0.079 ms

On observe ensuite le rsultat sur l'affichage des trames captures. La syntaxe du filtre est :
ip.flags.df == 0

- 11 -

Copyright (c) 2000,2014 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2000,2014 Philippe Latu. Permission est
accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License),
version 1.3 ou toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire de Couverture, et

Introduction l'analyse rseau avec Wireshark par Philippe Latu

Prparation d'un filtre d'affichage la souris - vue complte


Connaissant maintenant la syntaxe d'identification de la fragmentation IP, il sera toujours possible d'appliquer le
mme filtre sur une capture beaucoup plus importante en volume.

5-3 - Documentation de rfrence sur les filtres d'affichage


La documentation sur l'ensemble des champs des protocoles reconnus utilisables dans les expressions de filtres
d'affichage est disponible l'adresse : Display Filter Reference.

6 - Analyse distance
Lorsque l'on exploite une infrastructure de serveurs avec plusieurs primtres rseau cloisonns, il est frquent de
devoir procder des captures rseau distance. De plus, la plupart des serveurs rcents sont des lames qui n'ont
ni clavier ni cran. Voici donc un exemple de scnario capture rseau ralise sur un hte distant exploite ensuite
sur un poste de travail ayant une interface graphique.
Dans la srie de copies d'cran ci-aprs, on considre les lments suivants :

le poste de travail sur lequel l'analyse est effectue en mode graphique aprs collecte du fichier de capture
est appel <my_laptop.myothernet> ;
le serveur lame sans cran ni clavier sur lequel la capture rseau est ralise est appel
<my_distant_server.mynet>. On y accde via une console scurise SSH ;
on suppose que les deux htes ont un compte utilisateur me. Le compte utilisateur sur le serveur doit
disposer des droits ncessaires la capture de trames sur les interfaces rseau du serveur. Ces droits sont
grs avec sudo ;
on utilise l'application tshark qui permet d'excuter l'analyse rseau directement la console sans recours
une interface graphique. Cette application est fournie par le paquet Debian du mme nom. Voir le rsultat de
la commande $ apt-cache show tshark pour obtenir les informations sur ce paquet ;
les indications donnes ci-dessous ne peuvent se substituer aux pages du manuel de l'application. Il est
vivement conseill de les consulter pour adapter l'analyse rseau ses besoins : man tshark.

Connexion au serveur depuis le poste de travail

- 12 -

Copyright (c) 2000,2014 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2000,2014 Philippe Latu. Permission est
accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License),
version 1.3 ou toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire de Couverture, et

Introduction l'analyse rseau avec Wireshark par Philippe Latu

Comme indiqu ci-avant, on accde au serveur via une console scurise SSH. partir de Windoze, l'outil putty
permet d'effectuer la mme opration.
me@<my_laptop>:~$ ssh me@<my_distant_server.mynet>
Linux <my_distant_server> 2.6.15 #1 SMP Mon Mar 13 14:54:19 CET 2006 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
No mail.
Last login: Tue Mar 21 10:45:38 2006 from <my_laptop.myothernet>
me@<my_distant_server>:~$

Lancement de la capture rseau dans un nouveau shell


Un utilisateur normal n'ayant pas les droits suffisants pour accder directement aux interfaces rseau, on doit
lancer l'analyseur de rseau via sudo : $ sudo tshark.
On lance cette commande dans un nouveau shell en ajoutant le symbole & la fin de la ligne. De cette faon, on
conserve la possibilit de lancer d'autres commandes sur la console obtenue lors de la connexion au serveur.
me@<my_distant_server>:~$ sudo tshark -q -i _eth0 -w distant.cap \
-a filesize:4096 tcp and ! host <my_laptop.myothernet> &

L'option -q rend la capture silencieuse. Il s'agit surtout de supprimer l'affichage du compte des paquets
enregistrs pendant la capture. Cet affichage est gnant si l'on souhaite conserver la console pour effectuer
d'autres manipulations en cours de capture.
L'option -i _eth0 dsigne l'interface rseau sur laquelle la capture est ralise.
L'option -w distant.cap dsigne le fichier dans lequel les paquets capturs sont enregistrs. Sans spcification
du format de fichier avec l'option -F, les paquets capturs sont enregistrs directement (mode raw).
L'option -a filesize:4096 donne le critre d'arrt de l'enregistrement. Ici, le critre retenu est la taille du fichier
de capture. Cette taille est comptabilise en multiple du kilooctet (1 024 octets) ; soit 4 096 ko dans cet
exemple.
Les options suivantes correspondent au filtrage priori des paquets enregistrer. On spcifie le protocole
de transport TCP et on n'enregistre pas les paquets de l'hte qui a ouvert la console scurise : ! host
<my_laptop.myothernet>. Sans cette dernire prcaution, l'enregistrement ne contiendra pratiquement que
les changes SSH. Ces changes sont sans intrt puisqu'ils correspondent aux communications entre les
deux htes utiliss pour l'analyse distante.

Initiation du trafic rseau capturer.


Cette commande n'est qu'un prtexte pour remplir le fichier de capture. Avec le tlchargement d'une image des
sources du noyau Linux, on est sr de faire transiter un volume suffisant ;-).
me@<my_distant_server>:~$ wget \
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.tar.bz2
--11:14:29-- http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.tar.bz2
=> `linux-2.6.16.tar.bz2'
Rsolution de kernel.org... 204.152.191.5, 204.152.191.37
Connexion vers kernel.org|204.152.191.5|:80...connect.
requte HTTP transmise, en attente de la rponse...200 OK
Longueur: 40 845 005 (39M) [application/x-bzip2]
100%[===============//=====================>] 40 845 005

296.19K/s

ETA 00:00

11:16:58 (292.09 KB/s) - linux-2.6.16.tar.bz2 sauvegard [40845005/40845005]

- 13 -

Copyright (c) 2000,2014 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2000,2014 Philippe Latu. Permission est
accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License),
version 1.3 ou toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire de Couverture, et

Introduction l'analyse rseau avec Wireshark par Philippe Latu

Fin de la capture et visualisation du fichier


Comme indiqu ci-avant, l'enregistrement s'arrte lorsque le fichier atteint la taille de 4 096 ko.
[1]+

Done

sudo tshark -q -i _eth0 -w distant.cap \


-a filesize:4096 tcp and ! host <my_laptop.myothernet>

me@<my_distant_server>:~$ ls -lAh
-rw------- 1 root latu
4,1M 2006-03-21 11:14 distant.cap
-rw-r--r-- 1 latu latu
39M 2006-03-20 07:22 linux-2.6.16.tar.bz2
me@<my_distant_server>:~$ sudo chmod 640 distant.cap
me@<my_distant_server>:~$ exit
logout
Connection to <my_distant_server.mynet> closed.

L'enregistrement sur fichier ayant t ralis avec l'identit du super-utilisateur via la commande sudo, il faut changer
le masque des permissions de ce fichier ou son propritaire. Dans cet exemple, c'est le masque des permissions
d'accs qui a t tendu pour que l'utilisateur normal puisse lire le fichier de capture et le transfrer sur son poste
de travail.
Rcupration du fichier de capture sur le poste de travail
me@<my_laptop>:~$ scp me@<my_distant_server.mynet>:~/distant.cap .
distant.cap
100% 4097KB 682.8KB/s

00:06

me@<my_laptop>:~$ wireshark -r distant.cap

La commande scp illustre le transfert du fichier de capture rseau via SSH. On peut effectuer la mme opration
partir de Windoze avec l'outil WinSCP.
Enfin, il est possible de lire le fichier de capture directement au lancement de l'analyseur rseau avec l'option -r.

7 - Travaux pratiques : navigation Web (HTTP)


7-1 - Protocoles tudis

Adressage matriel (MAC|Ethernet) et logique (IP).


Requte et rponse du service de noms de domaine (DNS).
tablissement, maintien et libration de connexion TCP : procdure en trois tapes, numros de squence et
d'acquittement.
Requte et rponse HTTP.

7-2 - Marche suivre


1
2
3
4
5

Lancez Wireshark.
Lancez la capture des trames sans restrictions d'adresses, de protocoles ou de volume.
Lancez un navigateur Web et saisissez une adresse de site (URL) de votre choix.
Une fois la page compltement charge, arrtez la capture. Sauvegardez un fichier de capture.
Passez aux questions suivantes.

Suivant le contexte de connexion, le volume d'informations captur varie normment : connexion DSL, rseau local
commut ou non, multiplicit des protocoles rseau, etc. Il est cependant prfrable d'effectuer la premire capture
sans aucune restriction priori de faon avoir une image exacte du trafic. Si l'information utile est vraiment noye
dans du bruit, il est toujours possible de reprendre la capture avec un filtre ; voir Section 4, Capture d'une
srie de trames .
- 14 -

Copyright (c) 2000,2014 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2000,2014 Philippe Latu. Permission est
accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License),
version 1.3 ou toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire de Couverture, et

Introduction l'analyse rseau avec Wireshark par Philippe Latu

7-3 - Analyse des protocoles


Pour rpondre aux questions suivantes, utilisez le rsultat de la capture issue de l'tape prcdente ou chargez un
fichier de capture.

7-3-1 - Protocoles capturs


Q1.

Quels sont les protocoles indiqus dans la


colonne Protocol de la fentre de liste des
trames captures ?
Confirmez que la capture contient bien les
protocoles DNS, TCP et HTTP.

7-3-2 - Trame Ethernet, paquet IP et datagramme UDP


Analysez la trame correspondant au premier message DNS mis par le client Web.
Q2.
Q3.
Q4.
Q5.

Quelles sont les adresses (MAC|Ethernet) et


IP du client ?
Quel est le contenu du champ type de la trame
Ethernet ?
Quelles sont les adresses destination (MAC|
Ethernet) et IP ?
quelles machines correspondent ces
adresses ?

Analysez l'en-tte IP du premier message DNS mis par le client Web.


Q6.
Q7.

Quelle est la taille de l'en-tte ? Quelle est la


longueur totale du paquet ?
Reprez le champ type de protocole
dans l'en-tte. Quel est le numro et le type
de protocole prsents dans les donnes du
paquet ?

Analysez l'en-tte UDP du premier message DNS mis par le client Web.
Q8.

Q9.

Quels sont les numros de ports du client et


du serveur ? Quelles sont les particularits
de ces valeurs ? Quel est le protocole de
couche application prsent dans les donnes
du message ?
Quelle est la valeur indique dans le champ
longueur de l'en-tte UDP ? Est-ce qu'elle
correspond l'information donne dans l'entte du paquet IP ?

Faites un croquis des piles de protocoles des couches physiques application pour le client et le serveur ; identifiez
les units de donnes de protocoles (PDU) et les communications de bout en bout.

7-3-3 - Service DNS


Analysez le message de requte DNS mis par le client Web.

- 15 -

Copyright (c) 2000,2014 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2000,2014 Philippe Latu. Permission est
accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License),
version 1.3 ou toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire de Couverture, et

Introduction l'analyse rseau avec Wireshark par Philippe Latu

Q10.
Q11.
Q12.

Quel est le champ qui indique si le message


est une requte ou une rponse ?
Quelle est l'information transporte dans le
corps de la requte ? Identifier le type et la
classe de la requte.
Quel est l'identificateur de transaction de la
requte ?

On considre maintenant la rponse la requte prcdente.


Q13.

Q14.
Q15.
Q16.

Quelles devraient tre les adresses (MAC|


Ethernet) et IP de ce paquet ?
Vrifiez que les adresses attendues sont
prsentes.
Quelle est la taille du paquet IP ; du message
UDP ? Cette taille est-elle plus importante que
celle du paquet de la requte ?
Quel est l'identificateur de transaction de
la rponse ? Est-ce qu'il correspond la
requte ?
Combien de rponses sont disponibles dans
le message de rponse ? Comparez les
rponses et leurs valeurs TTL (Time-to-live).

7-3-4 - Connexion TCP


Identifiez la trame qui correspond au premier segment TCP dans la procdure en trois tapes (three ways
handshake) qui initie la connexion entre le client et le serveur HTTP.
Q17.

Q18.
Q19.
Q20.
Q21.

Q22.

Quelles sont les adresses (MAC|Ethernet)


et IP attendues pour cette trame ? Quelles
sont les valeurs des champs type et
protocole respectivement attendus pour
cette trame et ce paquet ?
Vrifiez que ces champs et adresses
correspondent.
Expliquez les valeurs des adresses
destination (MAC|Ethernet) et IP ? quels
htes correspondent ces adresses ?
Identifiez les numros de ports utiliss par
le client. Pourquoi ces valeurs sont-elles
utilises ?
Quelle est la longueur du segment TCP ?
Quel est le numro de squence initiale (Initial
Sequence Number ou ISN mis par le client
vers le serveur ? Quelle est la taille de
fentre initiale ? Quelle est la taille maximale
de segment (Maximum Segment Size ou
MSS) ?
Trouvez la valeur hexadcimale de l'octet qui
contient l'indicateur d'tat SYN ?

Identifiez la trame qui correspond au second segment TCP dans la procdure en trois tapes (three ways
handshake).

- 16 -

Copyright (c) 2000,2014 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2000,2014 Philippe Latu. Permission est
accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License),
version 1.3 ou toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire de Couverture, et

Introduction l'analyse rseau avec Wireshark par Philippe Latu

Q23.
Q24.

Combien de temps s'est coul entre la


capture du premier et du second segment
TCP ?
Relevez les valeurs des champs suivants de
cette trame :

Q25.
Q26.

adresses MAC source et destination de


la trame Ethernet ;

adresses source et destination du


paquet IP ;

numros de squence et d'acquittement


du segment TCP ;

valeurs des indicateurs d'tat.


Vrifiez que tout correspond aux valeurs
attendues.
Quelle est la longueur du segment TCP ?
Quel est le numro de squence initial (Initial
Sequence Number ou ISN mis par le
serveur vers le client ? Quelle est la taille de
fentre initiale ? Quelle est la taille maximale
de segment (Maximum Segment Size ou
MSS) ?

Identifiez la trame qui correspond au dernier segment TCP dans la procdure en trois tapes (three ways
handshake).
Q27.

Q28.

Combien de temps s'est coul entre la


capture du second et du troisime segment
TCP ? Comparez cette valeur avec celle
releve entre le premier et le second segment
et expliquez la diffrence.
Relevez les valeurs des champs suivants de
cette trame :

Q29.

numros de squence et d'acquittement


du segment TCP ;

valeurs des indicateurs d'tat ;

tailles de fentre ;
Vrifiez que tout correspond aux valeurs
attendues.
Quelle est la longueur du segment TCP ?

7-3-5 - Requte HTTP GET


Identifiez la trame qui correspond au message HTTP GET.
Q30.

Q31.
Q32.

Quelles sont les valeurs des numros de


squence et d'acquittement de l'en-tte TCP ?
Vrifiez que tout correspond aux valeurs
attendues.
Quels sont les indicateurs d'tat actifs de l'entte TCP ? Expliquez pourquoi.
Quelles sont les longueurs de l'en-tte et de la
charge du message TCP ?

On considre maintenant le contenu du message HTTP GET.


- 17 -

Copyright (c) 2000,2014 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2000,2014 Philippe Latu. Permission est
accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License),
version 1.3 ou toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire de Couverture, et

Introduction l'analyse rseau avec Wireshark par Philippe Latu

Q33.
Q34.
Q35.

Comparez le texte dcod dans la fentre


d'affichage de la pile de protocoles avec le
contenu de la fentre d'affichage brut.
Comptez le nombre d'octets du message et
vrifier que ce nombre correspond au champ
longueur de l'en-tte TCP.
Quel est le prochain numro de squence
attendu dans le message suivant mis par le
serveur HTTP ?

7-3-6 - Rponse HTTP


Q36.
Q37.
Q38.

Combien de temps s'est coul entre la


capture du message GET et la capture du
message de rponse correspondant ?
Dterminez si le serveur rpond avec un
message HTTP ou un segment TCP ACK ?
Quel est le numro de squence mis par le
serveur HTTP ? Est-ce qu'il correspond la
valeur attendue ?

On considre maintenant l'en-tte du message rponse HTTP.


Q39.
Q40.
Q41.

Quelle est la longueur de la charge indique


dans l'en-tte TCP ?
Quels sont les indicateurs d'tat actifs de l'entte TCP ? Expliquez pourquoi.
Quel est le prochain numro de squence
attendu dans le message suivant mis par le
client ?

On considre maintenant le corps du message rponse HTTP.


Q42.
Q43.

Quel est le code dans le message de


rponse ?
Slectionnez ce code avec la souris dans la
fentre d'affichage de la pile de protocoles
et comparez-le avec ce qui est affich sur la
page du navigateur Web.
Cette opration revient suivre la dmarche
prsente dans la Section 5.1, Isoler une
connexion TCP .

8 - Travaux pratiques : messages de contrle Internet (ICMP)


8-1 - Protocoles et outils tudis

Internet Control Message Protocol ou ICMP ; messages de type : Echo, Echo Reply et Time Exceeded.
Internet Protocol ou IP ; champ de l'en-tte IP : Time to Live.
Commande ping.
Commandes traceroute et tcptraceroute.

- 18 -

Copyright (c) 2000,2014 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2000,2014 Philippe Latu. Permission est
accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License),
version 1.3 ou toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire de Couverture, et

Introduction l'analyse rseau avec Wireshark par Philippe Latu

8-2 - 8.2. Marche suivre


Commande ping
1
2
3
4
5

Lancez Wireshark.
Lancez la capture des trames sans restrictions d'adresses, de protocoles ou de volume.
Lancez une console et tapez une commande du type ping -c10 www.phrack.org. L'option -c10 limite le
nombre de requtes ICMP 10. Bien sr, le choix de l'adresse contacter est totalement libre.
Arrtez la capture lorsque l'invite de commande rapparat la console.
Sauvegardez le fichier de capture.

Commande traceroute
1
2
3
4
5

Lancez Wireshark.
Lancez la capture des trames sans restrictions d'adresses, de protocoles ou de volume.
Lancez une console et tapez une commande du type traceroute www.phrack.org. Bien sr, le choix de
l'adresse contacter est totalement libre.
Arrtez la capture lorsque l'invite de commande rapparat la console.
Sauvegardez le fichier de capture.

La plage de ports UDP utilise par dfaut par la commande traceroute est de plus en plus frquemment bloque par
les quipements d'interconnexion. Il est alors utile d'envisager l'emploi de la commande tcptraceroute avec laquelle
on peut fixer les ports source et destination.
Commande tcptraceroute
1
2
3
4
5

Lancez Wireshark.
Lancez la capture des trames sans restrictions d'adresses, de protocoles ou de volume.
Lancez une console et tapez une commande du type tcptraceroute -p 1024 www.phrack.org 80. Bien sr,
le choix de l'adresse contacter est totalement libre.
Arrtez la capture lorsque l'invite de commande rapparat la console.
Sauvegardez le fichier de capture.

8-3 - Analyse avec ping


Pour rpondre aux questions suivantes, utilisez le rsultat de la capture issue de l'tape prcdente ou chargez un
fichier de capture.

8-3-1 - Protocoles capturs


Q44.

Q45.

Quels sont les protocoles indiqus dans la


colonne Protocol de la fentre de liste des
trames captures ?
Il est probable que les paquets ICMP soient
prcds d'un jeu de questions/rponses
DNS.
Relevez l'adresse IP renvoye avec la
rponse DNS.

8-3-2 - Message ICMP Echo Request


tude du paquet IP qui correspond au premier message ICMP Echo Request.

- 19 -

Copyright (c) 2000,2014 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2000,2014 Philippe Latu. Permission est
accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License),
version 1.3 ou toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire de Couverture, et

Introduction l'analyse rseau avec Wireshark par Philippe Latu

Q46.

Quelle est l'adresse IP destination du paquet ?


Quelle est la valeur du champ Protocol Type ?
Quelle est la valeur du champ Time to Live ?

tude du message ICMP.


Q47.
Q48.

Quel est le type de message ICMP ? Quel


est l'identificateur de message ? Quel est le
numro de squence ?
Slectionnez la souris les octets de donnes
du message de requte. Comparez ces
donnes avec celles affiches dans la fentre
d'affichage brut.

8-3-3 - Message ICMP Echo Reply


tude du paquet IP qui correspond au premier message ICMP Echo Reply.
Q49.

Quelle sont les adresses IP source et


destination du paquet ? Quelle est la valeur du
champ Protocol Type ? Quelle est la valeur du
champ Time to Live ?

tude du message ICMP.


Q50.

Q51.

Quel est le type de message ICMP ?


Comparez l'identificateur de message et le
numro de squence du message de rponse
avec les valeurs du message de requte.
Slectionnez la souris les octets de
donnes du message de requte. Comparez
ces donnes avec celles affiches dans le
message de requte.

8-3-4 - Messages ICMP restants


Reprenez les deux points prcdents pour les messages ICMP Echo Request et Echo Reply restants.
Q52.
Q53.
Q54.

Comment les champs d'identification et de


numro de squence voluent-ils dans le
temps ?
Est-ce que les squences de donnes des
requtes et des rponses changent ?
Calculez l'cart de temps entre l'mission
de chaque message Echo Request et la
rception de chaque message Echo Reply.
Comparez les rsultats avec les valeurs
maximales, moyennes et minimales fournies
par la commande ping.

8-4 - Analyse avec (tcp)traceroute


Pour rpondre aux questions suivantes, utilisez le rsultat de la capture issue de l'tape prcdente ou chargez un
fichier de capture.
- 20 -

Copyright (c) 2000,2014 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2000,2014 Philippe Latu. Permission est
accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License),
version 1.3 ou toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire de Couverture, et

Introduction l'analyse rseau avec Wireshark par Philippe Latu

8-4-1 - Protocoles capturs


Q55.

Q56.

Quels sont les protocoles indiqus dans la


colonne Protocol de la fentre de liste des
trames captures ?
Il est probable que les paquets ICMP soient
prcds d'un jeu de questions/rponses
DNS.
Relevez l'adresse IP renvoye avec la
rponse DNS.

8-4-2 - Message UDP


Q57.

Q58.

Quelle est l'adresse IP destination du premier


paquet contenant le message UDP ? Quelles
sont les valeurs des champs Protocol Type et
Time to Live ?
Comparez l'adresse IP destination releve
avec celle de la rponse DNS. Notez les
valeurs caractristiques de l'en-tte IP en vue
d'une utilisation ultrieure.
Combien d'octets de donnes sont prsents
dans ce message de requte ?
Notez la squence de caractres prsents
dans la troisime fentre.

8-4-3 - Message ICMP Time Exceeded


Q59.

Quelles sont les adresses IP source et


destination du paquet de la premire rponse
ICMP Time Exceeded ?

tude du message ICMP.


Q60.

Q61.

Quel est le type de message ICMP ?


Les champs Type, Code et Checksum sont
suivis par plusieurs octets zro, puis par
l'en-tte IP du message ICMP Echo Request.
Comparez les valeurs caractristiques de cet
en-tte avec celles notes ci-avant.
Est-ce que le message ICMP contient de
nouveaux octets de donnes ?

- 21 -

Copyright (c) 2000,2014 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2000,2014 Philippe Latu. Permission est
accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License),
version 1.3 ou toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire de Couverture, et

Introduction l'analyse rseau avec Wireshark par Philippe Latu

8-4-4 - volution du champ TTL


Q62.
Q63.

Q64.
Q65.

Combien de messages UDP sont mis avec la


mme valeur de champ TTL dans l'en-tte de
paquet IP ?
Quelles sont les adresses IP source des
paquets ICMP Time Exceeded ?
Comparez ces adresses avec celles donnes
lors de l'excution de la commande
traceroute.
Quel est le type du message ICMP reu
lorsque l'hte destinataire est atteint ?
Comment calculer les temps affichs par la
commande traceroute partir des valeurs
donnes dans la colonne Time de la fentre
des trames captures ?
Utilisez les pages de manuels de la
commande traceroute pour obtenir la
signification des diffrentes valeurs de temps
pour atteindre une destination.

8-4-5 - Variantes
Il est possible de reprendre les questions ci-dessus en utilisant diffrentes options des commandes traceroute et|
ou tcptraceroute.

Analyse uniquement base de messages ICMP avec l'option -I : traceroute -I www.phrack.org.


Analyse base de segments TCP en prcisant le numro de port vis : tcptraceroute www.phrack.org 80.
Cette dernire variante est trs utile pour vrifier si un service est ouvert ou non.

9 - Documents de rfrence
Guide de l'utilisateur

Le Wireshark User's Guide est la rfrence la plus complte sur l'utilisation de notre analyseur de trafic
favori !

Protocoles

Le fichier PDF TCP/IP and tcpdump Pocket Reference Guide est une antische sur les champs des enttes des protocoles essentiels ; un document indispensable pour la pratique de l'analyse rseau.

Travaux pratiques

Le support Configuration d'une interface de rseau local prsente les oprations de configuration d'une
interface rseau et propose une exploitation des protocoles TCP/IP et ICMP sans recours un analyseur
rseau.
Le chapitre Using Ethereal - Chapter 4 of Ethereal packet sniffing est un extrait de livre consacr la
version antrieure de l'analyseur de trafic rseau.
Le site Ethereal Labs prsente d'autres travaux pratiques bass sur Ethereal, la version antrieure de
l'analyseur de trafic rseau.

- 22 -

Copyright (c) 2000,2014 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2000,2014 Philippe Latu. Permission est
accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License),
version 1.3 ou toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire de Couverture, et

Introduction l'analyse rseau avec Wireshark par Philippe Latu

10 - Remerciements Developpez
L'quipe Rseaux remercie Philippe Latu pour la rdaction de ce tutoriel.
Nos remerciements milkoseck et ClaudeLELOUP pour leur relecture orthographique.
N'hsitez pas commenter cet article ! Commentez

- 23 -

Copyright (c) 2000,2014 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2000,2014 Philippe Latu. Permission est
accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License),
version 1.3 ou toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire de Couverture, et

Vous aimerez peut-être aussi