Dump des données hexadécimales 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 à analyser les paquets réseau à l'aide de l'outil en ligne de commande tshark de Wireshark avec une sortie hexadécimale. Vous allez pratiquer la lecture de fichiers de capture de paquets (capture.pcap) en utilisant le paramètre -r et afficher les données brutes des paquets au format hexadécimal avec -x.

Les exercices vous guideront à travers l'exécution de commandes tshark, l'interprétation des résumés de paquets et l'examen des dumps hexadécimaux. Vous analyserez un exemple d'échange de trois messages TCP (TCP handshake) pour comprendre comment cette technique aide au dépannage réseau et aux enquêtes de sécurité.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL wireshark(("Wireshark")) -.-> wireshark/WiresharkGroup(["Wireshark"]) wireshark/WiresharkGroup -.-> wireshark/protocol_dissection("Protocol Dissection") wireshark/WiresharkGroup -.-> wireshark/packet_analysis("Packet Analysis") wireshark/WiresharkGroup -.-> wireshark/commandline_usage("Command Line Usage") subgraph Lab Skills wireshark/protocol_dissection -.-> lab-548923{{"Dump des données hexadécimales dans Tshark"}} wireshark/packet_analysis -.-> lab-548923{{"Dump des données hexadécimales dans Tshark"}} wireshark/commandline_usage -.-> lab-548923{{"Dump des données hexadécimales dans Tshark"}} end

Lire un fichier avec -r capture.pcap

Dans cette étape, vous apprendrez à lire un fichier de capture de paquets à l'aide de l'outil en ligne de commande tshark de Wireshark avec l'option -r. C'est la méthode de base pour analyser les données de trafic réseau préalablement capturées.

Avant de commencer, il est important de comprendre que les fichiers PCAP contiennent des données brutes de trafic réseau capturées à partir d'une interface réseau. Le paramètre -r vous permet de spécifier un fichier de capture de paquets à lire, ce qui est similaire à l'ouverture d'un document avec un éditeur de texte. Nous utiliserons un fichier d'exemple nommé capture.pcap situé dans votre répertoire ~/project.

  1. Tout d'abord, assurez-vous d'être dans le bon répertoire. Cela est crucial car tshark doit savoir où trouver le fichier de capture :
cd ~/project
  1. Maintenant, utilisez tshark pour lire le fichier de capture. La commande de base sans filtre affichera tous les paquets du fichier :
tshark -r capture.pcap

