Wireshark

Publié par

Wireshark est un outil d’analyse de paquets réseau open-source. Il s’agit d’un sniffer et permet d’inspecter les captures de paquets (fichiers PCAP). Cela nous permettra de détecter et de résoudre des problèmes sur le réseau (défaillance, congestion…). Wireshark nous permet également de détecter des anomalies comme des hôtes non désirés, un usage de port suspect ou du trafic suspect. Nous pourrons également y approfondir nos connaissances sur les protocoles.

Wireshark n’est pas un IDS. One ne modifie pas les paquets: on les lit, c’est tout.

Nous devons sélectionner l’interface qui va sniffer le réseau.

Lancement d’un fichier PCAP

Soit on ouvre directement le fichier PCAP, soit on par par le menu File de Wireshark pour l’ouvrir.

On y trouve le résumé de chaque paquet (adresses source et destination, protocole et informations sur le paquet). Plus d’informations apparaitront en-dessous si on sélectionne un paquet. Nous y trouverons une représentation des couches réseau. En bas à droite, on trouve une représentation hexadécimale et une autre en ASCII décodée.

Tout en bas, nous retrouvons le nom du fichier, le nombre total de paquets et le nombre total de paquets affichés.

Dans le menu View, cliquons sur Coloring Rules. Il est possible de créer des règles de couleur selon tel ou tel type de paquet. Par défaut, les couleurs sont les suivantes:

Pour capturer des paquets, il suffit de cliquer sur l’aileron de requin en haut à gauche. Pour arrêter la capture, c’est le carré rouge. Pour relancer la capture, il faut cliquer sur l’aileron vert.

Notons aussi qu’il est possible de fusionner 2 fichiers PCAP (File -> Merge).

Enfin, nous pouvons voir les détails d’un paquet (Statistics -> Capture File Properties). Nous y avons également accès par une icône en bas à gauche.

Si on clique sur un paquet en particulier, nous verrons en-dessous à gauche le détail, notamment 5 des 7 couches du modèle OSI. En bas à droite, les octets.

Si on clique sur une ligne, nous verrons quels sont les octets correspondants.

Regardons maintenant le détail des couches.

Couche 1 (Physique):

Couche 2 (Liaison de données):

Couche 3 (Réseau):

Couche 4 (Transport):

Couche 5 (Application):

Nous trouverons donc essentiellement adresses MAC source et destination, adresses IP source et destination, protocole, port, flags.


Chaque paquet a un numéro qui lui est attribué. Il est donc plus facile de chercher un paquet. Il suffit d’aller dans le menu « Go ».


Aussi, il est bien souvent pratique de chercher un mot-clé dans le contenu du paquet. Pour cela, on ira dans « Edit » -> « Find Packet ».

Dans le menu ci-dessus, on peut voir également que l’on peut marquer certains paquets pour les repérer plus facilement. Nous pouvons également les commenter.


Autre fonctionnalité très souvent utilisée dans Wireshark: l’export. Il est possible d’exporter les paquets pour les analyser autre part. On peut sélectionner tous les paquets ou certains paquets spécifiques. Pour cela, on ira dans le menu « File » -> « Export Specified Packets ».

Nous pouvons également exporter des objets en rapport avec les protocoles DICOM, HTTP, IMF, SMB et TFTP. C’est ainsi que l’on peut récupérer des fichiers txt, exe ou encore des images. Pour cela, nous irons dans le menu « File » -> « Export Objects ».


Autre détail concernant la colonne « Time ». Par défaut, Wireshark affiche l’heure en secondes depuis le début de la capture. On mettra plutôt l’heure UTC.


Enfin, nous allons voir l’élément peut-être le plus important de Wireshark: le filtrage des paquets. Nous pourrons chercher ainsi un paquet en fonction du protocole, de l’adresse IP source ou destination. Il suffit de taper le filtre dans la barre associée. Une autre façon est de sélectionner un paquet et de l’utiliser en tant que filtre (clic droit sur l’élément à filtrer).

Ici, nous avons sélectionné tous les paquets dont l’adresse IP source est 145.254.160.237.

Nous pouvons également sélectionner ces paquets ainsi que tous les paquets en lien direct avec celui-ci, mais en se basant cette fois sur l’adresse IP et le numéro de port. On sélectionnera « Conversation Filter ».

Il est également de mettre cette conversation en couleur (« Colorize Conversation »).


Nous avons vu que nous pouvions utiliser l’option « Apply as Filter ». Il existe aussi l’option « Prepare as Filter ». Le filtre ne s’applique pas de suite mais on voit bien le filtre s’ajouter dans la barre en haut. Ainsi nous pourrons l’utiliser un peu plus tard.


Nous pouvons également ajouter ou supprimer des colonnes. Si nous regardons dans les détails en bas à gauche, nous pouvons sélectionner un élément et l’ajouter en tant que colonne.


Un dernier élément très souvent utilisé dans Wireshark est l’option « Follow stream ». Cela permet de recréer les donnés au niveau applicatif. C’est ici que nous pourrons potentiellement voir des données non-chiffrées.

Les paquets provenant du serveur sont en bleu. Les paquets provenant du client sont en rouge.

Une fois le stream créé, Wireshark ajoute le filtre automatiquement dans la barre de filtres en haut.


Documentation: