Cours de Réseau et communication Unix n 8



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

Introduction. Adresses

Protocoles Applicatifs

Chapitre : Les Protocoles

(structure des entêtes)

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

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

Serveurs de noms Protocoles HTTP et FTP

Quelques protocoles et outils réseaux

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

Plan. Programmation Internet Cours 3. Organismes de standardisation

Rappels réseaux TCP/IP

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

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

Le protocole TCP. Services de TCP

UDP/TCP - Protocoles transport

FILTRAGE de PAQUETS NetFilter

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

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

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

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

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

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

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

«Cachez-moi cette page!»

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

Outils de l Internet

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

Sécurité des réseaux Firewalls

Introduction aux Technologies de l Internet

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

HTTP 1.1. HyperText Transfer Protocol TCP IP ...

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

Dans l'épisode précédent

Introduction à HTTP. Chapitre HTTP 0.9

1 Introduction Propos du document Introduction De HTTP 1.0 à HTTP

Administration réseau Firewall

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

Développement des Systèmes d Information

Développement Web. Les protocoles

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

U.E. ARES - TD+TME n 1

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

Protection des protocoles

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

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

Couche Transport TCP et UDP

Réseaux et protocoles Damien Nouvel

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

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

Réseaux IUP2 / 2005 IPv6

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

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

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

Application Web et J2EE

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

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

L identité numérique. Risques, protection

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

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

Les systèmes pare-feu (firewall)

TR2 : Technologies de l'internet. Chapitre VI. NAT statique et dynamique Overloading (PAT) Overlapping, port Forwarding Serveur Proxy, DMZ

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

R eseaux TP RES /2015

La supervision des services dans le réseau RENATER

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

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

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

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

ALOHA LOAD BALANCER METHODE DE CONTROLE DE VITALITE

Les firewalls libres : netfilter, IP Filter et Packet Filter

TP : Introduction à TCP/IP sous UNIX

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

Rappel: Le routage dans Internet. Contraintes. Environnement et contraintes. La décision dans IP du routage: - Table de routage:

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

18 TCP Les protocoles de domaines d applications

Applications en réseau

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.

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

Sécurité et Firewall

Réseaux Internet & Services

La collecte d informations

Protocoles IP (2/2) M. Berthet. Les illustrations sont tirées de l ouvrage de Guy Pujolle, Cours réseaux et Télécom Contributions : S Lohier

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

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

Les serveurs. UE 103b. Guillaume Burel.

DIFF AVANCÉE. Samy.

FTPS AVEC UNE APPLIANCE FAST360 EN COUPURE. Table des matières

Sécurité des réseaux Les attaques

Préparation au C2I. Année 2011

Alexis Lechervy Université de Caen. M1 Informatique. Réseaux. Filtrage. Bureau S3-203

TP SECU NAT ARS IRT ( CORRECTION )

TCP/IP, NAT/PAT et Firewall

laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

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

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

Cisco Certified Network Associate

VOIP. QoS SIP TOPOLOGIE DU RÉSEAU

Security and privacy in network - TP

Transcription:

Cours de Réseau et communication Unix n 8 Faculté des Sciences Université d Aix-Marseille (AMU) Septembre 2013 Cours écrit par Edouard Thiel, http://pageperso.lif.univ-mrs.fr/~edouard.thiel. La page du cours : http://pageperso.lif.univ-mrs.fr/~laurent.braud/reseau/ 1/31

Plan du cours n 8 1. Protocole IP 2. Protocole TCP 3. Protocole SMTP 4. Protocole HTTP 2/31

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 3/31

1 - Retour sur le protocole IP Internet Protocol Le MTU (Maximum Transfert Unit) n est pas forcément le même partout. Un serveur sur le chemin fragmente les paquets à la volée lorsqu il n y a pas la place. En IPv6, le MTU est choisi à l avance, ce qui évite la refragmentation. 4/31

En-tête IP 32 bits version taille service longueur totale identification flags offset fragment durée de vie protocole somme de contrôle adresse source adresse destination options + bourrage... données... service : type de QoS, privilégiant débit, délai, fiabilité identification : pour rassembler les morceaux découpés. drapeaux : a-t-on le droit de fragmenter ou non offset : position du fragment dans le paquet initial protocole : couche supérieure (ICMP, TCP, UCP) 5/31

Tables de routage IPv4 toujours : Le routage se fait de proche en proche, sans connaître la topologie globale. Tables de routage établies de façon statique à la main, automatiquement : protocoles de mise à jour netstat -r ou route pour connaître la table locale. Table de routage IP du noyau Destination Passerelle Genmask Indic Iface default 192.168.0.1 0.0.0.0 UG eth0 192.168.0.0 * 255.255.255.0 U eth0 6/31

2 - Protocole TCP Transmission Control Protocol Protocole binaire, couche 4, RFC 793 (1981) 7/31

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 8/31

Segment TCP Entête binaire : entre 20 et 60 octets 32 bits port source port destination numéro d ordre numéro d accusé de réception taille drapeaux fenêtre somme de contrôle pointeur urgent options (bourrage)... données... taille de l entête en multiples de 32 bits drapeaux (bits) : ACK, RST, SYN, FIN,... fenêtre nombre de segments acceptés sans AR 9/31

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 10/31

Diagramme temporel Émetteur Segment Récepteur Segment t Segment 11/31

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 12/31

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. 13/31

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. 14/31

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 15/31

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 16/31

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. 17/31

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. 18/31

3 - Protocole SMTP Simple Mail Transfer Protocol Protocole texte pour envoyer des mails 19/31

Protocole texte RFC 821 (1982,...) Protocole Ascii 7 bits, sur TCP Utilise le port 25 Échange de questions-réponses avec le serveur. 20/31

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 21/31

4 - Protocole HTTP HyperText Transfer Protocol Protocole texte, permettant de véhiculer texte, liens, images, sons, vidéos, etc 22/31

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.0 et 1.1 : possibilité de maintenir la connexion 23/31

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 24/31

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... 25/31

Propriétés Clé: valeur <cr-lf> Host : site web (si plusieurs pour même IP) Referer : source du lien 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... 26/31

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... 27/31

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). 28/31

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 29/31

Vu en TP HTTP/1.1 200 OK Date: Fri, 28 Nov 2014 13:57:52 GMT Server: Apache Last-Modified: Thu, 20 Nov 2014 14:02:14 GMT ETag: 4a4015-8e-5084ac6796580 Accept-Ranges: bytes Content-Length: 142 Connection: close Content-Type: text/plain Bravo! Vous avez reussi à vous connecter au serveur web. Vous pouvez maintenant aspirer tous les fichiers que vous voulez. Fin du fichier. 30/31

Proxy Le champ ETag est une clef qui permet de cacher la ressource dans un 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 logguer le trafic 31/31