Aller au contenu principal

Analyse réseau avec Wireshark

Observer et comprendre les échanges de données sur un réseau

Notions théoriques

Wireshark est un outil d'analyse de trafic réseau permettant de :

  • capturer,
  • visualiser
  • et analyser les paquets échangés entre des machines.

Wireshark est utilisé pour :

  • diagnostiquer des problèmes réseau,
  • détecter des attaques
  • et comprendre le fonctionnement des protocoles de communication.

Fonctionnement de Wireshark

  1. Capture de trafic : Wireshark intercepte les paquets circulant sur une interface réseau.
  2. Filtrage des données : Il est possible d'afficher uniquement les paquets correspondant à un protocole ou une adresse IP spécifique.
  3. Analyse détaillée : Chaque paquet contient des informations sur sa source, sa destination, son protocole et son contenu.
  4. Reconstruction des échanges : Wireshark permet de visualiser les conversations entre machines sous forme de flux.

Types de protocoles analysés

  • Ethernet : Niveau 2 du modèle OSI, utilisé pour transporter les paquets sur un réseau local.
  • IP (Internet Protocol) : Permet l'acheminement des paquets entre machines sur Internet.
  • TCP et UDP : Protocoles de transport assurant la communication entre applications.
  • HTTP, HTTPS, DNS : Protocoles applicatifs utilisés pour la navigation Web et la résolution de noms de domaine.

Utilisation de Wireshark en cybersécurité

Wireshark permet de détecter des activités suspectes sur un réseau :

  • Présence d'un scan de ports : Un attaquant peut tester quels services sont ouverts sur une machine.
  • Tentative d'intrusion : Analyse des paquets pour identifier des attaques comme l'injection SQL ou le brute-force.
  • Fuite de données : Vérification des paquets envoyés pour détecter des informations sensibles transmises en clair.

Limites et précautions d'utilisation

Avantages :

  • Permet une analyse en temps réel du réseau.
  • Compatible avec de nombreux protocoles.
  • Utile pour le diagnostic et la cybersécurité.

Limites :

  • Génère un grand volume de données, rendant l'analyse complexe.
  • Ne peut pas capturer les paquets chiffrés (HTTPS, VPN).
  • L'utilisation sur un réseau sans autorisation peut être illégale.

Exemple pratique

Capture et analyse d'un échange HTTP avec Wireshark

Il est possible d'utiliser Wireshark pour observer les requêtes et réponses HTTP échangées entre un navigateur et un serveur Web.

1) Installation de wireshark

Sur une distribution Linux basée sur Debian :

sudo apt update && sudo apt install wireshark -y

Sur Windows, télécharger et installer Wireshark depuis le site officiel.

2) Lancement de la capture de trafic

  1. Ouvrir Wireshark.
  2. Sélectionner l'interface réseau active (Wi-Fi ou Ethernet).
  3. Cliquer sur Start pour commencer la capture.

3) Filtrage des paquets HTTP

Dans la barre de filtres, entrer :

http

Cela affiche uniquement les paquets HTTP, en excluant les autres types de trafic.

4) Observation d'une requête et d'une réponse HTTP

  1. Ouvrir un navigateur et visiter un site en HTTP (non HTTPS).
  2. Dans Wireshark, repérer une requête GET et une réponse 200 OK.
  3. Analyser les en-têtes HTTP pour voir les informations échangées.

5) Arrêt de la capture et sauvegarde

  1. Cliquer sur Stop pour arrêter la capture.
  2. Sauvegarder le fichier pour une analyse ultérieure.

Test de mémorisation/compréhension


Quel est le rôle principal de Wireshark ?


Quel protocole permet d'acheminer les paquets entre machines sur Internet ?


Quel filtre Wireshark permet d'afficher uniquement les paquets HTTP ?


Pourquoi Wireshark ne peut-il pas voir le contenu des paquets HTTPS ?


Quelle action peut être détectée avec Wireshark ?


Quel type de paquet est utilisé pour établir une connexion TCP ?


Pourquoi faut-il utiliser Wireshark avec précaution ?


Quel protocole est utilisé pour la résolution de noms de domaine ?


Quelle commande permet d'installer Wireshark sous Linux ?


Quelle action doit être effectuée avant de filtrer les paquets ?


TP pour réfléchir et résoudre des problèmes

L'objectif de ce TP est d'utiliser Wireshark pour analyser le trafic réseau généré par une requête DNS et une connexion HTTPS.

1) Installation et lancement de Wireshark

Si Wireshark n'est pas encore installé, il est nécessaire de l'installer avant de commencer.

Sous linux (distribution debian)

sudo apt update && sudo apt install wireshark -y

Sous windows

Télécharger et installer Wireshark depuis le site officiel :
https://www.wireshark.org/download.html

Une fois l'installation terminée, ouvrir Wireshark.

Une solution

2) Capture du trafic réseau

  1. Ouvrir Wireshark.
  2. Sélectionner l'interface réseau active (Wi-Fi ou Ethernet).
  3. Cliquer sur Start pour commencer la capture.
Une solution

3) Analyse d'une requête DNS

  1. Ouvrir un terminal ou l'invite de commande.
  2. Effectuer une requête DNS en tapant :

sous linux/mac

nslookup example.com

sous windows

nslookup example.com
  1. Dans Wireshark, entrer le filtre suivant :
dns
  1. Identifier la requête DNS envoyée et la réponse reçue.
Une solution

4) Capture et analyse d'une connexion HTTPS

  1. Ouvrir un navigateur Web.
  2. Accéder à un site sécurisé en HTTPS, par exemple :
    https://www.wikipedia.org
  3. Dans Wireshark, entrer le filtre suivant :
tls
  1. Identifier le processus de connexion TLS, notamment :
    • Le Client Hello
    • Le Server Hello
    • L'établissement de la session sécurisée
Une solution

5) Comparaison entre HTTP et HTTPS

  1. Ouvrir un site en HTTP :
    http://neverssl.com
  2. Dans Wireshark, entrer le filtre :
http
  1. Observer une requête GET et une réponse 200 OK.
  2. Comparer avec la capture HTTPS et noter les différences.
Une solution

6) Sauvegarde et export des résultats

  1. Arrêter la capture en cliquant sur Stop.
  2. Sauvegarder la capture au format .pcapng pour une analyse ultérieure.
  3. Exporter une requête DNS en fichier texte :
    • Sélectionner un paquet DNS.
    • Aller dans File > Export Packet Dissections > As Plain Text.
    • Enregistrer le fichier.
Une solution