Outils pour utilisateurs

Outils du site


bloc3s1:tcp

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
bloc3s1:tcp [2022/10/03 20:59] – [MSS] techer.charles_educ-valadon-limoges.frbloc3s1:tcp [2022/10/03 22:20] (Version actuelle) – [Interruption de session] techer.charles_educ-valadon-limoges.fr
Ligne 130: Ligne 130:
 Etablissement en **trois étapes** : le **3-Way Handshake**. Etablissement en **trois étapes** : le **3-Way Handshake**.
 {{ :bloc3s1:entetetcp_4.png |}} {{ :bloc3s1:entetetcp_4.png |}}
-{{ :bloc3s1:entetetcp_6.png |}} + 
-  le client **envoie** un paquet (segment **SYN** ou synchronize) avec un numéro séquentiel aléatoire individuel.  +  * Etape 1 : Le client demande l'établissement d'une session de communication avec le serveur en  **envoyant** un paquet (segment **SYN** ou synchronize) avec un numéro séquentiel aléatoire individuel.  
-  le serveur reçoit le segment et **approuve** la connexion en renvoyant un paquet **SYN-ACK** (acknowledgement = « confirmation »), ainsi que le numéro séquentiel du client augmenté de 1. Il transmet également au client son propre numéro séquentiel. +{{ :bloc3s1:9.2.2_01.png |}} 
-  le client **confirme** la réception du segment SYN-ACK en envoyant son propre paquet **ACK** qui contient le numéro **séquentiel du serveur augmenté de 1**. Simultanément, il peut transmettre ses premières données au serveur.+  * Etape 2 : le serveur reçoit le segment et accuse réception de la session de communication en **approuvant** la connexion grâce à l'envoi d'une réponse **SYN-ACK** (acknowledgement = « confirmation »), ainsi que le numéro séquentiel du client augmenté de 1. Il transmet également au client son propre numéro séquentiel. 
 +{{ :bloc3s1:9.2.2_02.png |}} 
 +  * Etape 3 : le client **confirme** la réception du segment SYN-ACK en envoyant son propre paquet **ACK** qui contient le numéro **séquentiel du serveur augmenté de 1**. Simultanément, il peut transmettre ses premières données au serveur. 
 +{{ :bloc3s1:9.2.2_03.png |}} 
 +==== Interruption de session ==== 
 +Pour mettre fin à une connexion, l'indicateur de contrôle FIN (Finish) doit être défini dans l'en-tête de segment. 
 + 
 +Pour mettre fin à chaque session TCP unidirectionnelle, on utilise un échange en deux étapes constitué d'un segment FIN et d'un segment ACK. Pour mettre fin à une seule conversation TCP, quatre échanges sont nécessaires pour mettre fin aux deux sessions. La terminaison peut être initiée par le client ou le serveur. 
 +Dans l'exemple, les termes client et serveur sont utilisés comme référence pour plus de simplicité, mais deux hôtes quelconques qui ont une session ouverte peuvent lancer le processus de terminaison. 
 +  * Étape 1. FIN : quand le client n'a plus de données à envoyer dans le flux, il envoie un segment dont l'indicateur FIN est défini. 
 +{{ :bloc3s1:9.2.3_01.png |}} 
 +  * Étape 2. ACK : Le serveur envoie un segment ACK pour informer de la bonne réception du segment FIN afin de fermer la session du client au serveur. 
 +{{ :bloc3s1:9.2.3_02.png |}} 
 +  * Étape 3. FIN : Le serveur envoie un segment FIN au client pour mettre fin à la session du serveur au client. 
 +{{ :bloc3s1:9.2.3_03.png |}} 
 +  * Étape 4. ACK : Le client répond à l'aide d'un segment ACK pour accuser réception du segment FIN envoyé par le serveur. 
 +{{ :bloc3s1:9.2.3_04.png |}} 
 +Quand la réception de tous les segments a été confirmée, la session est fermée. 
 + 
 +==== Le contrôle de la connexion TCP ==== 
 +Les hôtes maintiennent l'état, suivent chaque segment de données au cours d'une session et échangent des informations sur les données reçues en utilisant les informations de l'en-tête TCP. 
 + 
 +TCP est un protocole full-duplex et chaque connexion représente deux sessions de communication à sens unique.  
 + 
 +Les six bits de contrôle du champ des bits de contrôle dans l'en-tête TCP indiquent la progression et l'état de la connexion. Ce sont également des indicateurs (bit qui est actif ou inactif). 
 +Les six indicateurs de bits de contrôle sont les suivants: 
 +  * **URG** - Champ de pointeur urgent significatif (Urgent pointer field significant) 
 +  * **ACK** - Indicateur d'accusé de réception utilisé dans l'établissement de la connexion et la fin de la session 
 +  * **PSH** - Fonction push (Push function) 
 +  * **RST** - Réinitialisation de la connexion en cas d'erreur ou de dépassement de délai 
 +  * **SYN** - Synchroniser les numéros de séquence utilisés dans l'établissement de connexion 
 +  * **FIN** - Plus de données de l'expéditeur et utilisées dans la fin de session 
 + 
  
 ==== Attaques possibles sur le séquencement ==== ==== Attaques possibles sur le séquencement ====
   * Prédiction du système d’exploitation pour des OS qui utilisent toujours la même valeur initiale lors de l'établissement d'une session   * Prédiction du système d’exploitation pour des OS qui utilisent toujours la même valeur initiale lors de l'établissement d'une session
   * Vol de session TCP (session hijacking) : en connaissant de numéro de séquence initial, l'attaquant peut prédire les numéros de séquence des prochaines connexions, information utile pour forger des paquets destinés à voler  des données, clôturer une connexion ou placer des données illégitimes.   * Vol de session TCP (session hijacking) : en connaissant de numéro de séquence initial, l'attaquant peut prédire les numéros de séquence des prochaines connexions, information utile pour forger des paquets destinés à voler  des données, clôturer une connexion ou placer des données illégitimes.
bloc3s1/tcp.1664823572.txt.gz · Dernière modification : 2022/10/03 20:59 de techer.charles_educ-valadon-limoges.fr