Apprenez à utiliser Wireshark pour capturer et analyser le trafic réseau
Wireshark est l’analyseur de paquets le plus populaire et le plus utilisé au monde. Grâce à ce programme, nous pourrons capturer et analyser en détail tout le trafic réseau qui entre et sort de notre PC, de plus, nous devons nous rappeler qu’il est multiplateforme, cela signifie qu’il est disponible pour Windows, Linux, macOS, Solaris, systèmes d’exploitation FreeBSD, NetBSD et autres. Aujourd’hui, dans RedesZone, nous allons vous apprendre de manière basique comment effectuer une capture de trafic et comment analyser le trafic réseau pour voir s’il existe un type d’anomalie.
Caractéristiques principales de Wireshark
Ce programme, entièrement gratuit, nous permet d’effectuer une inspection approfondie de centaines de protocoles, car il prend en charge les protocoles de couche physique, les protocoles de liaison, les protocoles réseau, la couche de transport et également la couche d’application. Cela nous permettra d’effectuer une capture en temps réel, et lorsque nous aurons fini de capturer tous les paquets qui entrent et sortent de notre carte réseau filaire ou sans fil, nous pourrons effectuer une analyse approfondie hors ligne, c’est-à-dire sur un autre ordinateur (ou sur le même) et à tout moment.
Wireshark vous permet de voir tout le trafic capturé via l’interface graphique avec le programme lui-même, cependant, nous pouvons également voir toutes les informations capturées avec le programme TShark, un outil qui fonctionne via la console et nous permettra de tout lire via la ligne de commande CLI , pour tout voir via SSH, par exemple. Une caractéristique fondamentale de tout analyseur de paquets sont les filtres, de sorte qu’il ne nous montre que ce que nous voulons qu’il nous montre, et aucune information supplémentaire qui générerait un travail supplémentaire.
Wireshark est capable de lire et d’écrire dans différents formats de capture, tels que tcpdump (libpcap), pcap ng et de nombreuses autres extensions, pour s’adapter parfaitement à différents programmes pour une analyse ultérieure. Un autre aspect important est que la capture effectuée peut être compressée avec GZIP à la volée et, bien sûr, décompressée à la volée également au cas où nous lisions la capture. Bien sûr, il est capable de lire les données de différentes technologies de réseau telles que Ethernet, IEEE 802.11, PPP / HDLC, ATM, Bluetooth, USB, Token Ring, Frame Relay, FDDI et autres. Aujourd’hui, nous avons de nombreux protocoles avec des données cryptées, avec la clé privée appropriée, Wireshark est capable de décrypter le trafic de différents protocoles tels que IPsec, ISAKMP, Kerberos, SNMPv3, SSL/TLS, WEP et WPA/WPA2.
Une fois que nous avons vu les principales fonctionnalités, nous allons le télécharger et l’installer.
Télécharger et installer
Ce programme est entièrement gratuit, nous pouvons accéder directement au site officiel de Wireshark où vous pouvez trouver les liens pour le télécharger. L’installation de ce programme est très simple, il suffit de suivre pas à pas l’assistant d’installation, et de redémarrer l’ordinateur à la fin. Wireshark est un programme qui est constamment mis à jour, il est donc fortement recommandé d’avoir toujours la dernière version installée sur votre ordinateur pour profiter des dernières nouvelles.
Si vous avez un système d’exploitation basé sur Linux, il est très probable que dans votre gestionnaire de paquets vous ayez Wireshark, et vous n’aurez qu’à exécuter une commande comme celle-ci :
sudo apt install wireshark
Une fois que nous avons vu comment télécharger et installer Wireshark, nous allons l’utiliser pour effectuer une capture de données.
Effectuer une capture de trafic avec Wireshark dans Windows 10
Nous avons utilisé le système d’exploitation Windows 10 pour capturer le trafic, mais sur les systèmes Linux ou macOS, c’est exactement la même chose, car nous avons exactement la même interface utilisateur graphique. La première chose que nous verrons au démarrage de ce programme sont toutes les cartes réseau et interfaces réseau de notre ordinateur, dans notre cas nous avons un total de trois cartes réseau filaires (ASUS XG-C100C, Realtek 2.5G et Intel 1G), une carte Réseau Wi-Fi (WiFi 2), en outre, nous avons différentes interfaces réseau virtuelles qui correspondent aux interfaces de VMware et Virtual Box.
Wireshark nous permet de capturer le trafic de n’importe quelle carte réseau, qu’elle soit physique ou virtuelle, nous devons simplement savoir clairement quelle est notre carte réseau actuellement utilisée et à partir de laquelle nous voulons capturer le trafic réseau. Dans notre cas, il s’agit de l’ASUS XG-C100C, nous double-cliquons donc simplement sur cette carte.
En double-cliquant, il commencera automatiquement à capturer tout le trafic réseau, entrant et sortant. Voici quelques recommandations AVANT d’effectuer une capture de trafic :
- Fermez tous les programmes qui génèrent du trafic réseau, que nous ne voulons pas capturer
- Assurez-vous que le pare-feu est désactivé, car il pourrait bloquer certains trafics et il n’apparaîtra pas dans Wireshark, ou seule une partie du trafic généré apparaîtra.
- Si nous voulons capturer du trafic de données généré par une application, il est conseillé d’attendre 1 seconde avant de la démarrer et de capturer le trafic réseau de l’ordinateur, puis nous exécutons cette application, et enfin, nous fermons l’application et attendons 1 seconde avant arrêter de capter le trafic.
Avec ces recommandations, nous sommes sûrs que votre capture de trafic sera un succès.
Dans cette capture de trafic, vous pouvez voir le trafic provenant de différents protocoles, à la fois le trafic réseau Spanning-Tree Protocol, ainsi que le trafic TCP et le trafic TLSv1.2 provenant de différentes applications que nous avons ouvertes.
Avec chaque saisie de données, nous pourrons afficher et voir en détail l’ensemble du paquet de données, à la fois au niveau de l’application, du transport, au niveau du réseau, du lien et également au niveau physique, c’est-à-dire que Wireshark nous fournira les informations par couches, pour trouver plus facilement les informations dont nous avons besoin de savoir.
Bien sûr, il nous dira également quels sont les ports source et destination si nous utilisons TCP ou UDP, et nous pouvons même voir les numéros de séquence de manière avancée, et s’il y a eu un RST dans la connexion ou un segment a eu à transmettre en raison d’un problème.
Dans la capture d’écran suivante, vous pouvez voir le résultat de l’exécution de la commande «nslookup www.redeszone.net» via la console, faites la requête DNS à notre serveur DNS, et il répondra automatiquement avec la résolution DNS faite à partir du domaine précédent. Bien sûr, ce trafic est «mélangé» avec d’autres trafics que nous avons sur notre ordinateur à partir de différentes applications, pour cette raison, il est si important de fermer toutes les applications qui utilisent la connectivité Internet avant de commencer à capturer le trafic.
Ici, vous pouvez voir la réponse du serveur DNS à la requête DNS précédente :
Si nous faisons le ping typique, en utilisant le protocole ICMP, il nous montrera également parfaitement, il nous montrera à la fois la «demande d’écho» ainsi que la «réponse d’écho».
Comme vous l’avez vu, il est très facile de capturer des données avec Wireshark pour analyser tout le trafic réseau. Si l’on veut enregistrer cette capture, il suffit de cliquer sur le bouton rouge «Stop» pour arrêter la capture des données, puis de cliquer sur «Fichier / Enregistrer» pour l’enregistrer.
Nous pouvons enregistrer cette capture sur notre ordinateur ou sur un support externe pour une analyse ultérieure, ou l’envoyer à un expert capable de détecter le problème, même si vous devez garder à l’esprit qu’il aura accès à tout le trafic capturé, vous devez envoyer cette capture à quelqu’un en qui vous avez confiance. Si nous avons capturé du trafic avec TLS ou IPsec, vous aurez besoin de la clé de déchiffrement correspondante, de sorte que vous ne pourrez pas la «lire» sans cette information, il en va de même avec le trafic WPA / WPA2, sans la clé, vous n’aurez pas être capable de lire le trafic interne.
Il existe certains systèmes d’exploitation pour routeurs et pare-feu qui intègrent un capteur de paquets, ce capteur de paquets intégré nous permettra de capturer tout le trafic réseau à partir d’une ou plusieurs interfaces physiques ou logiques, et nous pouvons même définir que nous voulons uniquement capturer le trafic depuis ou vers une certaine IP / port, de cette manière, la capture que nous effectuons ne sera pas si étendue qu’elle occupe plusieurs Mo ou Go d’informations. Ces systèmes d’exploitation nous permettront toujours d’exporter la capture au format pcap, donc, plus tard, nous pourrons ouvrir cette capture avec Wireshark et l’examiner en détail. Par exemple, pfSense intègre une capture de paquets assez complète pour limiter la capture de données par interface, et nous aurons un bouton qui nous permettra de télécharger cette capture pour une analyse ultérieure. Grâce à l’utilisation de Wireshark, nous pourrons charger en externe cette capture nouvellement créée, et appliquer tous les filtres Wireshark pour ne voir que ce qui nous intéresse et pas toute la capture réalisée par pfSense. La même chose se produit avec certains firmwares de routeurs tels que AVM, qui dispose d’un analyseur de paquets interne pour détecter les mauvaises configurations ou les problèmes au niveau du réseau.
Nous espérons que ce tutoriel vous aidera à capturer le trafic de données avec ce super programme, et que vous pourrez détecter des problèmes dans le réseau, en plus, n’oubliez pas qu’il nous permet également d’ouvrir des captures de trafic pcap et dans d’autres formats, pour effectuer une analyse approfondie des captures effectuées en externe avec d’autres programmes ou applications.