Vous êtes sur la page 1sur 10

Debord Rmi Diallo Mamadou Billo

Analyse de paquets TCP/IP


2010/2011

Master1 GSAT ISEE

Introduction :
Le but de cette sance de TP porte sur lencapsulage des donnes, ladresse couche liaison et ladresse couche rseau ainsi les mcanismes dacquittement et de numrotation des squences (transport). En quelque sorte cette manipulation va permettre de comprendre le modle en couche abord dans le cours afin de comprendre comment chaque couche communique avec la couche suprieure. Cette manipulation ncessite lutilisation de deux machines de type PC relis par un rseau ETHERNET. Les deux machines quipes de lenvironnement de dveloppement Visual C++ nous permettant de travailler en mode console et un logiciel danalyse de trames dans notre cas le logiciel utilis est Wirechark.pcap . Pendant la sance, nous aurons galement besoin dun programme serveur qui attend la demande de connexion dun programme client.

Principe dune connexion TCP :


Demande douverture de connexion du client TCP Client SYN(S = 0), SEQ = 0 TCP Serveur

Notre objectif au cours de cette sance sera danalyser les diffrentes trames changes entre le serveur et le client.

Page1/10

Debord Rmi & Diallo Mamadou Billo

Master1 GSATISEE

Travail prliminaire Commande de TCP/IP :


Nous commenons tout dabord par effectuer les commandes TCP/IP afin de comprendre leur rle. ipconfig/all : permet dafficher les valeurs de la configuration rseau TCP/IP courante notamment les adresses IP et adresse MAC de chaque machine. netstat r : Cette commande permet dafficher la table de routage de la machine. netstat / ? : affiche les statistiques de protocole et les connexions rseaux TCP/IP courantes. arp s : affiche et modifie les tables de traduction des adresses IP avec les adresses physiques utilises par le protocole de rsolution dadresse ARP. On ajoute une entre statique et affiche la table dARP. Cette requte ARP va permettre dobtenir ladresse physique de la machine. Les commandes prcdentes nous a permis dobtenir les adresses IP et MAC des machines client et serveur. Serveur (destination) Adresse physique : 00 16 17 98 F4 34 Adresse IP : 192. 168. 0. 4 Masque : 255.255.255.0 Client (source) Adresse physique : 00 0a 5e 4a bb 93 Adresse IP : 192.168.0.5 Masque : 255.255.255.0

Nous nous intresserons aux trames changes entre les deux machines client et serveur en utilisant le logiciel wireshark qui permet par filtrer les adresses IP afin de capturer les trames concernant les deux machines et de pouvoir afficher les paquets en temps rel. Lexcution du programme serveur met le serveur en attente de lexcution du programme client qui ouvre la demande de connexion.

Page2/10

Debord Rmi & Diallo Mamadou Billo

Master1 GSATISEE

Cet change peut tre illustr par lexemple ci dessous o la lettre A reprsente lunit de donnes changes entre le serveur et le client.

Client n IP : 192.168.0.5 Seq n0 A ack Ack n1 A

Serveur n IP : 192.168.0.4 ack n A

Nature dune unit de Donnes TCP: La nature est donne par le positionnement de la valeur du champ Drapeau, zone compose des bits U, A, R, P, S, F : U = URG : segment traiter en urgence, le champ pointeur urgent doit tre rempli. A = ACK : segment comportant un n dacquittement significatif. R = RST : reset de connexion, fermeture brusque dune connexion. P = PUSH : transmission de donnes du segment vers les couches suprieures. Cet indicateur permet davoir un echo sur une console par exemple. S = SYN : demande de connexion avec synchronisation du n de squence. F = FIN : demande de fin de connexion

Page3/10

Debord Rmi & Diallo Mamadou Billo

Master1 GSATISEE

Exploitation des rsultats issus de la premire trame : Lexploitation des rsultats issus de la trame suit les annexes 1, 2, 3 du TP permettent danalyser la premire trame et par la suite, nous nous inspirerons de ces annexes pour remplir les champs composant chaque paquet.

Format dune trame ETHERNET :

Adresse destinatio n 6octets

Adresse source 6octets

Types 2octets

IP (3)

TCP (4)

Donnes

CRC 4 octets

64 octets < largeur trame Ethernet < 1518 octets

Les adresses (source et destination) IP exprimes en hexadcimal peuvent tre obtenues en regardant dans le paquet transmis. Serveur (destination) Adresse physique : 00 16 17 98 F4 34 Adresse IP : 192. 168. 0. 4 Adresse en hexa : c0 a8 00 04 Client (source) Adresse physique : 00 0a 5e 4a bb 93 Adresse IP : 192.168.0.5 Adresse en hexa : c0 a8 00 05

