Exporter des objets HTTP dans Tshark

WiresharkWiresharkBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez à utiliser l'outil en ligne de commande tshark de Wireshark pour analyser le trafic HTTP et extraire les objets transférés à partir de captures de paquets. Vous allez pratiquer des commandes clés telles que -r pour lire les fichiers de capture et --export-objects pour récupérer le contenu HTTP comme des images ou des documents.

Les exercices vous guideront dans l'exportation d'objets HTTP depuis un fichier préalablement capturé (http.pcap) vers un répertoire local, le filtrage de requêtes spécifiques et l'inspection des fichiers extraits. Ces techniques pratiques sont essentielles pour l'analyse du trafic réseau et les enquêtes judiciaires informatiques.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL wireshark(("Wireshark")) -.-> wireshark/WiresharkGroup(["Wireshark"]) wireshark/WiresharkGroup -.-> wireshark/display_filters("Display Filters") wireshark/WiresharkGroup -.-> wireshark/export_packets("Exporting Packets") wireshark/WiresharkGroup -.-> wireshark/packet_analysis("Packet Analysis") wireshark/WiresharkGroup -.-> wireshark/commandline_usage("Command Line Usage") subgraph Lab Skills wireshark/display_filters -.-> lab-548925{{"Exporter des objets HTTP dans Tshark"}} wireshark/export_packets -.-> lab-548925{{"Exporter des objets HTTP dans Tshark"}} wireshark/packet_analysis -.-> lab-548925{{"Exporter des objets HTTP dans Tshark"}} wireshark/commandline_usage -.-> lab-548925{{"Exporter des objets HTTP dans Tshark"}} end

Ouvrir une capture HTTP avec -r http.pcap

Dans cette étape, vous apprendrez à ouvrir et à examiner un fichier de trafic HTTP préalablement capturé en utilisant l'outil en ligne de commande tshark de Wireshark. Cela est particulièrement utile lorsque vous avez besoin d'analyser des données de trafic réseau enregistrées sans capturer des paquets en direct.

Avant de commencer, comprenons quelques bases :

  • Un fichier .pcap est un format courant pour stocker les données de paquets réseau.
  • tshark est la version en ligne de commande de Wireshark, permettant l'analyse de paquets sans interface graphique.
  • Le trafic HTTP montre généralement les requêtes et les réponses web entre les clients et les serveurs.

Tout d'abord, assurez-vous d'être dans le bon répertoire où se trouve notre fichier de capture d'exemple :

cd ~/project

L'option -r dans tshark est cruciale ici - elle signifie "read" (lire) et vous permet d'analyser les données de paquets à partir d'un fichier enregistré au lieu de capturer le trafic en direct. Nous allons utiliser un fichier de capture d'exemple nommé http.pcap qui contient un trafic web HTTP typique.

Pour ouvrir et afficher le contenu du fichier de capture, exécutez :

tshark -r http.pcap

Cette commande affichera la liste des paquets directement dans votre terminal. Chaque ligne représente un paquet réseau avec plusieurs champs importants :

  • Numéro de paquet : Le numéro de séquence du paquet dans la capture.
  • Horodatage (Timestamp) : Lorsque le paquet a été capturé (en secondes).
  • Adresse IP source : D'où vient le paquet.
  • Adresse IP de destination : Où le paquet va.
  • Protocole : Le protocole réseau utilisé (HTTP dans notre cas).
  • Longueur du paquet : Taille du paquet en octets.
  • Informations (Info) : Détails brèves sur le contenu du paquet.

Par exemple, vous pourriez voir une sortie comme celle-ci montrant une requête et une réponse HTTP typiques :

1 0.000000 192.168.1.100 → 192.168.1.1 HTTP GET /index.html HTTP/1.1
2 0.000123 192.168.1.1 → 192.168.1.100 HTTP HTTP/1.1 200 OK (text/html)

La première ligne montre un client (192.168.1.100) demandant une page web, tandis que la deuxième ligne montre la réponse réussie du serveur. Cette vue de base vous aide à comprendre rapidement le flux de trafic.

Pour quitter la vue des paquets une fois que vous avez terminé d'examiner les données, appuyez simplement sur Ctrl+C. Cela vous ramènera à l'invite de commande.

Exporter des objets avec --export-objects http,./objects

Dans cette étape, nous allons explorer comment extraire les fichiers transférés via HTTP à partir d'une capture de paquets. Lorsque vous capturez le trafic réseau contenant des communications HTTP, des fichiers tels que des images, des PDFs ou des scripts sont transmis sous forme d'objets binaires au sein du protocole HTTP. Tshark offre un moyen pratique d'extraire ces fichiers pour analyse.

Tout d'abord, naviguons jusqu'au répertoire du projet où se trouve notre fichier de capture de paquets. Cela garantit que toutes nos commandes fonctionneront avec les bons fichiers :

cd ~/project

Avant d'extraire les fichiers, nous avons besoin d'un endroit pour les stocker. La commande mkdir -p crée un répertoire appelé "objects" où Tshark enregistrera les fichiers extraits. Le drapeau -p signifie qu'il n'affichera pas d'erreur si le répertoire existe déjà :

mkdir -p objects

Maintenant, nous allons utiliser la puissante fonctionnalité --export-objects de Tshark. Cette commande parcourt la capture de paquets, identifie les transferts de fichiers HTTP et reconstruit les fichiers originaux. La syntaxe comporte deux parties après --export-objects : "http" spécifie le protocole, et "./objects" est notre répertoire de sortie :

