Introduction
L’équipe événementielle Grove a besoin d’un exemple fiable montrant un visiteur qui ouvre les détails de Night Garden Walk. Vous utiliserez du trafic HTTP réellement enregistré pour retrouver la bonne visite, associer les requêtes à leurs réponses et préparer une capture qu’un autre analyste pourra rouvrir.
Vous devez savoir ouvrir des fichiers, saisir des commandes simples dans un terminal et appliquer un filtre d’affichage Wireshark de base. Aucune programmation n’est nécessaire. Utilisez Desktop pendant tout le laboratoire ; son terminal, Wireshark et l’éditeur de texte partagent ce conteneur de formation. Il s’agit d’enregistrements contrôlés, pas de trafic de visiteurs en direct. Ce laboratoire démarre indépendamment ; la durée estimée comprend la lecture et les erreurs ordinaires.
Isoler une visite complète
Dans cette étape, vous trouverez la visite normale de Cedar et exporterez sa conversation complète. Commencez dans Desktop. Ouvrez Applications → Terminal Emulator depuis le menu en bas à gauche du bureau. La capture préparée est un fichier d’entrée : ne le modifiez pas. Exécutez cette commande pour lancer Wireshark et l’ouvrir. Le terminal reste occupé tant que Wireshark fonctionne ; poursuivez dans la fenêtre Wireshark.
wireshark /home/labex/project/event-page/input/casebook.pcapng
Agrandissez la fenêtre avec le bouton de maximisation de sa barre de titre. Le volet supérieur liste les paquets, le volet central explique le paquet sélectionné et le volet inférieur affiche ses octets. Ce fichier contient trois visites distinctes d’un service événementiel local. L’adresse du service est 127.0.0.1 ; les adresses clientes sont des identités de test locales distinctes, pas des machines physiques.
| Visite | Client | Rôle dans ce laboratoire |
|---|---|---|
| cedar | 127.0.0.2 | Visite normale à transmettre |
| willow | 127.0.0.3 | Autre visiteur, hors du périmètre de transmission |
| birch | 127.0.0.4 | Autre visiteur, hors du périmètre de transmission |
Cliquez dans la barre de filtre au-dessus des paquets, saisissez l’expression suivante et appuyez sur Enter. ip.addr correspond à l’une ou l’autre extrémité et conserve donc les deux sens. == signifie égal. Un filtre d’affichage change la vue ; il ne supprime aucun paquet du fichier d’entrée.
ip.addr == 127.0.0.2
Ouvrez Statistics → Conversations, sélectionnez l’onglet TCP et activez Limit to display filter si nécessaire. Une conversation TCP comprend les deux adresses et les deux ports. Sa Duration inclut les périodes d’inactivité : elle ne mesure donc pas une réponse HTTP individuelle. Confirmez que la conversation sélectionnée relie Cedar au service événementiel, puis fermez la boîte de dialogue.
Sélectionnez une requête dont Info commence par GET. HTTP est le protocole de requête-réponse de l’application. Un URI identifie la ressource demandée : ici, la valeur view sélectionne list, details ou programme. Faites un clic droit sur la requête et choisissez Follow → TCP Stream. Lisez les deux sens de la conversation, en faisant défiler au besoin. Cedar demande deux fois les détails sur la même connexion. Un URI et un flux identiques n’identifient donc pas une requête de manière unique.
Fermez la fenêtre Follow avec Close. Wireshark laisse un filtre de flux actif. Conservez-le : cette vue inclut les segments TCP de la connexion, pas seulement les paquets étiquetés HTTP. Si vous avez choisi une autre visite par erreur, remplacez le filtre par l’expression d’adresse de Cedar et recommencez Follow sur une requête de Cedar.
Choisissez File → Export Specified Packets. Enregistrez sous /home/labex/project/event-page/output/evidence.pcapng, au format pcapng, avec la plage Displayed et All packets parmi cet ensemble affiché. Gardez le fichier d’entrée séparé. Si le nom de sortie est incorrect, recommencez avec le nom requis. N’utilisez pas Export Packet Dissections : cette fonction produit des résumés, pas une capture réutilisable.

