Cours de Réseau et communication Unix n 8



Documents pareils
(structure des entêtes)

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

Protocoles Applicatifs

Gilles.Roussel univ-mlv.fr HTTP/1.1 RFC 2068

HTTP HTTP. IUT1 dpt SRC L Isle d Abeau Jean-françois Berdjugin. Introduction et architecture Messages Authentification Conclusion

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

FTP & SMTP. File Transfert Protocol. Deux applications fondamentales pour le réseau Internet. Un protocole d échange de fichier «au dessus» de TCP :

Serveurs de noms Protocoles HTTP et FTP

Le protocole HTTP. 10 minutes pour comprendre. HTTP/0.9 - Lacunes et limitations HTTP/1.0 HTTP/1.1

Introduction. Adresses

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

RFC 7230 : Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing

Introduction à HTTP. Chapitre HTTP 0.9

FTP & SMTP. Deux applications fondamentales pour le réseau Internet.

Le protocole TCP. Services de TCP

HTTP 1.1. HyperText Transfer Protocol TCP IP ...

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

Rappels réseaux TCP/IP

Développement Web. Les protocoles

Chapitre : Les Protocoles

Outils de l Internet

UDP/TCP - Protocoles transport

Réseaux. 1 Généralités. E. Jeandel

SSH, le shell sécurisé

1 Introduction Propos du document Introduction De HTTP 1.0 à HTTP

Protection des protocoles

Types MIME (2) Typage des ressources Internet. Les URI. Syntaxe dans les URI. Possibilité de spécifier un paramètre du sous-type

Plan. Le système de transfert de fichiers d'internet. Introduction aux systèmes de transfert de fichiers Le protocole FTP.

Application Web et J2EE

Quelques protocoles et outils réseaux

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

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

Sécurité des réseaux Firewalls

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

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

API ONE-TIME PASSWORD

Administration réseau Firewall

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

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

Réseaux et protocoles Damien Nouvel

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

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

Dans l'épisode précédent

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

Proxies,, Caches & CDNs

«Cachez-moi cette page!»

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

Applications en réseau

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia

Sécurité des réseaux Les attaques

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

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

18 TCP Les protocoles de domaines d applications

Le scan de vulnérabilité

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

Couche application 1

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

Couche Transport TCP et UDP

SERVEUR HTTP Administration d apache

pare - feu généralités et iptables

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

Module: OSI, INTERNET ET PROGRAMMATION WEB TP 2 - Services TCP/IP-APACHE et xhtml. 1. Services TCP/IP : Protocoles d'applications standards

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

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

La couche Applicatiopn

La collecte d informations

FILTRAGE de PAQUETS NetFilter

Logiciel de connexion sécurisée. M2Me_Secure. NOTICE D'UTILISATION Document référence :

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

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

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

Chapitre I. La couche réseau. 1. Couche réseau 1. Historique de l Internet

Haka : un langage orienté réseaux et sécurité

R eseaux TP RES /2015

Plan. Programmation Internet Cours 3. Organismes de standardisation

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

Le service FTP. M.BOUABID, Page 1 sur 5

Les serveurs. UE 103b. Guillaume Burel.

VOIP. QoS SIP TOPOLOGIE DU RÉSEAU

Les firewalls libres : netfilter, IP Filter et Packet Filter

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

L identité numérique. Risques, protection

Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A. TP réseau firewall

Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley, July ENPC.

WebSSO, synchronisation et contrôle des accès via LDAP

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Configuration du driver SIP dans ALERT. V2

L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

Couche Session M1 Info Z. Mammeri - UPS 1. Concept de session

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

La VOIP :Les protocoles H.323 et SIP

Internet - Outils. Nicolas Delestre. À partir des cours Outils réseaux de Paul Tavernier et Nicolas Prunier

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

Introduction aux Technologies de l Internet

Documentation Honolulu 14 (1)

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

Développement des Systèmes d Information

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

Plan Général Prévisionnel (1/2) Internet et Outils L1/IO François Armand. Plan Général Prévisionnel (2/2) Unix, Réseau: Plan

Transcription:

Cours de Réseau et communication Unix n 8 Edouard THIEL Faculté des Sciences Université d Aix-Marseille (AMU) Septembre 2014 Les transparents de ce cours sont téléchargeables ici : http://pageperso.lif.univ-mrs.fr/~edouard.thiel/ens/rezo/ Lien court : http://j.mp/rezocom Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 1/34

Plan du cours n 8 1. Protocole TCP 2. Protocole SMTP 3. Protocole POP3 4. Protocole HTTP Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 2/34

