.: TP : TCP/UDP :. Séquence 1 Le protocole TCP...2. Séquence 2 Le protocole UDP...3

Documents pareils
Le protocole TCP. Services de TCP

Introduction. Adresses

Rappels réseaux TCP/IP

UDP/TCP - Protocoles transport

Couche Transport TCP et UDP

Devoir Surveillé de Sécurité des Réseaux

18 TCP Les protocoles de domaines d applications

Présentation du modèle OSI(Open Systems Interconnection)

La collecte d informations

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base...

Outils d'analyse de la sécurité des réseaux. HADJALI Anis VESA Vlad

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir.

II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection)

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

Introduction aux Technologies de l Internet

Architecture TCP/IP. Protocole d application. client x. serveur y. Protocole TCP TCP. TCP routeur. Protocole IP IP. Protocole IP IP.

DHCP et NAT. Cyril Rabat Master 2 ASR - Info Architecture des réseaux d entreprise

Introduction...3. Objectif...3. Manipulations...3. La Sauvegarde...4. Les différents types...4. Planification...4. Les outils...5

L3 informatique Réseaux : Configuration d une interface réseau

Sécuriser son réseau. Sécuriser son réseau Philippe Weill (IPSL/LATMOS) Frédéric Bongat (SSI/GOUV/FR)

Introduction à l'analyse réseau Philippe Latu philippe.latu(at)linux-france.org

Services Réseaux - Couche Application. TODARO Cédric

Christian CALECA TCP/IP

SSL. Secure Socket Layer. R. Kobylanski janvier version 1.1 FC INPG. Protocole SSL Application avec stunnel

Les systèmes pare-feu (firewall)

Culture informatique. Cours n 9 : Les réseaux informatiques (suite)

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License,

Algorithmique des Systèmes Répartis Protocoles de Communications

Cours de sécurité. Pare-feux ( Firewalls ) Gérard Florin -CNAM - - Laboratoire CEDRIC -

Couche application. La couche application est la plus élevée du modèle de référence.

Divers éléments. Protocoles d'applications. Un agent Utilisateur. MUA - Agents Utilisateurs de Courriel. Simple Mail Transfer Protocol

Technologies de l Internet

Programmation Réseau. ! UFR Informatique ! Jean-Baptiste.Yunes@univ-paris-diderot.fr

Présentation Internet

Les Réseaux. les protocoles TCP/IP

Systèmes et Réseaux (ASR 2) - Notes de cours Cours 14

Réseaux. Moyens de sécurisation. Plan. Evolutions topologiques des réseaux locaux

Réseaux et protocoles Damien Nouvel

Nmap (Network Mapper) Outil d exploration réseau et scanneur de ports/sécurité

Réseaux Internet & Services

Firewall. Souvent les routeurs incluent une fonction firewall qui permet une première sécurité pour le réseau.

SSH, le shell sécurisé

Administration UNIX. Le réseau

DIGITAL NETWORK. Le Idle Host Scan

Capture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark. Etape 1 : Lancement des machines virtuelles VMWARE et de Wireshark

Sécurité des réseaux Les attaques

L3 informatique TP n o 2 : Les applications réseau

FTP-SSH-RSYNC-SCREEN au plus simple

Figure 1a. Réseau intranet avec pare feu et NAT.

Oléane VPN : Les nouvelles fonctions de gestion de réseaux. Orange Business Services

Ch2 La modélisation théorique du réseau : OSI Dernière maj : jeudi 12 juillet 2007