Cette commande affichera des informations de base sur chaque paquet du fichier de capture, notamment :

  • Numéro de paquet (indiquant l'ordre de capture)
  • Horodatage (quand le paquet a été capturé)
  • Adresses IP source et de destination (qui a envoyé et reçu le paquet)
  • Protocole (quel type de communication réseau il s'agit)
  • Longueur du paquet (la taille du paquet)
  • Informations de protocole de base (détails spécifiques à chaque protocole)

Exemple de sortie (votre sortie réelle peut différer) :

1 0.000000 192.168.1.1 → 192.168.1.2 TCP 66 443 → 49234 [SYN] Seq=0 Win=64240 Len=0
2 0.000123 192.168.1.2 → 192.168.1.1 TCP 66 49234 → 443 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0
3 0.000234 192.168.1.1 → 192.168.1.2 TCP 54 443 → 49234 [ACK] Seq=1 Ack=1 Win=64240 Len=0

Cette sortie montre un échange de trois messages TCP (TCP handshake) de base entre deux hôtes. Le premier paquet avec [SYN] indique une demande de connexion, le deuxième avec [SYN, ACK] est la réponse, et le troisième [ACK] termine l'échange. Chaque ligne représente un paquet réseau avec ses détails essentiels, vous donnant une vue chronologique de la communication réseau.

Activer le dump hexadécimal avec -x

Dans cette étape, nous allons explorer comment examiner le contenu binaire brut des paquets réseau à l'aide de l'outil en ligne de commande tshark de Wireshark. L'option -x est particulièrement puissante car elle révèle les données hexadécimales réelles qui composent chaque paquet, ce qui est essentiel pour une analyse approfondie des paquets.

Lorsque vous travaillez avec le trafic réseau, les paquets ne sont fondamentalement que des séquences d'octets. Le paramètre -x indique à tshark d'afficher :

  1. Les informations standard de l'en-tête de paquet (comme les adresses source/destination)
  2. La représentation hexadécimale complète des données brutes du paquet
  3. Une interprétation ASCII de ces données (lorsque cela est applicable)

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

cd ~/project

Maintenant, nous allons analyser notre fichier de capture de paquets (capture.pcap) avec la sortie hexadécimale activée :

tshark -r capture.pcap -x

Cette commande produit une sortie divisée en trois sections principales pour chaque paquet :

  1. La ligne de résumé montrant les informations de base sur le paquet
  2. Le dump hexadécimal montrant les octets bruts du paquet
  3. La représentation ASCII de ces octets (affichant les caractères imprimables)

Voici à quoi ressemble une section de sortie typique (abrégée à des fins de démonstration) :

1 0.000000 192.168.1.1 → 192.168.1.2 TCP 66 443 → 49234 [SYN] Seq=0 Win=64240 Len=0
0000  00 1a 4b 12 34 56 00 1b 11 22 33 44 08 00 45 00   ..K.4V..."3D..E.
0010  00 34 12 34 00 00 80 06 78 9a c0 a8 01 01 c0 a8   .4.4....x.......
0020  01 02 01 bb c0 52 00 00 00 00 00 00 00 00 50 02   .....R........P.
0030  fa f0 00 00 00 00 00 00 00 00                     ..........

L'affichage hexadécimal est organisé comme suit :

  • La colonne la plus à gauche (0000, 0010, etc.) montre le décalage d'octet en hexadécimal
  • La section du milieu affiche 16 octets de données de paquet par ligne au format hexadécimal
  • La section de droite montre la représentation des caractères ASCII (les caractères non imprimables sont affichés sous forme de points)

Cette vue est inestimable lorsque vous devez examiner les en-têtes de protocole au niveau des octets ou vérifier le contenu exact des transmissions réseau.

Limiter aux trames avec --hexdump frames

Dans cette étape, vous apprendrez à contrôler précisément quels paquets apparaissent dans votre sortie hexadécimale en utilisant l'option --hexdump de Wireshark avec un filtre de trames. Cette technique vous permet de vous concentrer sur des paquets réseau spécifiques lors de l'examen de leurs données hexadécimales brutes - particulièrement utile lorsque vous travaillez avec de grands fichiers de capture contenant de nombreux paquets.

L'option --hexdump vous donne un contrôle plus précis que le paramètre de base -x. Alors que -x affiche les dumps hexadécimaux pour tous les paquets, --hexdump vous permet de spécifier exactement quels numéros de trames afficher. C'est comme avoir une loupe qui n'affiche que les paquets que vous voulez examiner de près.

  1. Tout d'abord, assurons-nous que nous sommes dans le bon répertoire de travail où se trouve notre fichier de capture. Cela garantit que Tshark peut trouver le fichier que nous voulons analyser :
cd ~/project
  1. Maintenant, nous allons utiliser Tshark pour afficher les données hexadécimales de trames spécifiques. La structure de la commande est la suivante :
    • -r capture.pcap lit notre fichier de capture de paquets
    • --hexdump frame=1-3 indique à Tshark que nous ne voulons que les trames de la 1ère à la 3ème
    • Le signe égal (=) relie le filtre de trames à l'option de dump hexadécimal

Exécutez cette commande pour voir les trames 1 à 3 en hexadécimal :

tshark -r capture.pcap --hexdump frame=1-3

Cette commande produit une sortie montrant :

  • Seulement les trois trames que nous avons demandées (1, 2 et 3)
  • La représentation hexadécimale complète de chaque trame
  • Les données brutes d'octets sans les informations de résumé de paquet habituelles

Exemple de sortie (abrégée à des fins de démonstration) :

Frame 1: 66 bytes on wire
0000  00 1a 4b 12 34 56 00 1b 11 22 33 44 08 00 45 00   ..K.4V..."3D..E.
0010  00 34 12 34 00 00 80 06 78 9a c0 a8 01 01 c0 a8   .4.4....x.......
0020  01 02 01 bb c0 52 00 00 00 00 00 00 00 00 50 02   .....R........P.
0030  fa f0 00 00 00 00 00 00 00 00                     ..........

Frame 2: 66 bytes on wire
0000  00 1b 11 22 33 44 00 1a 4b 12 34 56 08 00 45 00   ..."3D..K.4V..E.
0010  00 34 ab cd 00 00 80 06 12 34 c0 a8 01 02 c0 a8   .4.......4......
0020  01 01 c0 52 01 bb 00 00 00 00 00 00 00 01 50 12   ...R..........P.
0030  ff ff 00 00 00 00 00 00 00 00                     ..........

Remarquez les principales différences par rapport aux sorties précédentes :

  • Seules les trames que vous avez spécifiées apparaissent (pas de paquets supplémentaires)
  • Chaque trame montre sa représentation hexadécimale complète
  • La sortie saute les lignes de résumé de paquet habituelles, vous donnant des données hexadécimales plus propres à analyser

Examiner la sortie hexadécimale

Dans cette étape finale, vous allez analyser et interpréter la sortie hexadécimale de votre capture de paquets. Comprendre les dumps hexadécimaux est fondamental pour l'analyse réseau car il montre les données binaires brutes telles qu'elles circulent sur le réseau. Cette compétence est essentielle pour comprendre les protocoles réseau, déboguer les problèmes de communication et effectuer une inspection de paquets de bas niveau.

  1. Tout d'abord, générons un dump hexadécimal complet des trois premières trames. Nous utiliserons cette commande dans le répertoire du projet :
cd ~/project
tshark -r capture.pcap --hexdump frame=1-3

Cette commande lit le fichier capture.pcap et affiche la représentation hexadécimale des trames de la 1ère à la 3ème. L'option --hexdump indique à Tshark d'afficher côte à côte les représentations hexadécimale et ASCII.

  1. Examinez attentivement la structure de la sortie. Le dump hexadécimal est organisé pour vous aider à visualiser la structure du paquet :
  • Chaque trame commence par sa taille (par exemple, "Frame 1: 66 bytes on wire") qui indique la longueur totale du paquet
  • La colonne de gauche montre le décalage d'octet (0000, 0010, etc.) qui permet de localiser des octets spécifiques
  • La section du milieu affiche 16 octets de données hexadécimales par ligne, montrant le contenu réel du paquet
  • La colonne de droite montre la représentation ASCII des caractères imprimables, utile pour repérer les protocoles de texte
  1. Maintenant, identifions les en-têtes de protocole clés dans le dump hexadécimal. Les paquets réseau suivent une structure en couches, et nous pouvons le voir dans la sortie hexadécimale :
## Ethernet header (first 14 bytes)
0000 00 1a 4b 12 34 56 00 1b 11 22 33 44 08 00

## IP header (next 20 bytes)
0010 45 00 00 34 12 34 00 00 80 06 78 9a c0 a8 01 01
0020 c0 a8 01 02

## TCP header (next 20 bytes)
0020 01 bb c0 52 00 00 00 00 00 00 00 00 50 02
0030 fa f0 00 00 00 00 00 00 00 00

L'en-tête Ethernet vient en premier, suivi de l'en-tête IP, puis de l'en-tête TCP. Chaque en-tête de protocole contient des champs spécifiques à des positions fixes que nous pouvons décoder.

  1. Entraînons-nous à interpréter certaines valeurs courantes que vous rencontrerez dans les paquets réseau :
  • 08 00 indique IPv4 (EtherType) - cela indique à la carte réseau quel protocole vient ensuite
  • 45 montre IPv4 avec une longueur d'en-tête de 5 mots (le '4' est la version IP, le '5' est la longueur de l'en-tête en mots de 32 bits)
  • c0 a8 01 01 est 192.168.1.1 en hexadécimal (chaque paire représente un octet de l'adresse IP)
  • 01 bb est le port 443 en décimal (le premier octet 01 vaut 256, plus bb vaut 187, au total 443)

N'oubliez pas que les protocoles réseau utilisent l'ordre des octets big-endian, ce qui signifie que l'octet le plus significatif vient en premier lors de l'interprétation des champs multi-octets.

Résumé

Dans ce laboratoire, vous avez appris à utiliser l'outil en ligne de commande tshark de Wireshark pour analyser les captures de paquets et examiner les données hexadécimales. Les exercices ont montré comment lire des fichiers PCAP avec l'option -r pour afficher les informations de base sur les paquets et utiliser le paramètre -x pour obtenir des dumps hexadécimaux détaillés.

Vous avez exploré comment ces techniques permettent une analyse complète du trafic réseau, depuis l'observation des échanges de maintien de connexion TCP (TCP handshakes) jusqu'à l'inspection des données brutes des paquets au niveau des octets. La combinaison des résumés de paquets avec les représentations hexadécimale et ASCII offre des capacités puissantes pour la résolution de problèmes réseau et l'examen des protocoles.