Ladresse du rseau est : 102.168.0.0 En analysant cette trame on constate que les paquets ne sont pas fragments ensuite dans la couche 4 niveau IP, on trouve linformation concernant de vie qui est donne ici 128.

Page4/10

Debord Rmi & Diallo Mamadou Billo

Master1 GSATISEE

Dans lannexe1 ci-dessous on trouve les diffrentes informations donnes prcdemment : Longueur du paquet : 62 octets Numro du paquet : 2

Niveau TCP : Couche 4 du modle OSI Source Port 17000 Destination Port 1064 Data Offset 28 Flags( U, A, P, R, S, F) 0x12 Squence 0 Fentre 65535 Longueur Option -Acknowledge 1 Checksum 0x1d82 Longueur du segment----

Urgent Pointer 0 Options Type --

Niveau IP : Couche 3 du modle OSI Version 4 Longueur IP 5 Service - 0 Longueur totale 48 Protocole TCP Identification 0x0226 Checksum de lentte 0x7748

Flags et Position Frag 0x02 Temps de vie 128 Adresse source(H) : c0 a8 00 05

Adresse destination : c0 a8 00 04

Niveau ETHERNET: Couche 2 du modle OSI Adresse Destination : 00 0a 5e 4a bb 93 Adresse machine : 3com-4a bb 93 Adresse source : 00 16 17 98 F4 34 adresse machine : MSI 98 f4 34

Les adresses machines sont composes dun premier champ donn par le constructeur et les autres champs reprennent ladresse physique pour chaque machine. Dans la couche ETHERNET on trouve les adresses affiches dans la fentre de Wireshark comme ci-dessous.

La composition de la trame au niveau TCP/IP peut tre dtaille en utilisant lannexe 4 du document rponse. Pour cela, nous avons slectionn une trame Ethernet analyser afin de remplir les diffrentes couches.

Page5/10

Debord Rmi & Diallo Mamadou Billo

Master1 GSATISEE

Trame utilis [PSH, ACK] : Cette trame est envoye par le serveur et le message analyser est ( Bonjour du serveur ) qui est acquitt par le client par un ACK. Longueur du paquet : 73 octets Numro du paquet : 4

Couches Session5, Prsentation 6, Application7, du modle OSI. Ce champ contient le code (ascii) de la trame analyse ici : Bonjour du serveur Dans la couche 4 niveau TCP du modle OSI : On retrouve les informations comme le numro de port de la source et le numro de port de destination ainsi que les squences . Niveau TCP: Couche 4 du modle OSI Source Port 17000 Destination Port 1064 Squence e d f 2 2 e 3 1 Acknowledge 3 6 1 0 4 b 7 0 Checksum c 1 8 8 Longueur du segment ----

Data Offset 5 0 Flags( U, A, P, R, S, F) 00 01 10 00 Fentre F F F F Adresse Pointer 0 0 0 0 Options Type -- Longueur option --

Dans la couche en dessous du TCP, on trouve la couche 3 du modle OSI niveau IP : Niveau IP: Couche 3 du modle OSI Version 4 Longueur IP 5 Service 0 0 Longueur Totale 0 0 3 b Identification 0 2 2 7

Flags et Position Frag 4 0 0 0 Temps de vie 8 0 Adresse source (H) c0 a8 00 04

Protocole 0 6 Checksum de len- tte 7 7 3 c

adresse destination c0 a8 00 05

La couche 2 du modle OSI correspond au niveau ETHERNET : On y trouve les adresses sources et destinations des machines concernes. Niveau ETHERNET: Couche 2 du modle OSI Adresse destination 00 0a 5 e 4a bb 93 adresse source : 00 16 17 98 f4 34

Trame utilise [PSH, ACK] : Dans la seconde trame, nous nous intressons au message quenvoie le client de la mme manire que pour le serveur. On reprend donc les diffrentes couches du modle OSI pour remplir les diffrents champs correspondant au message envoy ici ( Bonjour du client ). Longueur du paquet : 72 octets Numro du paquet : 5

Page6/10

Debord Rmi & Diallo Mamadou Billo Couches Session 5, Prsentation 6, Application7 du modle OSI Codes (ascii) correspond la trame analyser ici Bonjour du client

Master1 GSATISEE

Dans la couche en dessous on trouve le niveau TCP qui correspond la couche 4 du modle OSI. Niveau TCP: Couche 4 du modle OSI Source Port 1064 Destination Port 17000 Squence 36 10 4b 70 Acknowledge ed f2 2 e 44 Checksum c 1 8 8 Longueur du segment ----