Protocoles Protocole = format de message ou syntaxe + règles d échange Exemples : IP, ICMP, TCP, UDP, HTTP, SMTP, POP3 } {{ } } {{ } binaire ascii 7 bits Protocoles binaires : (couches 3, 4) très compact non lisible humainement nécessite un programme pour dialoguer Protocoles texte : (couche 7) moins compact, surcoût négligeable lisible et traçable on peut dialoguer directement au clavier avec netcat Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 3/34

1 - Protocole TCP Protocole binaire, couche 4, RFC 793 (1981) Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 4/34

Protocole fiable TCP = protocole fiable, au dessus de IP (non fiable). Permet de multiplexer les échanges grâce au concept de port initialiser, maintenir et fermer une connexion remettre en ordre les segments TCP acquitter et réémettre les segments TCP adapter le flot de données à la charge du réseau Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 5/34

Segment TCP Entête Données Entête binaire : entre 20 et 60 octets Port source, destination (2*16 bits) Numéro d ordre (32 bits) Numéro accusé de réception (32 bits) Taille de l entête en multiples de 32 bits (4 bits) Drapeaux (bits) : ACK, RST, SYN, FIN,... (12 bits) Fenêtre (16 bits) Somme de contrôle sur l entête (16 bits) Options, etc Bourrage (alignement 32 bits) Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 6/34

Drapeaux Drapeaux = 9 flags sur 1 bit + 3 bits réservés ACK : accusé de réception (acknowledgement) RST : rupture anormale de la connexion (reset) SYN : établissement de connexion (synchronisation) FIN : demande la fin de la connexion ECN : signale la présence de congestion... + bits réservés pour un usage futur Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 7/34

Diagramme temporel Émetteur Segment Récepteur Segment t Segment Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 8/34

Acquittement Émetteur Segment X Récepteur ACK X+1 Segment X+1 ACK X+2 Émission d un segment avec un numéro d ordre X Réponse avec drapeau ACK + numéro accusé réception (NAR) Signifie : tous les segments < NAR ont été reçus. Remarque : NAR = numéro d ordre du prochain segment attendu Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 9/34

Réémission Émetteur Segment X Récepteur Segment X ACK X+1 Les segments émis sont mémorisés jusqu à acquittement. Au bout d un timeout, un segment non acquitté est réémis. Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 10/34

Doublon Émetteur Segment X Récepteur Segment X ACK X+1 Doublon, éliminé Si le segment est réémis (par la source ou un nœud intermédiaire), cela peut créer un doublon. Doublons détectés au niveau récepteur sur numéro d ordre. Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 11/34

Connexion Établissement d une connexion : suppose une machine en demande de connexion : le client (état CLOSED SYN_SENT) une machine en attente de connexion : le serveur (état LISTEN) Chacune tire au sort un numéro d ordre de départ : X pour le client, Y pour le serveur. Connexion = Se passer les numéros d ordre (synchronisation) ; passer à l état ESTABLISHED Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 12/34

Connexion : poignée de main en 3 temps CLOSED SYN_SENT ESTABLISHED Segment X SYN Segment Y ACK X +1 SYN Segment X+1 ACK Y+1 LISTEN SYN_RECEIVED ESTABLISHED On utilise le flag SYN Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 13/34

Déconnexion Plus complexe : ne doit pas être confondu avec une panne Principe : je vais fermer / je sais que tu vas fermer je suis fermé / moi aussi je suis complètement fermé... Les numéros d ordre ne changent pas pour éviter des problèmes subtils. Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 14/34

Déconnexion en 4 temps ESTABLISHED close() FIN_WAIT1 FIN_WAIT2 TIME_WAIT Délai de sécurité CLOSED Segment X FIN SegmentY ACK X+1 SegmentY FIN Segment X ACK Y+1 ESTABLISHED CLOSE_WAIT Détection... close() LAST_ACK CLOSED On utilise le flag FIN Il existe des variantes en 3 temps. Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 15/34

2 - Protocole SMTP Protocole texte pour envoyer des mails. RFC 821 (1982,...) Protocole Ascii 7 bits, sur TCP Utilise le port 25 Échange de questions-réponses avec le serveur. Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 16/34

Exemple $ netcat adr-serveur 25 HELO adr-client MAIL FROM: email-auteur RCPT TO: email-dest DATA Subject: sujet Ceci est le corps du message à envoyer.. QUIT $ 220 adr-serveur SMTP Ready 250 adr-serveur 250 Sender ok 250 Recipient ok 354 Enter mail, end with "." 250 Ok 221 Closing connection Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 17/34

3 - Protocole POP3 Protocole texte pour récupérer des mails. RFC 1939 (1996,...) Protocole Ascii 7 bits, sur TCP Utilise le port 110 Échange de questions-réponses avec le serveur. Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 18/34

Exemple (1/3) $ netcat adr-serveur 110 USER user PASS mauvais mdp PASS bon mdp USER user PASS bon mdp STAT +OK POP3 ready +OK -ERR Invalid login or password -ERR Invalid command +OK +OK Mailbox locked and ready +OK 3 9251 Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 19/34

Exemple (2/3) LIST RETR 2 DELE 2 DELE 2 +OK scan listing follows 1 1747 2 5808 3 1696. +OK Message follows Entête et message. +OK message deleted -ERR No such message Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 20/34

Exemple (3/3) LIST RSET LIST DELE 2 QUIT $ +OK scan listing follows 1 1747 3 1696. +OK +OK scan listing follows 1 1747 2 5808 3 1696. +OK message deleted +OK Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 21/34

4 - Protocole HTTP Protocole texte, permettant de véhiculer texte, liens, images, sons, vidéos, etc Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 22/34

Protocole texte Créateur de HTTP : Tim Berners-Lee Trois versions : 0.9 implémentation originelle (1991) abandonnée 1.0 RFC 1945 (1996) obsolète mais utilisable 1.1 RFC 2616 (1999) actuel Protocole Ascii 7 bits, sur TCP Principe : le client se connecte, envoie une requête ; le serveur envoie une réponse puis déconnecte le client. 1.1 : possibilité de maintenir la connexion Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 23/34

Structure d une requête Méthode /URL HTTP/version <cr-lf> Clé: valeur <cr-lf>... Clé: valeur <cr-lf> <cr-lf> Corps de la requ^ete Fin de l entête : ligne vide (double <cr-lf>) Retour chariot <cr-lf> : \n ou \r\n Liste de (clé,valeur) : dictionnaire de propriétés Version : 1.0 ou 1.1 Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 24/34

Méthodes GET : demander une ressource HEAD : demander informations sur ressource POST : transmettre des informations PUT : transmettre par URL PATCH : modification partielle OPTIONS : obtenir les options de communication CONNECT : pour utiliser un proxy comme tunnel TRACE : écho de la requête pour diagnostic DELETE : pour supprimer une ressource... Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 25/34

Propriétés Clé: valeur <cr-lf> Host : site web demandé (si plusieurs pour même IP) Referer : source du lien, fournie par le client User-Agent : navigateur utilisé Date : date génération réponse Server : serveur utilisé (Apache,...) Content-Type : type MIME (image/png,...) Content-Length : taille en octets Expires : date d obsolescence, pour gestion du cache Last-Modified : date dernière modification... Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 26/34

Propriétés supplémentaires de HTTP/1.1 Clé: valeur <cr-lf> Connection : la maintenir ou non Accept : types MIME acceptés Accept-Charset : encodages acceptés Transfer-Encoding : type d encodage... Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 27/34

Méthode GET Une requête HTTP pour la méthode GET est de la forme : GET /fichier HTTP/version <cr-lf> Clé: Valeur <cr-lf>... Clé: Valeur <cr-lf> <cr-lf> Pas de corps de requête après l entête. Si la version est 1.1, il doit y avoir la propriété Host: adresse-serveur[:port] (par défaut le port 80). Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 28/34

Réponse HTTP Une réponse HTTP est de la forme : HTTP/version code explication <cr-lf> Clé: Valeur <cr-lf>... Clé: Valeur <cr-lf> <cr-lf> Corps de la réponse Codes : 20x 30x 40x 50x Succès Redirection Erreur du client Erreur du serveur Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 29/34

Exemple de TRACE (1/4) $ netcat sol.dil.univ-mrs.fr 80 TRACE /index.html HTTP/1.0 HTTP/1.1 200 OK Date: Wed, 12 Nov 2014 10:07:04 GMT Server: Apache/2.2.3 (CentOS) Connection: close Content-Type: message/http TRACE /index.html HTTP/1.0 Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 30/34

Exemple de TRACE (2/4) $ netcat sol.dil.univ-mrs.fr 80 TRACE index.html HTTP/1.0 HTTP/1.1 400 Bad Request Date: Wed, 12 Nov 2014 10:07:29 GMT Server: Apache/2.2.3 (CentOS) Content-Length: 310 Connection: close Content-Type: text/html; charset=iso-8859-1 <html><head> <title>400 Bad Request</title> </head><body> <h1>bad Request</h1> <p>your browser sent a bad request...</p> </body></html> Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 31/34

Exemple de TRACE (3/4) $ netcat sol.dil.univ-mrs.fr 80 TRACE /index.html HTTP/1.1 HTTP/1.1 400 Bad Request Date: Wed, 12 Nov 2014 10:08:06 GMT Server: Apache/2.2.3 (CentOS) Content-Length: 310 Connection: close Content-Type: text/html; charset=iso-8859-1 <html><head> <title>400 Bad Request</title> </head><body> <h1>bad Request</h1> <p>your browser sent a bad request...</p> </body></html> Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 32/34

Exemple de TRACE (4/4) $ netcat sol.dil.univ-mrs.fr 80 TRACE /index.html HTTP/1.1 Host: toto HTTP/1.1 200 OK Date: Wed, 12 Nov 2014 10:08:31 GMT Server: Apache/2.2.3 (CentOS) Connection: close Transfer-Encoding: chunked Content-Type: message/http 2a TRACE /index.html HTTP/1.1 Host: toto 0 Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 33/34

Proxy Entre un navigateur et un serveur web : à la fois client, serveur et base de données. Côté navigateur : Accélère l obtention de fichiers stockés dans la BD du proxy Anonymise le client Côté serveur : Réduit le trafic Coté proxy : Permet de filtrer les URLs Permet de loguer le trafic Edouard.Thiel@univ-amu.fr Cours de Réseau et communication Unix n 8 CC BY-NC 34/34