TCP/IP. [ Les protocoles ] [ L'adresse IP ] [ Les sockets ] [ Mode connecté ] [ Mode non connecté ]

CAS IT-Interceptor. Formation «Certificate of Advanced Studies»

Réseaux IUP2 / 2005 IPv6

Packet Tracer : configuration des listes de contrôle d'accès étendues, scénario 1

1. Fonctionnement de l Internet 2. Protocoles applicatifs 3. Programmation réseau

Le protocole ARP (Address Resolution Protocol) Résolution d adresses et autoconfiguration. Les protocoles ARP, RARP, TFTP, BOOTP, DHCP

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

L outil Nmap-Stateful. Olivier Courtay Thomson R&D / IRISA

Filtrage IP MacOS X, Windows NT/2000/XP et Unix

Partie 2 (Service de téléphonie simple) :

Tunnels. Plan. Pourquoi? Comment? Qu est-ce? Quelles solutions? Tunnels applicatifs ESIL INFO 2005/2006. Sophie Nicoud

Intérêt du NAT (Network Address Translation) Administration Réseau Niveau routage. Exemple d Intranet. Principe NAT

La couche transport. La couche Transport. La couche Transport et Internet. Cours Réseau Esial 2ème. 5. La couche transport TCP/UDP et les applications

Module 8. Protection des postes de travail Windows 7

Formation Iptables : Correction TP

Protocoles réseaux. Abréviation de Binary Digit. C'est la plus petite unité d'information (0, 1).

Cisco Certified Network Associate

Outils de l Internet

2. DIFFÉRENTS TYPES DE RÉSEAUX

Annexe C : Numéros de port couramment utilisés

Mr. B. Benaissa. Centre universitaire Nâama LOGO

TP Linux : Firewall. Conditions de réalisation : travail en binôme. Fonctionnement du parefeu Netfilter. I Qu est ce qu'un firewall?

Chapitre : Les Protocoles

Avant-propos. VERSION Compilation du document à l aide de PDFLATEX Philippe Charlier. 1 Version actuelle : SPIP http ://

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

FILTRAGE de PAQUETS NetFilter

RESEAUX TCP/IP: NOTIONS AVANCEES. Preparé par Alberto EscuderoPascual

Année Universitaire session 1 d automne Parcours : CSB5 Licence 3 STS Informatique

Comprendre le Wi Fi. Patrick VINCENT

LES RESEAUX INFORMATIQUES

Les possibilités de paramétrage réseau des logiciels de virtualisation sont les suivantes quant à la connexion réseau :

Ethernet Industriel Réseaux Ethway Coupleur Ethernet sur Automates Programmables. Plan. Contexte

Les Réseaux sans fils : IEEE F. Nolot

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER

Informatique Générale Les réseaux

QoS Réseaux haut débit et Qualité de service

Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision

Fonctionnement d Internet

Glossaire. ( themanualpage.org) soumises à la licence GNU FDL.

MAUREY SIMON PICARD FABIEN LP SARI

Liste des ports. 1 sur 6

Internet Protocol. «La couche IP du réseau Internet»

Plan. École Supérieure d Économie Électronique. Plan. Chap 9: Composants et systèmes de sécurité. Rhouma Rhouma. 21 Juillet 2014

Systèmes de fichiers réseau

TP Sur SSH. I. Introduction à SSH. I.1. Putty

1.Introduction - Modèle en couches - OSI TCP/IP

Installation et configuration d un serveur DHCP (Windows server 2008 R2)

Project 1 Experimenting with Simple Network Management Tools. ping, traceout, and Wireshark (formerly Ethereal)

Transcription:

.: TP : TCP/UDP :. Copyright 2008 2010 tv <tvaira@free.fr> Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front Cover Texts, and with no Back Cover. You can obtain a copy of the GNU General Public License : write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 1307 USA Permission est accordée de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License), version 1.1 ou toute version ultérieure publiée par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Première de Couverture, et sans Texte de Quatrième de Couverture. Vous pouvez obtenir une copie de la GNU General Public License : écrire à la Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 1307 USA Table des matières Séquence 1 Le protocole TCP...2 Séquence 2 Le protocole UDP...3 Annexe: les modèles de référence...4 Annexe: la couche Transport...5 Annexe: le protocole TCP...6 Annexe: échange client/serveur TCP...7 Annexe: le protocole UDP...10 Documentation en ligne protocoles internet (http, smtp, pop, imap, ftp, mime, nntp, irc...) : http://www.iprelax.fr/ protocoles internet (ip, arp, tcp, udp,...) : www.frameip.com/ Travaux Pratiques 1 / 10 2011 tv

