Objectif : Découvrir et analyser les paquets réseau circulant sur une machine, comprendre les bases du trafic réseau.
Durée estimée : 1h
Prérequis :
Wireshark est un logiciel gratuit et open-source qui permet d’observer ce qui circule sur un réseau informatique, un peu comme un scanner radio permettrait d’écouter les échanges entre des talkies-walkies.
Quand deux appareils (comme un ordinateur et un site web) communiquent entre eux, ils échangent des paquets de données. Ces paquets sont comme des lettres envoyées à la poste : ils ont un destinataire, un expéditeur, et contiennent un message. Wireshark permet de capturer ces paquets en temps réel et de les analyser en détail.
Il est utilisé par :
L’interface de Wireshark affiche ces paquets ligne par ligne, un peu comme une boîte de réception d’e-mails, et permet de lire leur contenu technique, comme :
Wireshark est comme une loupe posée sur le réseau. Il ne modifie rien, il observe. C’est un outil très puissant pour comprendre ce qui se passe "sous le capot" quand on utilise Internet ou un réseau local.
Réflexe à toujours avoir ! Faîtes ça régulièrement, il est important de garder vos appareils jour (c'est dans la charte MiNET btw )
sudo apt update && sudo apt upgrade
sudo apt install wireshark
Pendant l’installation, il peut vous poser la question suivante :
Should non-superusers be able to capture packets?
Répondez Yes si vous souhaitez que des utilisateurs non-root (comme vous) puissent lancer des captures (sinon, il faudra lancer Wireshark en sudo).
sudo usermod -aG wireshark $USER
Cette commande permet à votre utilisateur de capturer les paquets sans droits root.
Soit vous redémarrez votre machine, soit vous vous déconnectez / reconnectez, soit vous utilisez :
newgrp wireshark
Il ne vous reste plus qu'à lancer Wireshark, soit par interface graphique, soit en tapant dans le terminal :
wireshark
Si vous n'avez pas fait la manipulation pour autoriser les utilisateurs non root à capturer des paquets, mettez un sudo devant
Une fois Wireshark lancé, vous devriez avoir une interface de ce style :
Sélectionnez l’interface réseau utilisée, par exemple eth0 ou wlan0 (dans mon cas, c'est wlo1 et j'ai pas d'interface ethernet. Ça va dépendre des ordinateurs). Démarrez ensuite la capture de paquets (l'aileron de requin en haut à gauche).
Bon en vrai, il se passe pas grand chose d'intéressant ici. On va voir des cas spécifiques.
Ouvrez un terminal et exécutez la commande suivante :
ping 8.8.8.8
Lancez une capture wireshark, laissez tourner quelques secondes, puis arrêtez la capture.
Maintenant, on va analyser. La première question à se poser, c'est : "C'est quel protocole un ping ?" Vous avez 3s pour répondre
1...
2...
3...
ICMP !
Bon bah maintenant faut filtrer tous le bazar d'une capture Wireshark pour garder que les paquets qui nous intéressent. Juste en dessous du bouton de capture, vous avez une barre de recherche. Elle vous permet de définir des filtres. Tapez icmp dedans (minuscule attention). Magie, vous ne voyez plus que vos paquets de ping !
Bon, qu'est ce que vous pouvez dire dessus ? Je vous écoute.
...
...
...
Effectivement, il y a plein de choses à dire !
Echo (ping) request
et Echo (ping) reply
. La request vient toujours de vous et la reply de 8.8.8.8 !Si vous n'avez jamais vu ce qu'est un ping auparavant, vous pouvez donc déduire de cette capture son fonctionnement ! Le ping sert donc à envoyer des paquets de petite taille vers une destination et vérifier que l'on reçoit bien une réponse de cette dernière. Cela vous permet de savoir si cette source est joignable.
Vous avez donc vu comment installer wireshark, comment effectuer des captures et comment les analyser depuis la fenêtre principale. Bravo pour votre premier pas dans l'analyse des paquets réseaux ! On se retrouve donc au TP suivant pour découvrir comment analyser le contenu d'une ligne dans Wireshark :