Ce tutoriel prsente les principales fonctions de Wireshark ncessaires une utilisation
basique et se destine principalement un public nophyte. Nous invitons le lecteur se rfrer au manuel de l'utilisateur pour une utilisation avance. Rcupration / Installation de Wireshark Wireshark est un logiciel d'analyse rseau (sniffer qui permettant de visualiser l'ensemble des donnes transitant sur la machine qui l'e!cute" et d'obtenir des informations sur les protocoles applicatifs utiliss. #es octets sont capturs en utilisant la librairie rseau $C%$" puis regroups en blocs d'informations et analyss par le logiciel. #a derni&re version de Wireshark est disponible en tlchargement sur '''.'ireshark.org. (e nombreuses distributions linu! incluent Wireshark dans leur gestionnaire de paquet. %insi sous ubuntu on tapera simplement sudo apt-get install wireshark. Lancement de Wireshark Wireshark permet d'analyser un trafic enregistr dans un fichier anne!e" mais galement et surtout le trafic en direct sur des interfaces rseau. Cette seconde fonction ncessite de possder les droits administrateurs" ou d'appartenir un groupe possdant ces droits. #'utilitaire s'ouvre sur l'interface prsente en )igure *" dcoup en quatre +ones , (* liste des interfaces et lancement rapide d'une capture (- %ide sur la capture de paquets (. %nalyse d'une capture prcdente enregistre sur fichier (/ %ide online et manuel utilisateur 0enoit (arties *12 benoit.darties3gmail.com Figure 1: fentre d'ouverture de Wireshark Capture des trames sur le rseau #a principale utilisation que nous ferons de Wireshark consistera en la capture de trames rseau en live. #es trois premiers boutons de la barre d'ic4nes permettent une telle capture" et sont des raccourcis au! lments prsents dans le menu 5 capture 6 $our lancer une capture live" plusieurs mthodes s'offrent nous" parmi lesquelles , Cliquer directement sur l'interface dsire liste dans la +one (* de )igure *" . 7n cliquera par e!emple sur le bouton 5 8tart 6 associ au lien eth0 pour lancer la capture Cliquer sur le premier ic4ne de la barre des ic4nes intitul liste des interfaces de captures disponibles. 9ne fen:tre s'ouvre ()igure - " il nous suffit alors de cliquer sur le bouton 5 8tart 6 de l'interface de notre choi! pour lancer la capture sur cette interface. Cliquer sur le .eme ic4ne de la barre des ic4nes en partant de la gauche pour lancer directement une capture sur l'ensemble des interfaces.
9ne fois lance" la capture peut :tre interrompue en cliquant que le /&me bouton de la barre d'ic4nes (en partant de la gauche. Ce bouton n'est actif uniquement lors d'une capture. #orsqu'une capture est active" le logiciel prsente l'interface de l'analyseur ()igure .. Cette interface reste ensuite visible lorsque la capture est arr:te. #'interface de l'analyseur est dcoup en trois +one , ;one suprieure" numrote (* sur )igure . , liste l'ensemble des paquets capturs ;one centrale" numrote (- sur )igure . , affiche le dtail d'un paquet slectionn 0enoit (arties -12 benoit.darties3gmail.com Figure 2: Liste des interfaces, menu capture / interfaces , ou premier icne Figure !: interface de "'ana"#seur dans la liste des paquets de la +one suprieure. #es informations prsentes y sont de loin les plus pertinentes" puisqu'il est possible de visualiser aisment les diffrents en<t:tes rsultant de l'encapsulation d'un message. ;one infrieure" numrote (. sur )igure . , prsente l'ensemble du paquet sous forme octale et %8C==. Ces octets contiennent les en<t:tes des diffrentes couches de l'architecture >C$1=$ ainsi que les donnes transmises par le processus l'origine du message. Analyse d'un paquet Encapsulation d'un paquet #orsqu'un paquet est slectionn" la +one centrale permet de visualiser clairement les diffrentes couches d'encapsulation du paquet. $ar e!emple si l'on slectionne un paquet de type 9($ " la +one centrale pourrait afficher quelque chose de similaire ce qui est prsent )igure /. #es 2 entres prsentes correspondent diffrentes encapsulations" ordonnes de la couche la plus basse la couche la plus haute , *. (onnes sur le mdia de capture , Wire ? filaire sur )igure / -. >rame relative la couche liaison de donne , @thernet == sur )igure / .. $aquet relatif la couche rseau , =nternet $rotocol sur )igure / /. (atagramme relatif la couche transport , 9ser (atagram $rotocol sur )igure / 2. (onnes de l'application , regroupe gnralement les couches session" prsentation" application. Dtail de chaque niveau d'encapsulation $our tout item correspondant un niveau d'encapsulation" un clic sur le triangle en dbut de ligne permet de drouler l'en<t:te afin de voir l'ensemble des champs le composant. Certains champs peuvent galement :tre drouls. 8ur l'e!emple prsent en )igure 2" nous avons tendu les entres correspondant au! couches rseau" transport et application en cliquant sur les triangles correspondants. Nous pouvons voir entre autre que , #e paquet est de type =$ v/ , ref (- sur )igure 2 #e type de donnes de ce paquet =$ est un datagramme 9($ , ref (2 sur )igure 2 #'ip de la machine source est *A..2-.-.B.-/. , ref (B sur )igure 2 0enoit (arties .12 benoit.darties3gmail.com Figure $:%ncapsu"ation d'un pa&uet '(), *one centra"e de "'ana"#seur+ #'ip de la machine destination est *A..2-.-.B.-/C , ref (C sur )igure 2 Nous pouvons galement faire un point sur la taille des donnes et des en<tetes diffrents niveau! d'encapsulation , #a taille des donnes envoye par le processus est de -. octets , ref (A sur )igure 2 #a taille totale du datagramme 9($ est de .* octets < ref (D sur )igure 2 < . Cette valeur est la somme entre la taille relle des donnes (-. octets et D octets d'en<t:te du paquet (D tant une valeur fi!e pour un paquet 9($ #a taille des en<t:tes du paquet =$ est de -E octets , ref (. sur )igure 2 #e paquet =$ contient un en<tete (-E octets ainsi que le datagramme 9($ (.* octets. 8a taille totale est de 2* octets" taille rappele en ref (/ sur )igure 2 #a taille totale du paquet =$ est de (fl&che . Cette valeur somme la taille du paquet 9($ la taille de l'en<t:te =$. 8i l'on aFoute *- octets d'en<tete pour la couche @thernet == (taille fi!e" la taille totale de la trame est de B2 octets" comme prsente en ref (* sur )igure 2. Notons ainsi que pour transfrer -. octets de donnes brutes" il nous a fallu transfrer au total B2 octets (en fait il nous a m:me fallu transfrer des octets supplmentaires avant la trame @thernet. Ces octets seront ici passs sous silence. 0enoit (arties /12 benoit.darties3gmail.com Figure ,: -isua"isation d.tai"".e des en/tetes d'un pa&uet Visualisation octale de la trame #a +one infrieure permet de visualiser la trame capture sous forme octale. 9n clic sur n'importe lequel des niveau! d'encapsulation permet de visualiser la portion d'octets correspondante dans la +one infrieure de l'analyseur. $our n'importe quel niveau" un clic sur une valeur de champs permet de visualiser la portion d'octets correspondant cette valeur dans le paquet au niveau de la +one infrieure de l'analyseur. Gciproquement" un clic sur un octet quelconque affiche le champ correspondant dans la +one centrale. %insi dans l'e!emple prsent en figure )igure 2" un clic sur le champ 5 8ource 6 de la couche rseau < voir ref (B sur )igure 2 < mettra en vidence dans la +one infrieure les octets codant cette source < voir ref (*E sur )igure 2 < et rciproquement. 8ignalons enfin qu'il est possible de visualiser les donnes transmises dans ce datagramme 9($. @n cliquant sur l'entre 5 (ata 6 de la +one centrale" les octets correspondants mais galement leur codage %8C== seraient mis en vidence dans la +one infrieure. @n e!aminant ce codage %8C==" il est parfois tr&s facile de dcoder les messages. 8i l'on e!amine les derniers caract&res %8C== reprsentant le message < ref (** sur )igure 2 < on devine aisment que le message envoy tait 5 test d'envoi de message 6. Filtrage de paquets Principe et mise en place d'un filtre #'intgralit des paquets capturs est liste dans la +one suprieure de l'analyseur. =l est souvent utile de filtrer les paquets capturer" afin de pouvoir visualiser correctement un certain type de paquets seulement. Wireshark permet de filtrer les paquets capturer en fonction des informations des diffrentes couches d'encapsulation. #a mise en place d'un filtre s'effectue par le biais d'une r&gle de filtre dfinir dans la +one 5 filtre 6 de l'analyseur. 9ne r&gle de filtre est constitue d'un ensemble de tests d'e!pressions impliquant des noms de champs et des valeurs. 9n paquet n'est alors list qu' la condition qu'il satisfasse les conditions du filtre. #'ensemble des champs utilisables dans l'tablissement des r&gles est list dans la fen:tre pop<up accessible en cliquant sur le bouton 5 e!pression 6. #es r&gles peuvent :tre labores en slectionnant les champs a partir de cette fen:tre " ou en les crivant directement dans la +one de filtre. 9n ensemble de filtres pr<dfinis est accessible en cliquant sur le bouton 5 filter 6. Cette liste de filtres peut :tre complte d'entres enregistres.. 9ne fois le filtre dfini" il ne faut pas oublier de l'appliquer avec le bouton 5 %pply 6. Quelques filtres Nous terminerons ce tutoriel en nonHant quelques filtres possibles , Dsignation Filtre associ : 8egments >C$ uniquement.................................. tcp $aquets relatifs >C$ uniquement......................ip.proto ?? E!EB %dresse ip *A-.*BD.E.* ou *A-.*BD.*.2................ip.addr ?? *A-.*BD.E.* II ip.addr ?? *A-.*BD.*.2 >rafic J>>$ uniquement.....................................http 8egment >C$ sauf sur port DE.............................tcp KK L(tcp.port ?? DE %dresse @thernet EE,)),*-,./,%@,)).................eth.addr ?? EE,)),*-,./,%@,)) >rafic *A-.*BD.E.* vers *AC.*BD.*E.2................. ip.src ?? *A-.*BD.E.* KK ip.dst ?? *AC.*BD.*E.2 >rafic 9($ entre ports /E et BC...........................udp KK udp.port M? /E KK udp.port N?BC >rafic O8N.......................................................... tcp KK tcp.port ??*DB. 0enoit (arties 212 benoit.darties3gmail.com