Séquence 1 Le protocole TCP.: TP : TCP/UDP :. 1. Exécuter netcat en mode serveur TCP sur le port 5000. nc -l -p 5000 2. Utiliser telnet ou netcat comme client TCP. Remarque : telnet ou netcat sont des programmes capables d'ouvrir une socket TCP sur un port et de dialoguer en mode texte (ASCII). telnet localhost 5000 ou nc -vv localhost 5000 3. Exécuter un serveur TCP avec netcat sur un des ports compris entre 5000 et 5005 sur votre machine et détecter les ports ouverts acceptant des connexions TCP dans la plage 5000 5005, puis dans la plage 7 13, en utilisant l'outil nmap ou netcat. nmap -st -p 5000-5005 localhost ou netcat -vv -z localhost 7-13 4. Exécuter simultanément sur votre machine deux programmes serveur sur le même port. Que se passe t il? 5. Réaliser une capture avec wireshark des échanges effectués par les programmes client/serveur. Compléter le diagramme des échanges TCP ci dessous en précisant le rôle de chaque échange. Indiquer les données échangées par les deux programmes client/serveur. Client Num Port : Serveur Num Port : Remarque : indiquer sur chaque flèche les flags (SYN, ACK, ) ainsi que que les numéros de séquence (seq et ack). Bilan 6. Comment le serveur connaît il le port utilisé par le client? Comment le client connaît il le port utilisé par le serveur? Travaux Pratiques 2 / 10 2011 tv

