Ceci est une ancienne révision du document !
Un analyseur de trame est un outil de base de l'informaticien car il permet de comprendre ce qu'il se passe à un niveau très bas. Il permet aussi aussi de mettre en évidence de nombreux concepts théoriques du cours.
Wireshark (anciennement Ethereal) est un est un logiciel libre d'analyse de protocole, ou packet sniffer, utilisé dans le dépannage et l'analyse du fonctionnement des réseaux informatiques. Il est utilise pour diagnostiquer des dysfonctionnement dans un réseau informatique.
Un analyseur de protocoles (ou analyseur de réseaux ou de paquets) est un logiciel permettant d’intercepter et de consigner le trafic des données transférées sur un réseau de données. L’analyseur capture chaque PDU (protocol data unit - unité de données de protocole) des flux de données circulant sur le réseau.
Il permet de décoder et d’analyser leur contenu conformément aux spécifications RFC ou autres appropriées.
Wireshark est programmé pour reconnaître la structure de différents protocoles réseau.
Avant d'installer un nouveau logiciel, mettrez à jour votre environnement Ubuntu.
$ sudo apt update $ sudo apt upgrade
$ sudo apt install wireshark
Durant l'installation il vous est demandé d'autoriser l'installation de Dumcap. Utilisez la touche TAB pour sélectionner le bouton OK et validez avec la touche entrée :
Une fois installé, le logiciel se présente ainsi :
Vous pouvez démarrer une capture en cliquant tout simplement sur l'interface réseau qui vous intéresse. Vous ne verrez donc que le trafic réseau vu par cette carte réseau.
Wireshark permet de donner des informations très détaillées. Examinez l'écran principal du logiciel :
On observe en trois parties :
Examinez en détail le volet 2. Vous pouvez cliquer sur les croix pour développer les contenus. Ce volet met en évidence le phénomène d'encapsulation :
Le premier élément concerne la trame proprement dite (taille, temps, etc.) :
Ensuite, en montant d'un cran est présentée la partie liée à Ethernet. On retrouve les adresses physiques de destination et de source, également le type trame de niveau supérieur (ici IP 0x0800) :
A la couche supérieure, c'est la partie IP :
On retrouve les adresses IP source et destination du paquet. De plus, certaines données correspondent à des bits d'un octet particulier (differentiated services field). Des données techniques comme la longueur du paquet, le numéro de séquence, le temps à vivre (TTL ou Time To Live), l'identité du protocole supérieur (UDP) sont nécessaires au fonctionnement de cette couche.
En montant encore d'un niveau on observe la partie transport. Ici il s'agit de UDP qui est un protocole simple sans gestion des erreurs, son contenu est beaucoup plus simple que TCP :
Comme à chaque fois, une information concernant le protocole de niveau supérieur (ici ssdp pour Simple Service Discovery Protocol) est intégré. Nous retrouvons également la notion de port source et de destination mais aussi de checksum qui permet le contrôle d'erreur.
Et enfin, on aborde la partie application. vous remarquerez que Wireshark sait mettre en relation les données structurées et les données brutes. Ainsi, sur n'importe quelle couche du paquet, si vous sélectionnez un élément, celui-ci est mis en évidence dans le dernier volet :
Pour information, le paquet présenté ici correspond au protocole de découverte UPnP basé sur le protocole SSDP (Simple Service Discovery Protocol). Il s'agit d'un lecteur Philips MCI730 qui diffuse sur le réseau (adresse multicast 239.255.255.250) pour prévenir de ses services (diffuser de la musique).