Tutoriel Wireshark (ex Ethereal)

Date: 19/07/2007 | Catégories: Open-source,Reseau | Tags: ,,,,

SharkIl y a quelques mois, le logiciel open-source Ethereal est devenu Wireshark. Derrière ces deux noms se cache un même logiciel graphique de capture et d'analyse réseau qui est la solution idéale si l'interface textuelle de tcpdump vous donnes des boutons. Nous allons, dans ce tutoriel, apprendre à se servir des fonctions de base de ce logiciel.

Installation

Wirshark est disponible sur un nombre très important d'operating system. Rendez-vous sur cette page pour télécharger la dernière version stable. On se retrouve dans quelques minutes...

Description de la fenêtre principale

Première capture

Pour effectuer une capture, il faut aller dans le menu Capture / Interface (ou cliquer sur le bouton correspondant).

Une nouvelle fenêtre comportant la liste des interfaces réseaux disponibles va apparaitre.

Si vous souhaitez configurer certaines options de la capture, il faut Options. On peut alors par exemple ajouter des filtres de captures permettant de ne capturer que des paquets correspondant à votre besoin. Dans l'exemple suivant nous allons seulement capturer les paquets HTTP (c'est-à-dire TCP/80):

Pour démarrer la capture il suffit de presser le bouton Start.

Wireshark va alors capturer les paquets correspondant à votre filtre (s'il existe) jusqu'à ce que le bouton Stop soit pressé.

Analyse de la capture

Une fois la capture achevée, vous allez être redirigé vers la fenêtre principale.

Pour analyser le contenu d'un paquet, il faut d'abord le sélectionner dans la liste des paquets capturés. C'est dans la fenêtre des détails que vous allez trouver des informations intéressantes. Cette fenêtre affiche une ligne (extensible) par couche réseau. On retrouve donc pour notre paquet HTTP, les couches suivantes:

  • couche 2 (Ethernet - MAC)
  • couche 3 (Internet Protocol - IP)
  • couche 4 (Transmission control protocol - TCP)
  • couche 7 (HyperText Transfert Protocol - HTTP)

Pour aller plus en détail, par exemple sur le niveau IP (là où se trouve les adresses source et destination), il suffit de cliquer sur la ligne en question:

On peut donc voir que nous sommes en IP version 4, que l'adresse source est 192.168.29.157 et que la destination est 17.254.17.105.

En regardant un peu plus haut dans la couche réseau HTTP, on découvre que ce paquet correspond au téléchargement du fichier "left.gif" sur le site web www.macports.org, que le logiciel utilisé pour effectuer ce téléchargement est Firefox 2.0.0.4...

Filtrage à l'interieur d'une capture

Souvent, on capture la totalité d'un flux, puis, par la suite, on souhaite se focaliser sur une sous partie plus précise. Wireshark fourni des outils puissants de filtrage. Imaginons que dans votre capture vous souhaitiez afficher seulement les paquets réseaux correspondant au protocole Jabber (GoogleTalk). Il faut pour cela saisir la commande suivante: port dst jabber dans la zone de filtrage et cliquer sur le bouton Apply (ou Appliquer).

La liste des paquets affichera alors seulement ceux correspondant au protocole Jabber.

Ceci n'est qu'un exemple de filtre, pour exploiter à fond le logiciel, je vous conseille la lecture de la documentation officielle.