Séquence 2 Le protocole UDP.: TP : TCP/UDP :. 1. Exécuter netcat en mode serveur UDP sur le port 5000. nc -l -p 5000 -u 2. Utiliser netcat comme client UDP. nc -vv -u localhost 5000 3. Réaliser une capture des échanges entre le serveur et le client et décoder le niveau UDP (utiliser l'annexe sur le protocole UDP). Compléter le diagramme des échanges ci dessous en précisant le rôle de chaque échange. Indiquer les données échangées par les deux programmes client/serveur. Client Num Port : Serveur Num Port : 4. Votre serveur UDP est il détecté par nmap? 5. Est il possible d'exécuter deux serveurs UDP sur le même port? Tester. Est il possible d'exécuter un serveur TCP et un serveur UDP sur le même port? Tester. Bilan 6. Comment le serveur connaît il le port utilisé par le client? Comment le client connaît il le port utilisé par le serveur? Travaux Pratiques 3 / 10 2011 tv

Annexe: les modèles de référence La couche Application : cette couche est l'interface entre l'application utilisateur et le réseau. Elle va apporter à l'utilisateur les services de base offerts par le réseau, comme par exemple le transfert de fichier, la messagerie... Elle contient donc tous les protocoles de haut niveau, comme par exemple Telnet, TFTP (Trivial File Transfer Protocol), SMTP (Simple Mail Transfer Protocol), HTTP (HyperText Transfer Protocol)... Le point important pour cette couche est le choix du protocole de transport à utiliser. Par exemple, TFTP (surtout utilisé sur réseaux locaux) utilisera UDP, car on part du principe que les liaisons physiques sont suffisamment fiables et les temps de transmission suffisamment courts pour qu'il n'y ait pas d'inversion de paquets à l'arrivée. Ce choix rend TFTP plus rapide que le protocole FTP qui utilise TCP. A l'inverse, SMTP utilise TCP, car pour la remise du courrier électronique, on veut que tous les messages parviennent intégralement et sans erreurs. La couche Session du modèle OSI établit une communication entre émetteur et récepteur en assurant l'ouverture et la fermeture des sessions (des communications) entre usagers, définit les règles d'organisation et de synchronisation du dialogue entre les abonnés. Exemple TCP/IP : RPC (Remote Procedure Call). La couche Présentation met en forme les informations échangées pour les rendre compatibles avec l'application destinatrice, dans le cas de dialogue entre systèmes hétérogènes. Elle peut comporter des fonctions de traduction, de compression, d'encryptage,... etc. Exemple TCP/IP : XDR (external Data Representation). Remarque : même s'il semble que les couches Session et Présentation du modèle OSI semblent inutiles dans le modèle TCP/IP, des protocoles équivalents existent et sont empilés dans la couche Application. Travaux Pratiques 4 / 10 2011 tv

Annexe: la couche Transport.: TP : TCP/UDP :. Le protocole IP permet de mettre en correspondance deux machines grâce à leurs adresses. Ce mécanisme n est pas complet, puisque la communication s effectue au niveau des processus (programmes) qui s'exécutent sur ces machines. Il faudra donc identifier quels sont les processus des machines qui veulent communiquer. C est le rôle de la couche Transport d assurer la transmission de bout en bout. TCP/IP propose deux protocoles pour cette couche : UDP (User Datagram Protocol) et TCP (Transmission Control Protocol). UDP et TCP offrent un système de numéro de port pour permettre à deux processus distants d échanger des données. Actuellement, l interface la plus utilisée sous TCP/IP est l interface socket. Les sockets sont apparues au début des années 80 à l université de Berkeley dans le noyau de leur système d exploitation BSD Unix. Une socket est un point de communication par lequel un processus peut émettre et recevoir des informations. Ce point de communication devra être relié à une adresse IP et un numéro de port. TCP fournit un service de transfert : fiable (détection et correction d erreurs) avec élimination des paquets dupliqués; en mode connecté avec contrôle de flux et segmentation et séquencement des paquets ; UDP fournit un service de transfert: non fiable (détection mais pas de correction des erreurs) avec risque de duplication de paquets ; en mode non connecté sans segmentation des données et sans séquencement des paquets ; En résumé, on peut dire qu'udp fournit donc un service plus performant mais moins sûr que TCP. Remarque: le trafic UDP est prioritaire sur le trafic TCP. En effet, le protocole TCP possède un mécanisme de contrôle de congestion, dans le cas où l'acquittement d'un paquet arrive après un temps trop long. Ce mécanisme adapte la fréquence d'émission des paquets TCP. Le protocole UDP ne possède pas ce mécanisme et occupera toute la bande passante en cas de fort trafic n'en laissant qu'un infime partie à TCP. Travaux Pratiques 5 / 10 2011 tv

Annexe: le protocole TCP 0 7 8 15 16 23 24 31 PORT SOURCE PORT DESTINATION NUMERO DE SEQUENCE (SEQ) NUMERO D'ACCUSE DE RECEPTION (ACK) offset Réservé U R G A C K P S H R S T S Y N F I N FENETRE (WINDOW) Checksum Pointeur de données urgentes Options Bourrage DONNEES Description Ports Source et Destination : correspond au port relatif à l'application (et à son protocole de couche application) en cours sur la machine source et destination, codés sur 16 bits (voir /etc/services) SEQ (SeQuence Number) (32 bits) : compte les octets du flux de transmission de manière à identifier la position du premier octet de données d'un segment dans le flot des données initiales ACK (ACKnowledgment number) (32 bits) : contient le n de séquence du prochain octet attendu Offset (ou longueur de l'en tête) (4 bits) : le déplacement en mots de 32 bits (4 octets) du début des données de l'application. Flags : URG (Urgent Pointer) : contient des données urgentes ACK (Acknowledge Field) : acquittement PSH (Push Flag) : passer immédiatement les données à la couche application RST (Reset Flag) : forcer la clôture d'une connexion après une erreur irrécupérable. SYN (Synchronize Flag) : synchroniser le démarrage d'une connexion FIN : pour terminer une connexion Window (Fenêtre) (16 bits) : annonce le nombre d'octet que le récepteur peut accepter (cf. contrôle de flux) Checksum (16 bits) : : contient une somme de contrôle de l'en tête (cf. IP) Urgent Pointer (Pointeur de données urgentes) (16 bits) : pointe à la fin d'un champ de données considéré comme urgent Options (longueur variable) : par exemple le MSS (Maximum Segment Size) désignant la taille maximum du segment à envoyer + Padding : habituellement rempli de 0 de manière à aligner le début des données sur un multiple de 32 bits. Travaux Pratiques 6 / 10 2011 tv

