Académique Documents
Professionnel Documents
Culture Documents
Laila El Aimani
Documentation :
http://www.wireshark.org/docs/wsug_html_chunked/index.html
Figure 1 illustre la structure d'un « packet sniffer » ou renifleur de paquet. A droite dans
la figure, on trouve les protocoles (dans ce cas, les protocoles Internet ) et les
applications (e.g. navigateur Web ou client ftp) s'exécutant sur votre ordinateur. Le «
packet sniffer », montré dans le rectangle en pointillés dans la figure 1 est un ajout au
logiciel habituel sur votre ordinateur, et se compose de deux parties. La bibliothèque de
capture de paquets reçoit une copie de chaque trame de la couche de liaison, qui est
envoyée ou reçue par votre ordinateur. Il est à noter que les messages échangés par les
protocoles des couches supérieures telles que HTTP, FTP, TCP, UDP, DNS ou IP sont
tous encapsulés dans des trames de la couche de liaison qui sont transmis sur des supports
physiques tels que le câble Ethernet. Dans la figure 1, le support physique utlisé est un
réseau Ethernet, ainsi tous les messages des protocoles des couches supérieures sont
encapsulés dans des trames Ethernet. Capturer toutes les trames de la couche de liaison
vous donne donc tous les messages envoyés/reçus de/par tous les protocoles et les
applications s'exécutant sur votre ordinateur.
packet sniffer
operating
system Transport (TCP/UDP)
packet Network (IP)
capture copy of all Ethernet
frames sent/received
Link (Ethernet)
(pcap)
Physical
Le second composant d'un renifleur de paquet est l'analyseur de paquets, qui montre le
contenu de tous les champs d'un message de protocole. Pour ce faire, l'analyseur de
paquet doit «comprendre» la structure de tous les messages échangés par les protocoles.
Par exemple, supposons que nous nous intéressons à l'affichage des différents champs de
messages échangés par le protocole HTTP dans la figure 1. L'analyseur de paquet
comprend le format des trames Ethernet, et peut donc identifier le datagramme IP dans
une trame Ethernet. Il comprend également le format du datagramme IP, afin qu'il puisse
y extraire le segment TCP. Enfin, il comprend la structure du segment TCP, et peut donc
extraire le message HTTP contenu dans ce segment TCP. Enfin, il comprend le protocole
HTTP et sait, par exemple, que les premiers octets d'un message HTTP contiendront la
chaîne "GET", "POST" ou "HEAD", comme le montre la figure 2.8 dans le texte.
Nous utiliserons le renifleur de paquets Wireshark [ http://www.wireshark.org/ ] pour ces
cours pratiques, ce qui nous permet d'afficher le contenu des messages envoyés/reçus
de/par les protocoles à différents niveaux de la pile de protocole. (Techniquement
parlant, Wireshark est un analyseur de paquets qui utilise une bibliothèque de capture de
paquets sur votre ordinateur ) . Wireshark est un analyseur de protocoles réseau libre qui
fonctionne sur Windows, Linux/Unix et Mac. Il s'agit d'un analyseur de paquets idéal
pour nos travaux pratiques - il est stable, a une large base d'utilisateurs bien documenté
qui comprend un guide de l'utilisateur
( http://www.wireshark.org/docs/wsug_html_chunked/ ), pages man (http :/ /
www.wireshark.org/docs/man-pages/ ), et une FAQ détaillée
( http://www.wireshark.org/faq.html ), riche en fonctionnalités qui inclut la capacité
d'analyser des centaines de protocoles, et a une interface utilisateur bien conçue . Il
fonctionne sur les ordinateurs utilisant Ethernet, série ( PPP et SLIP), réseaux sans fil
802.11, et de nombreuses autres technologies de couche de liaison (si le système
d'exploitation sur lequel il s'exécute permet Wireshark de le faire) .
Obtenir Wireshark
Afin d'exécuter Wireshark, vous devez avoir accès à un ordinateur qui supporte
Wireshark et libpcap ou une bibliothèque de capture de paquets WinPCap. Le logiciel de
libpcap devrait ainsi être installé, s'il n'est pas déjà installé dans votre système
d'exploitation, lorsque vous installez Wireshark. Voir
http://www.wireshark.org/download.html pour obtenir une liste des systèmes
d'exploitation pris en charge et les sites de téléchargement.
Exécuter Wireshark
Lorsque vous exécutez le programme Wireshark, vous aurez un écran de démarrage,
comme indiqué ci-dessous :
Regardez le côté supérieur gauche de l'écran - vous verrez une "Interface List". Il s'agit de
la liste des interfaces réseau sur votre ordinateur. Une fois que vous choisissez une
interface, Wireshark va capturer tous les paquets sur cette interface. Dans l'exemple ci-
dessus, il existe une interface Ethernet (Gigabit Network Connection) et une interface
sans fil ("Microsoft").
Si vous cliquez sur une de ces interfaces pour lancer la capture de paquets (par exemple,
pour Wireshark pour commencer à capturer tous les paquets envoyés vers / à partir de
cette interface), un écran comme celui ci-dessous s'affiche, affichant les informations sur
les paquets capturés. Une fois vous commencez la capture de paquets, vous pouvez
l'arrêter en sélectionnant Stop dans le menu.
command
menus
display filter
specification
listing of
captured
packets
details of
selected
packet
header
packet content
in hexadecimal
and ASCII
Figure 3: Wireshark Graphical User Interface, during packet capture and analysis
Tester Wireshark
La meilleure façon d'apprendre un nouveau logiciel consiste à l'essayer ! Nous
supposerons que votre ordinateur est connecté à Internet via une interface Ethernet filaire.
En effet, il est recommandé de faire ce premier cours pratique sur un ordinateur qui a une
connexion Ethernet filaire, plutôt qu'une connexion sans fil. Procéder comme suit:
1. Démarrez votre navigateur web préféré, pour afficher votre page d'accueil
sélectionnée.
2. Démarrez le logiciel Wireshark. Vous allez voir d'abord une fenêtre similaire à
celle illustrée dans la figure 2. Wireshark n'a pas encore commencé la capture des
paquets.
4. Vous aller voir une liste des interfaces sur votre ordinateur ainsi qu'une
énumération de paquets observés sur ces interfaces. Cliquez sur «Start» pour
choisir l'interface sur laquelle vous souhaitez lancer la capture des paquets (dans
ce cas, c'est la connexion réseau Gigabit). La capture de paquets va maintenant
commencer - Wireshark capte désormais tous les paquets envoyés/reçus de/par
votre ordinateur!
5. Une fois vous commencez la capture de paquets, une fenêtre similaire à celle de
la figure 3 apparaît. Cette fenêtre affiche les paquets capturés. En sélectionnant les
menus «Capture» et «Stop», vous pouvez arrêter la capture de paquets. Mais
n'arrêtez pas maintenant la capture de paquets. Essayons d'abord de capturer
quelques paquets intéressants. Pour ce faire, nous allons avoir besoin de générer
du trafic réseau. Faisons ça à l'aide d'un navigateur Web, qui utilise le protocole
HTTP pour télécharger du contenu à partir d'un site web.
7. Après avoir affiché la page d'intro - wireshark- file1.html ( il s'agit d'une simple
ligne de félicitations ), arrêtez la capture de paquets Wireshark en choisissant
«Stop» dans la fenêtre de capture Wireshark. La fenêtre principale Wireshark doit
maintenant ressembler à la figure 3 . Vous avez maintenant les paquets live qui
contiennent tous les messages de protocoles échangés entre votre ordinateur et
d'autres entités du réseau ! Les échanges de messages HTTP avec le serveur Web
de gaia.cs.umass.edu devraient apparaître quelque part dans la liste des paquets
capturés. Mais il y aura aussi beaucoup d'autres types de paquets affichés (voir,
par exemple, les nombreux types de protocoles indiqués dans la colonne Protocole
dans la figure 3). Même si la seule action que vous avez pris consistait à
télécharger une page web, il y avait évidemment beaucoup d'autres protocoles en
cours d'exécution sur votre ordinateur qui sont invisibles par l'utilisateur. Nous en
apprendrons beaucoup plus au fur et à mesure que nous progressions dans le cours
!
8. Tapez "http" (sans les guillemets et en minuscules - tous les noms de protocole
sont en minuscules dans Wireshark) dans la fenêtre «display filter» en haut de la
fenêtre principale Wireshark. Puis cliquez sur «Apply» (à droite de l'endroit où
vous avez entré "http"). Cela va restreindre l'affichage aux messages HTTP dans
la fenêtre «packet-listing».
9. Cherchez le message GET de HTTP qui a été envoyé à partir de votre ordinateur
au serveur HTTP gaia.cs.umass.edu. (Cherchez dans la portion de la liste des
paquets capturés ( voir figure 3) qui affiche le mot clé "GET " suivi de l'URL de
gaia.cs.umass.edu que vous avez entrée). Lorsque vous sélectionnez le message
GET, la trame Ethernet, le datagramme IP, le segment TCP, et l'en-tête du
message HTTP seront affichés dans la fenêtre «packet-header». En cliquant sur '+'
et '-' pointant vers la droite et pointant vers le bas sur le côté gauche de la fenêtre
«packet details», vous pouvez réduire la quantité d'informations affichées dans
Frame, Ethernet, IP et TCP. Maximisez l'information affichée sur le protocole
HTTP. Votre écran Wireshark devrait ressembler à la Figure 5.
Imprimer les deux messages HTTP (GET et OK) mentionnés dans la question 2
ci-dessus. Pour ce faire, sélectionner «Print» dans le menu «File», puis
sélectionner les boutons radio «Selected Packet Only» and «Print as displayed»,
puis cliquer sur OK.