Décortiquer un paquet TLS avec WireShark
Nous allons procéder à une analyse détaillée de ce paquet capturé par Wireshark, qui transporte des données d'application chiffrées via TLSv1.2 (le protocole de sécurité utilisé notamment pour HTTPS).
1. La ligne de résumé
No. Time Source Destination Protocol Length Info
59 34.647305 192.168.10.251 172.64.41.4 TLSv1.2 110 Application Data
- No. 59
Ce paquet est le numéro 59 dans la capture.
- Time 34.647305
Le paquet a été capturé 34,647305 secondes après le début de l'enregistrement.
- Source : 192.168.10.251
L'adresse IP source de ce paquet. Il s'agit d'un hôte interne (adresse privée).
- Destination : 172.64.41.4
L'adresse IP de destination, qui semble être une adresse publique. On peut en déduire que ce paquet sort du réseau privé pour rejoindre un serveur distant.
- Protocol : TLSv1.2
Indique que le protocole de la couche applicative est TLS version 1.2, utilisé pour sécuriser les échanges (généralement en HTTPS).
- Length : 110
Le paquet fait 110 octets au total.
- Info : Application Data
Le contenu du paquet correspond à des données applicatives transportées dans la session TLS (donc chiffrées).
2. Détails de la trame (Frame 59)
Frame 59: 110 bytes on wire (880 bits), 110 bytes captured (880 bits) on interface \Device\NPF_{...}, id 0
Section number: 1
Interface id: 0 (\Device\NPF_{...})
Interface name: \Device\NPF_{...}
Interface description: vEthernet (COM_EXT)
Encapsulation type: Ethernet (1)
Arrival Time: Feb 7, 2025 12:03:09.667468000 Paris, Madrid
UTC Arrival Time: Feb 7, 2025 11:03:09.667468000 UTC
Epoch Arrival Time: 1738926189.667468000
[Time shift for this packet: 0.000000000 seconds]
[Time delta from previous captured frame: 0.047441000 seconds]
[Time delta from previous displayed frame: 0.047441000 seconds]
[Time since reference or first frame: 34.647305000 seconds]
Frame Number: 59
Frame Length: 110 bytes (880 bits)
Capture Length: 110 bytes (880 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: eth:ethertype:ip:tcp:tls]
[Coloring Rule Name: TCP]
[Coloring Rule String: tcp]
Ce qui est indiqué ici :
- Taille et capture :
Le paquet fait 110 octets sur le réseau (et a été capturé en entier).
- Interface de capture :
Le paquet a été capturé sur une interface nommée « vEthernet (COM_EXT) ».
- Horodatage :
On dispose de plusieurs formats d'horodatage (heure locale, UTC, Epoch) pour situer précisément la capture.
- Protocole(s) dans la trame :
Wireshark indique que ce paquet comprend les couches Ethernet, IP, TCP et TLS.
3. En-tête Ethernet
Ethernet II, Src: GigaByteTech_06:75:5d (10:ff:e0:06:75:5d), Dst: Qotom_f5:35:01 (20:7c:14:f5:35:01)
Destination: Qotom_f5:35:01 (20:7c:14:f5:35:01)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
Source: GigaByteTech_06:75:5d (10:ff:e0:06:75:5d)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
Type: IPv4 (0x0800)
Explications :
- Adresses MAC :
- Source : La trame émane de l'adresse MAC 10:ff:e0:06:75:5d identifiée comme « GigaByteTech_06:75:5d ».
- Destination : Elle est destinée à l'adresse MAC 20:7c:14:f5:35:01 identifiée comme « Qotom_f5:35:01 ».
- Les bits LG et IG indiquent que les deux adresses sont des adresses globalement uniques et individuelles (unicast).
- Type de protocole :
Le champ Type est 0x0800, ce qui signale que la trame encapsule un paquet IPv4.
4. En-tête IPv4
Internet Protocol Version 4, Src: 192.168.10.251, Dst: 172.64.41.4
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
Total Length: 96
Identification: 0x112f (4399)
010. .... = Flags: 0x2, Don't fragment
...0 0000 0000 0000 = Fragment Offset: 0
Time to Live: 128
Protocol: TCP (6)
Header Checksum: 0x4881 [validation disabled]
Source Address: 192.168.10.251
Destination Address: 172.64.41.4
Détails :
- Version et longueur d'en-tête :
Le paquet est en IPv4 et l'en-tête fait 20 octets (indiquant l'absence d'options).
- Services différenciés :
Le champ DSCP est 0x00 (CS0) et aucun marquage ECN n'est présent.
- Longueur totale :
La longueur totale du paquet IP est de 96 octets, incluant l'en-tête et la charge utile.
- Identification et fragmentation :
L'identifiant est 0x112f (4399). Le drapeau « Don't fragment » est activé (flag 0x2), et il n'y a pas de fragmentation (offset = 0).
- TTL :
Le Time To Live (TTL) est 128, ce qui indique le nombre maximum de sauts que le paquet peut effectuer.
- Protocole transport :
Le champ Protocol indique TCP (valeur 6).
- Adresses IP :
- Source : 192.168.10.251
- Destination : 172.64.41.4
5. En-tête TCP
Transmission Control Protocol, Src Port: 49780, Dst Port: 443, Seq: 1, Ack: 1, Len: 56
Ce que cela signifie :
- Ports :
- Port source : 49780, un port éphémère utilisé par l'hôte émetteur.
- Port destination : 443, le port standard pour HTTPS, indiquant une connexion sécurisée.
- Séquence et accusé de réception :
La trame affiche un numéro de séquence (Seq: 1) et un numéro d'accusé de réception (Ack: 1). Ces numéros sont utilisés pour garantir la fiabilité du transport TCP.
(Note : Ces numéros simples peuvent faire partie d'un échange dans un segment de données d'une session déjà établie.)
- Longueur des données :
La charge utile du segment TCP fait 56 octets. Ces 56 octets correspondent aux données TLS encapsulées.
6. Couche TLS (Transport Layer Security)
À savoir :
- Contexte TLS :
La portion TLS du paquet contient les données d'application chiffrées. Dans le résumé initial, le protocole est indiqué comme TLSv1.2, ce qui signifie que la session sécurisée utilise cette version du protocole TLS.
- Type de message :
L'info « Application Data » signale qu'il s'agit d'un enregistrement TLS transportant des données applicatives (par exemple, une requête HTTP ou une réponse HTTPS).
Ces données sont chiffrées, et sans la clé de session ou un décryptage spécifique, leur contenu exact ne peut pas être interprété par Wireshark.
- Intégration dans la pile :
Le TLS est encapsulé dans le segment TCP, qui lui-même est transporté dans le paquet IP, lui-même contenu dans une trame Ethernet. La hiérarchie est donc la suivante :
- Ethernet → IPv4 → TCP → TLS
Récapitulatif général
- Contexte et objectif du paquet :
Ce paquet fait partie d'une communication sécurisée. L'hôte interne avec l'IP 192.168.10.251 envoie des données chiffrées (via TLSv1.2) à un serveur distant à l'IP 172.64.41.4, sur le port 443 (HTTPS).
- Structure du paquet :
- Couche 2 (Ethernet) :
Contient les adresses MAC source (10:ff:e0:06:75:5d) et destination (20:7c:14:f5:35:01), et indique que le protocole encapsulé est IPv4.
- Couche 3 (IP) :
Gère l'adressage logique avec la source 192.168.10.251 et la destination 172.64.41.4. L'en-tête indique également des paramètres tels que le TTL et le fait que le paquet ne doit pas être fragmenté.
- Couche 4 (TCP) :
Utilise le port source éphémère 49780 et le port destination 443. Les numéros de séquence et d'accusé de réception assurent une transmission fiable, et 56 octets de données sont transportés.
- Couche applicative (TLS) :
Les données applicatives sont chiffrées par TLSv1.2. L'étiquette « Application Data » indique que ce segment transporte une partie du contenu de la session sécurisée.
- Observation complémentaire :
Le cheminement des données depuis le niveau Ethernet jusqu'au chiffrement TLS montre comment, en traversant les différentes couches du modèle OSI, une application web sécurisée peut transmettre ses informations de manière protégée.