Comment Installer & Utiliser Wireshark Sur Raspberry Pi ?


Wireshark est un outil gratuit et open-source pour capturer et analyser le trafic réseau. En gros, il intercepte les paquets réseau et affiche leur contenu dans une interface, afin que vous puissiez les analyser. Wireshark est disponible sur Raspberry Pi. Je vous montrerai comment l’installer sur votre appareil, et je partagerai avec vous des fonctionnalités intéressantes à utiliser.

Wireshark peut être installé sur Raspberry Pi à partir du dépôt par défaut. Il est disponible dans l’outil Ajout/Suppression de logiciels, ou via la ligne de commande, en utilisant APT : « sudo apt install wireshark ».

Mais une fois installé, les premières étapes peuvent être un peu déroutantes si vous ne l’avez jamais utilisé auparavant. Continuez donc à lire ce guide pour connaître la procédure d’installation complète et une introduction à certaines des fonctionnalités les plus puissantes.

À propos, si vous êtes novice sur Raspberry Pi et que vous souhaitez accélérer vos premiers pas (tout en vous amusant), n’hésitez pas à télécharger mon e-book « Maitrisez Raspberry Pi en 30 jours« . Il s’agit d’un défi de 30 jours au cours duquel vous apprendrez une nouvelle compétence chaque jour. Vous économiserez du temps et de l’argent et pourrez enfin apprécier cet appareil passionnant qu’est le Raspberry Pi. Je vous offre d’ailleurs 10% de remise aujourd’hui en utilisant ce lien !

Comment Installer Wireshark Sur Raspberry Pi ?

Voici les étapes nécessaires pour installer Wireshark sur Raspberry Pi OS avec Desktop :

  • Ouvrez le menu principal.
  • Allez dans Préférences > Add / Remove Software.
  • Ouvrez le menu « Options », et cliquez sur « Refresh package lists ».
  • Ensuite, tapez « wireshark » dans le moteur de recherche et appuyez sur Entrée.
  • Trouvez le paquet principal pour Wireshark dans les résultats et cochez la case correspondante :
  • Cliquez sur « Apply » et entrez votre mot de passe pour l’installer sur votre système.

Quelques secondes plus tard, Wireshark sera disponible dans le menu principal, sous la catégorie « Internet ».

Si vous préférez utiliser la ligne de commande pour installer de nouvelles applications, vous pouvez faire la même chose en ouvrant le terminal et en tapant ces commandes :
sudo apt update
sudo apt install wireshark

Si les commandes Linux ce n’est pas trop votre truc, n’hésitez pas à jeter un œil à cet article qui vous explique les commandes qu’il faut absolument connaître. Je vous donne aussi une antisèche à télécharger pour les avoir toujours sous la main !

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.

Téléchargez mon glossaire !
Un peu perdu avec toutes ces abbréviations et nouveaux mots ? Téléchargez le glossaire complet au format PDF :-)

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 DNS, passerelle, 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.

Téléchargez mon glossaire !
Un peu perdu avec toutes ces abbréviations et nouveaux mots ? Téléchargez le glossaire complet au format PDF :-)

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 :

FiltreDescription
ip.src!=192.168.222.25L’adresse IP source n’est pas 192.168.222.25
vnc OR httpAfficher uniquement les protocoles VNC ou HTTP
ip.src==192.168.222.8 AND ip.dst==192.168.222.1Filtrer 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.

Ensuite, comme pour l’analyse des paquets, vous pouvez facilement trouver de l’aide en ligne pour les filtres plus complexes.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.

Alternatives à Wireshark en Ligne de Commande

Si vous ne disposez pas d’une interface de bureau sur votre Raspberry Pi, ou si vous souhaitez effectuer des analyses réseau dans un terminal ou via SSH, c’est possible. Vous devez simplement utiliser d’autres outils, car Wireshark ne propose aucune version en ligne de commande.

Voici deux alternatives que vous pouvez essayer dans ce cas.

Tcpdump

Tcpdump est un outil en ligne de commande que vous pouvez utiliser pour capturer le trafic réseau.
Vous pouvez l’installer avec APT, il est disponible dans le dépôt par défaut sur Raspberry Pi OS et la plupart des distributions :
sudo apt install tcpdump

L’utilisation de la commande principale affichera simplement tous les paquets sur votre écran :
sudo tcpdump

