-
Lancer Wireshark.
-
Lancer la capture des trames sans restrictions d'adresses, de
protocoles ou de volume.
-
Lancer un navigateur Web et saisir une adresse de site
(URL) de votre choix.
-
Une fois la page complètement chargée, arrêter la capture.
Sauvegarder un fichier de capture.
-
Passer aux questions suivantes.
Suivant le contexte de connexion, le volume d'information
capturé varie énormément : connexion DSL, réseau local commuté ou non, multiplicité
des protocoles réseau, etc. Il est cependant préférable d'effectuer
la première capture sans aucune restriction à priori de façon à avoir une image
exacte du trafic. Si l'information utile est vraiment noyée dans du
«bruit», il est toujours possible de reprendre la capture avec un
filtre ; voir Section 4,
« Capture d'une série de trame ».
7.3. Analyse des
protocoles
Pour répondre aux questions suivantes, utiliser le résultat de
la capture issue de l'étape précédente ou charger un fichier de
capture.
7.3.1. Protocoles
capturés
|
1.
|
Quels sont les protocoles indiqués dans la colonne de la fenêtre de liste des trames
capturées ?
|
|
Confirmer que la capture contient bien les protocoles
DNS, TCP et HTTP.
|
7.3.2. Trame
Ethernet, paquet IP et datagramme UDP
Analyser la trame correspondant au premier message
DNS émis par le client Web.
|
1.
|
Quels sont les adresses (MAC|Ethernet) et IP du client ?
|
|
2.
|
Quel est le contenu du champ type de la trame Ethernet ?
|
|
3.
|
Quelles sont les adresses destination (MAC|Ethernet) et IP ?
|
|
4.
|
À quelles machines correspondent ces adresses ?
|
Analyser l'en-tête IP du
premier message DNS émis par le
client Web.
|
1.
|
Quelle est la taille de l'en-tête ? Quelle est la longueur
totale du paquet ?
|
|
2.
|
Repérer le champ «type de protocole» dans l'en-tête. Quel est le
numéro et le type de protocole présent dans les données du paquet
?
|
Analyser l'en-tête UDP du
premier message DNS émis par le
client Web.
|
1.
|
Quels sont les numéros de ports du client et du serveur ?
Quelles sont les particularités de ces valeurs ? Quel est le
protocole de couche application présent dans les données du message
?
|
|
2.
|
Quelle est la valeur indiquée dans le champ longueur de
l'en-tête UDP ? Est-ce qu'elle
correspond à l'information donnée dans l'en-tête du paquet
IP ?
|
Faire un croquis des piles de protocoles des couches physique à
application pour le client et le serveur ; identifier les unités de
données de protocoles (PDUs) et
les communications de bout en bout.
Analyser le message de requête DNS émis par le client Web.
|
1.
|
Quel est le champ qui indique si le message est une requête ou
une réponse ?
|
|
2.
|
Quelle est l'information transportée dans le corps de la requête
? Identifier le type et la classe de la requête.
|
|
3.
|
Quel est l'identificateur de transaction de la requête ?
|
On considère maintenant la réponse à la requête précédente.
|
1.
|
Quelles devraient être les adresses (MAC|Ethernet) et IP de ce paquet ?
|
|
Vérifier que les adresses attendues sont présentes.
|
|
2.
|
Quelle est la taille du paquet IP ; du message UDP ? Cette taille est-elle plus importante que
celle du paquet de requête ?
|
|
3.
|
Quel est l'identificateur de transaction de la réponse ? Est-ce
qu'il correspond à la requête ?
|
|
4.
|
Combien de réponses sont disponibles dans le message de réponse
? Comparer les réponses et leurs valeurs TTL (Time-to-live).
|
Identifier la trame qui correspond au premier segment
TCP dans la procédure en trois
étapes (three ways handshake) qui
initie la connexion entre le client et le serveur HTTP.
|
1.
|
Quelles sont les adresses (MAC|Ethernet) et IP attendues pour cette trame ? Quels sont les
valeurs des champs type et protocole respectivement attendus pour cette trame
et ce paquet ?
|
|
Vérifier que ces champs et adresses correspondent.
|
|
2.
|
Expliquer les valeurs des adresses destination (MAC|Ethernet) et IP ? À quels hôtes correspondent ces adresses
?
|
|
3.
|
Identifier les numéros de ports utilisés par le client. Pourquoi
ces valeurs sont-elles utilisées ?
|
|
4.
|
Quelle est la longueur du segment TCP ?
|
|
5.
|
Quel est le numéro de séquence initial (Initial Sequence Number ou ISN émis par le client vers le serveur ? Quelle
est la taille de fenêtre initiale ? Quelle est la taille maximale
de segment (Maximum Segment Size ou
MSS) ?
|
|
6.
|
Trouver la valeur hexadécimale de l'octet qui contient
l'indicateur d'état SYN ?
|
Identifier la trame qui correspond au second segment
TCP dans la procédure en trois
étapes (three ways handshake).
|
1.
|
Combien de temps s'est écoulé entre la capture du premier et du
second segment TCP ?
|
|
2.
|
Relever les valeurs des champs suivants de cette trame :
-
Adresses MAC source et
destination de la trame Ethernet.
-
Adresses source et destination du paquet IP.
-
Numéros de séquence et d'acquittement du segment TCP.
-
Valeurs des indicateurs d'état.
|
|
Vérifier que tout correspond aux valeurs attendues.
|
|
3.
|
Quelle est la longueur du segment TCP ?
|
|
4.
|
Quel est le numéro de séquence initial (Initial Sequence Number ou ISN émis par le serveur vers le client ? Quelle
est la taille de fenêtre initiale ? Quelle est la taille maximale
de segment (Maximum Segment Size ou
MSS) ?
|
Identifier la trame qui correspond au dernier segment
TCP dans la procédure en trois
étapes (three ways handshake).
|
1.
|
Combien de temps s'est écoulé entre la capture du second et du
troisième segment TCP ? Comparer
cette valeur avec celle relevée entre le premier et le second
segment et expliquer la différence.
|
|
2.
|
Relever les valeurs des champs suivants de cette trame :
|
|
Vérifier que tout correspond aux valeurs attendues.
|
|
3.
|
Quelle est la longueur du segment TCP ?
|
Identifier la trame qui correspond au message HTTP GET.
|
1.
|
Quelles sont les valeurs des numéros de séquence et
d'acquittement de l'en-tête TCP
?.
|
|
Vérifier que tout correspond aux valeurs attendues.
|
|
2.
|
Quels sont les indicateurs d'état actifs de l'en-tête
TCP ? Expliquer pourquoi.
|
|
3.
|
Quelles sont les longueurs de l'en-tête et de la «charge» du
message TCP ?
|
On considère maintenant le contenu du message HTTP GET.
|
1.
|
Comparer le texte décodé dans la fenêtre d'affichage de
la pile de protocoles avec le contenu de la fenêtre d'affichage
brut.
|
|
2.
|
Compter le nombre d'octets du message et vérifier que ce nombre
correspond au champ longueur de l'en-tête TCP.
|
|
3.
|
Quel est le prochain numéro de séquence attendu dans le message
suivant émis par le serveur HTTP
?
|
|
1.
|
Combien de temps s'est écoulé entre la capture du message
GET et la capture du message de
réponse correspondant ?
|
|
2.
|
Déterminer si le serveur répond avec un message HTTP ou un segment TCP ACK ?
|
|
3.
|
Quel est le numéro de séquence émis par le serveur
HTTP ? Est-ce qu'il correspond à
la valeur attendue ?
|
On considère maintenant l'en-tête du message réponse
HTTP.
|
1.
|
Quelle est la longueur de la «charge» indiquée dans l'en-tête
TCP ?
|
|
2.
|
Quels sont les indicateurs d'état actifs de l'en-tête
TCP ? Expliquer pourquoi.
|
|
3.
|
Quel est le prochain numéro de séquence attendu dans le message
suivant émis par le client ?
|
On considère maintenant le corps du message réponse
HTTP.