Avant d’enregistrer, vérifiez la colonne Displayed et l’option All packets. L’exemple affiche 30 paquets appartenant à Cedar.
Choisissez File → Open et ouvrez le nouveau evidence.pcapng. Appliquez http dans la barre de filtre. Vous devez trouver quatre requêtes GET et quatre réponses HTTP ; vérifiez leur contenu en plus de leur nombre. Une réponse peut couvrir plusieurs segments TCP. Exporter uniquement les lignes étiquetées HTTP peut éliminer les segments précédents, même si la fenêtre d’origine affichait la réponse complète. Rouvrir l’export permet de détecter cette erreur.
Si une réponse manque ou ne peut pas être réassemblée, rouvrez le fichier original, rétablissez le filtre d’adresse de Cedar et exportez à nouveau la connexion complète. Ne complétez jamais un contenu manquant en le tapant dans un autre fichier.
Associer les requêtes à leurs réponses réelles
Vous allez distinguer les deux requêtes de détails et enregistrer les quatre paires correctes. Commencez dans Desktop, avec Wireshark ouvert. Utilisez File → Open pour revenir à /home/labex/project/event-page/input/casebook.pcapng. Tous les numéros de trame du tableau suivant désignent ce fichier original, pas l’export renuméroté.
Combinez deux conditions avec &&, qui impose leur correspondance simultanée. http sélectionne les messages HTTP décodés.
ip.addr == 127.0.0.2 && http
Sélectionnez le premier GET. Développez Hypertext Transfer Protocol dans le volet central à l’aide du triangle, ou sélectionnez la ligne et appuyez sur Right Arrow. Lisez l’URI et l’en-tête X-Request. Cette application synthétique attribue une référence propre à chaque requête, comme cedar-01.
Trouvez Response in frame. Faites un clic droit sur ce champ et choisissez Go to Linked Packet. Dans la section HTTP de la réponse, Request in frame renvoie à la requête initiale. Les deux liens sont importants : la dernière réponse d’un flux n’est pas automatiquement celle de la première requête.
Développez JavaScript Object Notation → Object → Member: title dans la réponse, en faisant défiler le volet central si nécessaire, ou utilisez Follow → TCP Stream pour lire la conversation applicative complète. Le titre est Night Garden Walk. JSON représente des valeurs applicatives étiquetées ; title est l’étiquette et les mots entre guillemets qui suivent sont la valeur. Lisez cette valeur réelle, pas uniquement le code 200. Si la section JSON est hors de la zone visible, faites défiler le volet central.
Répétez pour chaque requête Cedar, y compris les deux demandes de détails. Cet enregistrement fixe contient les paires suivantes :
| Trame de requête dans l’entrée | Réponse correspondante | Titre de l’événement |
|---|---|---|
| 4 | 10 | Night Garden Walk |
| 12 | 16 | Night Garden Walk |
| 17 | 21 | Night Garden Walk |
| 23 | 27 | Night Garden Walk |
Pour comparer plus facilement les liens, faites un clic droit sur Response in frame dans une requête et choisissez Apply as Column. Les cellules vides sur les lignes de réponse sont normales : celles-ci ont un champ Request in frame à la place. Cette colonne est une aide, pas un réglage de profil obligatoire. Vérifiez avec elle que les requêtes de détails répétées pointent vers des réponses différentes.

Lisez le numéro de trame original à gauche et Response in frame à côté. Les deux requêtes de détails mènent aux trames 16 et 27.
Créez la courte table de transmission dans l’éditeur graphique. Ouvrez de nouveau Applications → Terminal Emulator pour créer un autre terminal dans Desktop. mousepad ouvre l’éditeur fourni ; le chemin absolu désigne le fichier de sortie.
mousepad /home/labex/project/event-page/output/pairs.csv
Saisissez ce CSV complet. CSV sépare les champs par des virgules, avec un enregistrement par ligne. L’en-tête nomme les colonnes. Ces titres ne contiennent pas de virgule et n’ont donc pas besoin de guillemets supplémentaires.
request_frame,response_frame,title
4,10,Night Garden Walk
12,16,Night Garden Walk
17,21,Night Garden Walk
23,27,Night Garden Walk
Enregistrez avec Ctrl+S. Si une boîte de dialogue apparaît, confirmez le répertoire exact et le nom pairs.csv. Revenez à Wireshark par sa fenêtre ou le bouton du panneau inférieur. Comparez chaque ligne CSV aux liens réels de requête-réponse dans l’entrée. La table documente l’enquête ; elle ne remplace pas votre evidence.pcapng complet.
Résumé
Vous avez utilisé les conversations Wireshark et Follow TCP Stream pour isoler une visite, rouvert une capture complète exportée et associé les requêtes HTTP répétées à leurs propres réponses. Le fichier original reste intact ; les paquets exportés et la courte table de correspondance peuvent être vérifiés indépendamment.