Ce n’est pas super utile tel quel.
Mais, vous pouvez ajouter plusieurs options à votre commande, pour montrer uniquement ce que vous voulez et stocker le résultat dans un fichier de capture, par exemple :
sudo tcpdump -i eth0 -w tcpdump.cap

Vous n’enregistrerez alors que le trafic sur la carte réseau Ethernet et sauvegarderez les résultats dans un fichier (tcpdump.cap). Utilisez CTRL+C pour arrêter la capture.
Ce qui est génial, c’est que vous pouvez ensuite ouvrir ce fichier avec Wireshark (File > Open), et utiliser toutes les fonctionnalités que nous avons vues précédemment.

J’ai généralement Wireshark sur mon ordinateur, je fais des captures sur mes serveurs avec tcpdump, puis j’ouvre le fichier sur l’ordinateur pour l’analyser.
Pour voir toutes les options de tcpdump, utilisez soit :
sudo tcpdump --help
ou
man tcpdump

Tshark

Tshark est une alternative à Wireshark, à utiliser directement dans le terminal. Il a été créé par les mêmes développeurs que Wireshark, vous trouverez donc de nombreuses similitudes.

Il est également disponible dans le dépôt par défaut de la plupart des distributions, vous pouvez donc l’installer avec :
sudo apt install tshark

Ensuite, utilisez une commande similaire pour créer une capture. Vous devez d’abord créer le fichier de destination et ajouter quelques permissions (je ne sais pas exactement pourquoi vous en avez besoin avec sudo, mais ça ne fonctionne pas sans).
touch tshark.cap
chmod o+w tshark.cap
sudo tshark -i eth0 -w tshark.cap

Comme avec tcpdump, vous pouvez appuyer sur CTRL+C pour arrêter la capture et importer le fichier dans Wireshark pour l’analyser. Mais tshark a aussi une tonne d’options que vous pouvez utiliser, pour faire les mêmes choses que dans Wireshark avec la ligne de commande (par exemple, -f vous permet d’utiliser des filtres de capture, et -Y d’utiliser des filtres d’affichage).

J’espère que cet article vous a été utile, n’hésitez pas à ajouter toute information ou à poser toute question dans les commentaires ci-dessous, j’aimerais avoir votre avis sur le sujet.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.

Ressources supplémentaires pour votre Raspberry Pi

Initiation au Raspberry Pi en vidéo
Si vous débutez et voulez passer rapidement à la vitesse supérieure, j’ai exactement ce qu’il vous faut.
Regardez ma formation vidéo qui vous aidera à démarrer du bon bien, choisir votre matériel, installer les meilleures applications et vous lancer directement dans vos premiers projets avec mon aide.
Regarder les vidéos dès maintenant

Maîtrisez votre Raspberry Pi en 30 jours
Vous avez besoin de plus ? Si vous êtes à la recherche des meilleures astuces pour devenir expert sur Raspberry Pi, ce livre est fait pour vous. Développez vos compétences sous Linux et pratiquez via de nombreux projets en suivant mes guides étape par étape. 10% de remise aujourd’hui !
Télécharger le livre au format PDF ici

Maîtrisez Python sur Raspberry Pi
Pas besoin d’être un génie pour coder quelques lignes pour votre Raspberry Pi.
Je vous apprends juste ce qu’il faut sur Python afin de réaliser n’importe quel projet. La seconde partie du livre est d’ailleurs consacrée à des exemples de projets ou je vous guide pas à pas.
Ne perdez pas de temps, apprenez le strict nécessaire et économisez 10% avec ce lien :
Télécharger maintenant

Autres ressources pour profiter de votre Raspberry Pi
J’ai regroupé toutes mes recommandations de logiciels, sites utiles et de matériel sur cette page de ressources. Je vous invite à la consulter régulièrement pour faire les bons choix et rester à jour.
Visiter les pages ressources


Ce tutoriel ne marche plus à 100%? Prévenez-moi pour que je le mette à jour!

Patrick Fromaget

Je suis l'auteur principal et le créateur de RaspberryTips. Mon but est de vous aider sur tous vos problèmes qui concernent Raspberry Pi en publiant des guides détaillés et des tutoriels rapides. Dans la vraie vie, je suis administrateur système (Linux principalement) avec une solide expérience dans le développement web.

Recent Posts