Introduction à Wireshark
Sommaire
- 1- Objectifs
- 2- Qu'est-ce que Wireshark?
- 3- Installation à partir de RPM sous Red Hat et similaire
- 4- Que peut faire Wireshark?
- 5- Présentation de l'interface graphique de Wireshark
- 6- Analyse d'un paquet
- 6.1- Encapsulation d'un paquet
- 6.2- Détail de chaque niveau d'encapsulation
- 6.2.1- Sommaire du cours Administration et sécurité des sites web
Introduction à Wireshark
-
Objectifs
- Etre capable d’analyser les trames avec wireshark
-
Qu’est-ce que Wireshark?
- Wireshark est un analyseur de paquets réseau. Un analyseur de paquets réseau présente les données de paquets capturées avec autant de détails que possible.
- Vous pourriez penser à un analyseur de paquets réseau comme un appareil de mesure pour examiner ce qui se passe à l’intérieur d’un câble réseau, tout comme un électricien utilise un voltmètre pour examiner ce qui se passe à l’intérieur d’un câble électrique (mais à un niveau supérieur, bien sûr).
- Dans le passé, ces outils étaient soit très coûteux, exclusifs, soit les deux. Cependant, avec l’avènement de Wireshark, cela a changé. Wireshark est disponible gratuitement, est open source et est l’un des meilleurs analyseurs de paquets disponibles aujourd’hui.
- Conçu en 1997-1998 par Gerald Combs sous le nom historique de “Ethereal”, il est repris en 2006 sous le nom moderne de “Wireshark”. En 2008, Wireshark sort en version 1.0 et en 2015 en version 2.0 avec une nouvelle interface graphique.
-
Installation à partir de RPM sous Red Hat et similaire
- La création de RPM à partir du code source de Wireshark génère plusieurs paquets la plupart des distributions suivent le même système) :
- Le paquet wireshark contient les bibliothèques Wireshark principales et les outils de ligne de commande.
- Le paquet wireshark-qt contient l’interface graphique basée sur Qt.
- Le paquet wireshark-gtk (anciennement wireshark-gnome) contient l’interface graphique basée sur Gtk +.
- De nombreuses distributions utilisent yum ou un outil de gestion de package similaire pour faciliter l’installation de logiciels (y compris ses dépendances). Si votre distribution utilise yum, utilisez la commande suivante pour installer Wireshark avec l’interface graphique Qt :
-
Que peut faire Wireshark?
- Passons rapidement en revue quelques fonctionnalités principales fournies par Wireshark:
- Analyse de réseau:
- Qui communique avec qui
- Quel hôte utilise quel logiciel
- Qui envoie les demandes de connexion
- Utilisation de la bande passante d’analyse
- Identifier le bruit de fond
- Dépannage:
- Identifier les problèmes TCP
- Rechercher des dysfonctionnements dans le réseau
- Rechercher des adresses IP en double
- Analyse du logiciel:
- Quel protocole est utilisé par quel logiciel
- Mesurer l’utilisation de la bande passante de certains logiciels
- Analyse de sécurité:
- Ports d’analyse
- Analyser les communications suspectes
- Analyser la télémétrie
-
Présentation de l’interface graphique de Wireshark
- D’accord, puisque tout est opérationnel maintenant, il est temps de se faire une idée de l’interface graphique. L’interface graphique sous Windows et Linux est essentiellement la même, donc cela s’applique aux deux versions.
- Vous pouvez voir les points les plus importants indiqués par des nombres, parcourons-les rapidement:
- Démarre la capture des paquets
- Arrête de capturer les paquets
- Permet d’appliquer un filtre d’affichage après la capture des paquets, pour n’afficher que les paquets avec le port 53 par exemple
- Vous permet d’appliquer un filtre de capture qui filtre directement le trafic indésirable pendant que vous capturez
- Un graphique de bande passante indiquant le volume de bande passante sur l’interface réseau
- Toutes les interfaces disponibles
-
Analyse d’un paquet
-
Encapsulation d’un paquet
- Lorsqu’un paquet est sélectionné, la zone centrale permet de visualiser clairement les différentes couches d’encapsulation du paquet.
- Par exemple si l’on sélectionne un paquet de type UDP , la zone centrale pourrait afficher quelque chose de similaire à ce qui est présenté suivante.
- Les 5 entrées présentées correspondent à différentes encapsulations, ordonnées de la couche la plus basse à la couche la plus haute :
- Données sur le média de capture : Wire = filaire sur la figure ci-dessus
- Trame relative à la couche liaison de donnée : Ethernet II sur la figure ci-dessus
- Datagramme relatif à la couche transport : User Datagram Protocol sur la figure ci-dessus
- Données de l’application : regroupe généralement les couches session, présentation, application.
-
Détail de chaque niveau d’encapsulation
- Pour tout item correspondant à un niveau d’encapsulation, un clic sur le triangle en début de ligne permet de dérouler l’en-tête afin de voir l’ensemble des champs le composant. Certains champs peuvent également être déroulés.
- Sur l’exemple présenté en figure suivant, nous avons étendu les entrées correspondant aux couches réseau, transport et application en cliquant sur les triangles correspondants. Nous pouvons voir entre autre que :
- Le paquet est de type IP v4 : référence (2) sur la figure ci-dessous.
- Le type de données de ce paquet IP est un datagramme UDP : référence (5) sur la figure ci-dessous.
- L’IP de la machine source est 192.168.1.33 : référence (6) sur la figure ci-dessous.
- L’ip de la machine destination est 239.255.255.250 : référence (7) sur la figure ci-dessus.
- Nous pouvons également faire un point sur la taille des données et des en-têtes à différents niveaux d’encapsulation :
- La taille des données envoyée par le processus est de 23 octets : référence (9) sur la figure ci-dessus.
- La taille totale du datagramme UDP est de 133 octets
- La taille des en-têtes du paquet IP est de 20 octets : référence (3) sur la figure ci-dessus.
- Le paquet IP contient un en-tête (20 octets) ainsi que le datagramme UDP (31 octets). Sa taille totale est de 51 octets, taille rappelée en référence (4) sur la figure ci-dessus.
- La taille totale du paquet IP est de (flèche ). Cette valeur somme la taille du paquet UDP à la taille de l’en-tête IP.
- Si l’on ajoute 12 octets d’en-tête pour la couche Ethernet II (taille fixe), la taille totale de la trame est de 65 octets, comme présentée en référence (1) sur la figure ci-dessus.
- Notons ainsi que pour transférer 23 octets de données brutes, il nous a fallu transférer au total 65 octets (en fait il nous a même fallu transférer des octets supplémentaires avant la trame Ethernet. Ces octets seront ici passés sous silence).
- https://www.ceos3c.com/hacking/wireshark-tutorial-series-1-introduction-and-lab-setup/
- https://www.bujarra.com/uso-de-ettercap/?lang=fr
- https://openmaniak.com/ettercap.php
- https://http://www.machaon.fr/isn/reseaux/Fiche-Wireshark.pdf
Sources: