Comment Utiliser Wireshark sur Raspberry Pi ?

L’installation de Wireshark est assez simple. Si vous n’avez jamais utilisé cet outil précédemment, le plus dur est de comprendre exactement ce qu’il fait et comment l’utiliser. Parcourons ensemble les fonctionnalités les plus importantes.

Premiers pas avec Wireshark

Lorsque vous lancez Wireshark pour la première fois, l’interface ressemble à ceci :

À vrai dire, vous ne pouvez pratiquement rien faire avec cet outil avant d’avoir une capture de réseau à analyser. Vous pouvez soit en commencer une nouvelle, soit en importer une à partir d’un fichier, mais il vous en faut une.

Le problème est que lorsque vous lancez Wireshark directement, il ne détecte aucune interface réseau (si vous regardez la liste déroulante « All interfaces shown », elle est vide). L’explication est simple, vous devez avoir des privilèges d’administrateur pour utiliser cette fonctionnalité.

Donc, la première chose à faire, est de démarrer Wireshark avec sudo.
Vous pouvez soit le lancer depuis un terminal, en utilisant :
sudo wireshark
Ou modifier le raccourci dans le menu principal pour utiliser sudo par défaut :

  • Dans le menu principal, allez à Préférences > Main Menu editor.
  • Trouvez l’élément Wireshark, dans la catégorie « Internet ».
  • Cliquez sur « Properties », et ajoutez « sudo » au début du champ de commande :
  • Une fois cela fait, cliquez sur « OK » pour enregistrer cette modification.
  • Redémarrez Wireshark à partir du menu principal. Vous devriez maintenant avoir accès à toutes les interfaces :


C’est tout, Wireshark est maintenant prêt à être utilisé. Voyons désormais comment faire une capture et à l’analyser.

Capture du trafic réseau

La principale fonctionnalité que vous utiliserez avec Wireshark est la capture. En bref, l’idée est d’écouter ce qui se passe sur l’une de vos interfaces réseau. Si votre Raspberry Pi n’est qu’un élément de votre réseau, il s’agira principalement de votre propre utilisation du réseau et de quelques échanges entre votre appareil et les autres.

Lorsque votre Raspberry Pi est un nœud important de ce réseau (serveur DNSpasserelle, etc.), il enregistrera tout ce qu’il se passe sur le réseau. Cela sera très utile pour la partie analyse que je présenterai plus tard (c’est également utilisé par les hackers et les pen-testers).

Quoi qu’il en soit, voici comment lancer une capture avec Wireshark :

  • Sélectionnez l’interface que vous voulez capturer dans la liste.
    En général, ce sera « eth0 » si votre Raspberry Pi est branché via Ethernet, ou « wlan0 » si vous utilisez une connexion Wi-Fi.
  • Cliquez sur la première icône dans la barre supérieure.

    Vous pouvez également double-cliquer sur le nom de l’interface sur la page d’accueil, utiliser le menu de capture, ou simplement utiliser le raccourci clavier CTRL+E.
  • Si tout fonctionne correctement, la fenêtre commencera à se remplir avec une table qui se rafraîchira constamment :

    Chaque ligne est un paquet détecté par Wireshark.
    Laissez-le fonctionner aussi longtemps que nécessaire. Il continuera à capturer le trafic réseau jusqu’à ce que vous appuyiez sur le bouton d’arrêt (le bouton rouge dans la barre supérieure).

Analyse des paquets

Après avoir effectué une capture du trafic réseau, vous pouvez ensuite analyser son contenu. L’écran est divisé en trois parties principales :

  • Packets list : la première partie. Où vous voyez tous les paquets capturés et utiliser les filtres d’affichage pour montrer uniquement ceux qui vous intéressent. Je reviendrai sur ce point plus tard.
  • Packet details : lorsque vous sélectionnez un paquet, vous pouvez voir son contenu, dans un format de texte plus ou moins lisible.
  • Packet bytes : le contenu exact du paquet, avec les octets et le format hexadécimal (moins utile pour nous ^^).

Dans la première partie, vous verrez les informations de base, comme la source, la destination et le protocole. Cela vous aidera à filtrer les paquets qui vous intéressent. Par exemple, si vous recherchez une activité HTTP suspecte en provenance de 192.168.222.8, vous pouvez ignorer tout ce qui n’est pas lié (comme VNC et les autres adresses IP). Je vous montrerai comment filtrer cette liste dans la section suivante.

L’analyse des paquets avec Wireshark pourrait faire l’objet d’un article dédié, voire d’un livre complet à lui seul. Je ne vais donc pas vous donner plus de détails ici, mais vous pouvez consulter la documentation officielle pour en savoir plus.

Filtres

Le problème principal, lorsque vous recherchez quelque chose de spécifique sur Wireshark, est de filtrer la liste des paquets (le premier tableau). Les appareils communiquent énormément sur nos réseaux, et il peut être déroutant de voir cette liste énorme lorsque l’on cherche quelque chose de précis.


C’est pourquoi Wireshark inclut un champ près du haut de l’écran, où vous pouvez entrer une formule pour montrer uniquement les paquets qui vous intéressent (ou les exclure).
Voici un premier exemple :
tcp.port == 80
C’est exactement ce que vous pensez, ce filtre affichera seulement les paquets utilisant le port 80 (trafic HTTP en général).

La lecture de ces filtres est assez intuitive, mais au lieu d’essayer des formules aléatoires, voici quelques-unes des plus utiles :

  • Filtrez l’adresse IP (pour analyser un seul appareil sur votre réseau) :
    ip.addr==192.168.222.8
  • Vous pouvez également filtrer les adresses IP source ou destination avec :
    ip.src==192.168.222.8
    ip.dst==192.168.222.25
  • Comme vu dans l’exemple précédent, vous pouvez filtrer les ports avec :
    tcp.port==80
    udp.port==5060

De nombreuses autres options de filtrage sont disponibles, mais ces quelques options devraient déjà être assez utiles pour filtrer votre liste.
Vous pouvez également utiliser différents opérateurs et l’instruction booléenne pour créer des filtres plus complexes.
Voici quelques exemples :

Filtre

Description

ip.src!=192.168.222.25

L’adresse IP source n’est pas 192.168.222.25

vnc OR http

Afficher uniquement les protocoles VNC ou HTTP

ip.src==192.168.222.8 AND ip.dst==192.168.222.1

Filtrer le trafic entre mon Raspberry Pi et la passerelle.

Lorsque vous commencez à taper des caractères dans le champ du filtre, celui-ci se remplit automatiquement avec les options disponibles et votre historique de filtres. Ainsi, même si cela semble compliqué lorsque vous partez de zéro, cela deviendra de plus en plus facile au fil du temps.

Créé avec HelpNDoc Personal Edition: Nouvelles et informations sur les outils de logiciels de création d'aide