Data Offset 5 0 Flags( U, A, P, R, S, F) 00 01 10 00 Fentre F F e c Adresse Pointer 0 0 0 0 Options Type -- Longueur option --

Dans la couche 3 du modle OSI on trouve le niveau IP : Niveau IP: Couche 3 du modle OSI Version 4 Longueur IP 5 Service 0 0 Longueur Totale 0 0 3 a Identification 0 1 d e

Flags et Position Frag 4 0 0 0 Temps de vie 8 0 Adresse source (H) c0 a8 00 05

Protocole 0 6 Checksum de len- tte 7 7 86

adresse destination c0 a8 00 04

Dans la couche 2 du modle OSI, on trouve le niveau ETHERNET : Cette couche contient juste les adresses source et destination des deux machines. Niveau ETHERNET: Couche 2 du modle OSI Adresse destination 00 16 17 98 f4 34 adresse source : 00 0a 5 e 4a bb 93

Suivi dun protocole TCP : Ouverture dune connexion


Les rsultats obtenus partir des paquets 1, 2, 3, et 4 permettent de dcrire au niveau TCP le mcanisme dacquittement et de numrotation des squences. Ces diffrents changes peuvent tre confins dans le tableau fourni lannexe 5.

Page7/10

Debord Rmi & Diallo Mamadou Billo

Master1 GSATISEE

Document rponse pour le processus dacquittement et de numrotation des squences : Client IP: 192. 168. 0. 5 Serveur IP: 192. 168.0.4

U N seq =0 0

A 0

P 0

R 0

S 1

F 0 N ack

Serveur accepte la connexion du client

U Client acquitte la demande du serveur N ack =1 0

A 1

P 0

R 0

S 1

F 0 N seq =0

U N seq =1 0

A 1

R 0

S 0

F 0 N ack= 1 Acquitte et autorise la connexion

U Client acquitte et envoie le message N ack= 1 0

A 1

P 1

R 0

S 0

F 0 Nseq= 1

U N seq =1 0

A 1

P 1

R 0

S 0

F 0 N ack=20 Serveur acquitte et renvoie un message

U Client acquitte et demande la fermeture de la connexion N ack=2 0 0

A 1

P 0

R 0

S 0

F 1 N seq=19

U N seq =20 0

A 1

P 0

R 0

S 0

F 0 N ack =20

Client acquitte et ferme la connexion

U N ack =20 0

A 1

P 0

R 0

S 0

F 1 N seq=20

Serveur acquitte et renvoie une demande de fermeture de la connexion

U N seq =20 0

A 1

P 0

R 0

S 0

F 0 N ack =21 Serveur acquitte et ferme sa connexion

Page8/10

Debord Rmi & Diallo Mamadou Billo

Master1 GSATISEE

En analysant cette table dacquittement et de numrotation des squences permet de montrer le processus dchange des donnes entre le serveur et le client. On peut constater qu partir de lautorisation du serveur (squence 1 et ack 1), le client commence lenvoie des donnes qui se poursuit jusqu la squence 19. Cette squence indique en mme temps la fin du message et demande la fermeture de la connexion. Le serveur acquitte la demande de fermeture et renvoie une demande de fermeture son tour, le client acquitte la demande et ferme sa connexion et en dernier le serveur acquitte et ferme sa connexion son tour. Analyse du message transmis laide de la table ascii : Le message trait ici est Bonjour du serveur . En exploitant la table obtenue sur le logiciel danalyse des trames on obtient le code du message en hexadcimal comme ci-dessous :

A laide de la table ascii, nous avons retrouv le message transmis en effectuant une correspondance entre chaque lettre du message son code quivalent en hexadcimal.

62 b

6fo

6en

6aj

6fo

75u

72r

20sp (spice)

64d

75u

20sp (spice)

73s

65e

72r

76v

65e

75u

72r

00NULL

Grce la table ci-dessus, nous avons pu reconstituer le message envoy par le serveur.

Page9/10

Debord Rmi & Diallo Mamadou Billo Conclusion :

Master1 GSATISEE

A travers cette sance de travaux pratiques, nous avons pu comprendre les mcanismes dacquittement et de numrotation des squences dadresses de transport pour raliser une connexion au niveau de la couche transport entre les machines client et serveur. Cette manipulation nous a permis de comprendre aussi le phnomne dencapsulation sur le modle OSI. Chaque couche fournit des services la couche au dessus et utilise les services de la couche en dessous. Cest ainsi que la touche TCP utilise la couche IP en dessous.

Page10/10