Annexe: échange client/serveur TCP La fiabilité de la transmission est assurée par un mécanisme baptisé Positive Acknowledgement with Re transmission (PAR). PAR envoie données sur données jusqu à ce qu il soit averti de la bonne arrivée des données. Ouverture d une connexion On appellera client la station qui demande l ouverture de la connexion et serveur la station qui répond à cette demande. Une ouverture active de connexion TCP est établie en trois temps (Three Way Handshake) : 1. Une machine A initialise la connexion en envoyant un segment incluant un SYN (Synchronize sequence numbers) et un numéro de séquence x. 2. La machine B lui répond par un segment avec les drapeaux SYN et ACK (Acknowledgement) avec un numéro d'acquittement x+1. Son numéro de séquence vaut y. 3. La machine A envoie alors les données en même temps que le flag ACK et le numéro d'acquittement y+1. Transfert de données Le protocole TCP comptabilise les octets transmis. Le champ seq indique la place du premier octet de données du paquet et ack le prochain octet attendu par l émetteur du paquet. 1. Une machine A envoie 30 octets et utilise le numéro de séquence x+1, qui correspond au numéro du paquet. Cette valeur permet de situer à quel endroit du flux de données le paquet doit se situer par rapport aux autres paquets. Elle indique aussi le numéro d'acquittement y+1, qui signale le prochain numéro de paquet attendu. 2. La machine B envoie 10 octets et acquitte les 30 octets reçus... etc... Contrôle de flux Le champ fenêtre (window) indique la largeur de la fenêtre de transmission ou le crédit accepté (volume de données) par le récepteur avant l'envoi d'un accusé de reception. Ce mécanisme porte aussi le nom de fenêtre coulissante (Sliding Windows). Chaque ordinateur comporte une fenêtre d'émission et une fenêtre de réception qu'il utilise pour buffériser les données en continu, sans devoir attendre un accusé de réception pour chaque paquet. Cela permet au récepteur de recevoir les paquets dans le désordre et de profiter des délais d'attente pour réorganiser les paquets. La fenêtre émettrice contrôle les données émises, si elle ne reçoit pas d'accusé de réception au bout d'un certain temps, elle retransmet le paquet. Travaux Pratiques 7 / 10 2011 tv

Fermeture d une connexion La fermeture normale d une connexion se fait quand le récepteur reçoit un message dont le bit FIN est positionné à 1. La connexion TCP est libérée en trois temps modifié. Il est possible de forcer une déconnexion en utilisant le bit RST (fermeture brutale de connexion) Modèle Client/Serveur Une machine proposant un service est dite serveur. Une machine utilisant ce service est dite cliente. Principe de base : Le serveur est toujours à l'écoute du service qu'il propose et le client fait une demande de service quand il en a besoin. Point de rencontre des deux machines > il regroupe les informations nécessaires à la reconnaissance mutuelle des deux machines (en fait des deux processus qui dialoguent) : protocole utilisé (TCP, UDP,...) adresse IP source et destination numéro de port pour la reconnaissance du processus sur les machines source et destination Travaux Pratiques 8 / 10 2011 tv

Client Serveur Demande d ouverture «Active open» Open ID nom local de la connexion Ouverture réussie «Open success» Envoi de 10 octets Envoi de 10 octets Indication de 22 octets, etc Demande de déconnexion SYN 55 ACK 56 SYN 202 ACK 203 PSH ACK seq : 56 acq : 203 ACK seq : 203 acq : 66 ACK seq : 66 acq : 223 PSH ACK seq : 223 acq : 76 FIN ACK accepte toutes les connexions «unspecified passive open» Open Id nom local de la connexion ACK 56 : indique le n de SEQ attendu du prochain segment SYN 202 : synchronisation des membres et indique la valeur initiale de SEQ Ouverture réussie «Open success» Envoi de 20 octets Indication de 10 octets Envoi de 2 octets Indication de 10 octets ACK Confirmation de déconnexion FIN ACK ACK Indication de déconnexion Travaux Pratiques 9 / 10 2011 tv

Annexe: le protocole UDP UDP permet à une application d envoyer des messages à une autre application avec un minimum de fonctionnalités (pas de garantie d arrivée, ni de contrôle de séquencement). UDP n accepte pas de datagramme de taille supérieure à 8KO. UDP permet simplement d utiliser les numéros de port. Format d un message UDP : 0 7 15 23 31 port source port destinataire longueur checksum Données Travaux Pratiques 10 / 10 2011 tv