tshark -r http.pcap --export-objects http,./objects

Voici ce qui se passe lorsque vous exécutez cette commande :

  1. Tshark lit le fichier http.pcap (drapeau -r)
  2. Il analyse le trafic HTTP et identifie les transferts de fichiers
  3. Chaque fichier trouvé est reconstruit et enregistré dans le répertoire ./objects

Après avoir exécuté la commande, Tshark affichera chaque fichier qu'il extrait. Par exemple, vous pourriez voir une sortie comme celle-ci montrant l'extraction réussie de fichiers :

Exporting HTTP object 1: image1.jpg
Exporting HTTP object 2: document.pdf

Ces fichiers sont maintenant disponibles dans votre répertoire objects pour un examen plus approfondi. Cette technique est particulièrement utile lors de l'analyse du trafic web ou de l'enquête sur les téléchargements de fichiers lors de la résolution de problèmes réseau.

Lister les fichiers dans ./objects

Dans cette étape, nous allons examiner les objets HTTP qui ont été extraits de la capture de paquets à l'étape précédente. Ces objets représentent des fichiers transférés via HTTP, tels que des images, des documents ou des scripts. En listant le contenu du répertoire ./objects, nous pouvons vérifier quels fichiers ont été exportés avec succès et nous préparer pour une analyse plus approfondie.

Tout d'abord, naviguons jusqu'au répertoire du projet où se trouvent nos fichiers extraits. Cela garantit que nous travaillons au bon endroit :

cd ~/project

Pour afficher tous les fichiers extraits avec des informations détaillées, nous allons utiliser la commande ls avec deux options utiles :

ls -lh ./objects

Voici ce que chaque partie fait :

  • -l affiche la liste au format long avec les autorisations, les tailles et les horodatages.
  • -h affiche les tailles des fichiers dans un format lisible par l'homme (KB, MB au lieu d'octets).

Vous devriez voir une sortie similaire à celle-ci, montrant les fichiers réels extraits du trafic HTTP :

total 24K
-rw-r--r-- 1 labex labex 5.2K Jan 1 10:00 image1.jpg
-rw-r--r-- 1 labex labex 12K Jan 1 10:00 document.pdf
-rw-r--r-- 1 labex labex 1.5K Jan 1 10:00 script.js

Si vous avez seulement besoin de savoir combien de fichiers ont été extraits (sans voir leurs détails), cette commande les compte :

ls ./objects | wc -l

La partie wc -l compte le nombre de lignes dans la sortie, qui correspond au nombre de fichiers. Pour notre exemple, cela afficherait :

3

Filtrer des requêtes spécifiques avec -Y "http.request.uri"

Dans cette étape, nous allons explorer comment filtrer des requêtes HTTP spécifiques à partir d'un fichier de capture de paquets en utilisant l'outil en ligne de commande de Wireshark, tshark. L'option -Y nous permet d'appliquer des filtres d'affichage puissants pour nous concentrer uniquement sur le trafic réseau que nous souhaitons analyser.

Avant de commencer, assurons-nous que nous sommes dans le bon répertoire de travail où se trouve notre fichier de capture de paquets :

cd ~/project

La structure de base de la commande utilise tshark -r pour lire un fichier de capture de paquets, suivie de -Y avec notre expression de filtre. Lorsque nous travaillons avec le trafic HTTP, nous pouvons filtrer spécifiquement les paquets de requête HTTP en examinant leurs chemins d'URI (Uniform Resource Identifier) :

tshark -r http.pcap -Y "http.request.uri"

Cette commande traitera le fichier http.pcap et affichera uniquement les paquets de requête HTTP qui correspondent à notre filtre. Pour chaque paquet correspondant, vous verrez des informations importantes, notamment :

  • Le numéro de paquet (indiquant sa position dans la capture)
  • L'horodatage de la capture du paquet
  • Les adresses IP source et de destination
  • Le chemin d'URI complet de la requête HTTP

Voici à quoi pourrait ressembler une sortie typique :

10 1.234567 192.168.1.100 → 203.0.113.5 HTTP GET /images/logo.png HTTP/1.1
15 2.345678 192.168.1.100 → 203.0.113.5 HTTP GET /api/data.json HTTP/1.1

Nous pouvons rendre notre filtre plus spécifique en recherchant des types de fichiers ou des chemins particuliers. Par exemple, pour trouver uniquement les requêtes pour des fichiers d'images PNG, nous pouvons modifier notre filtre pour vérifier la présence de ".png" dans l'URI :

tshark -r http.pcap -Y 'http.request.uri contains ".png"'

Cette technique est particulièrement utile lors de l'analyse du trafic web pour identifier des ressources spécifiques demandées, ou lors de la résolution de problèmes liés à des types particuliers de requêtes web. La syntaxe des filtres d'affichage nous donne un contrôle précis sur les paquets que nous voyons dans notre analyse.

Résumé

Dans ce laboratoire, vous avez appris à analyser le trafic HTTP et à extraire les objets transférés en utilisant l'outil en ligne de commande tshark de Wireshark. En travaillant avec le fichier http.pcap, vous avez pratiqué l'affichage des détails des paquets avec le drapeau -r et l'exportation d'objets HTTP tels que des images et des documents dans un répertoire désigné en utilisant --export-objects.

Vous avez également exploré le filtrage de requêtes HTTP spécifiques avec le drapeau -Y pour isoler le trafic en fonction des URIs. Ces techniques fournissent des compétences essentielles pour une analyse réseau efficace et une extraction ciblée de fichiers via l'interface en ligne de commande de tshark.