Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Chapitre-05

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 25

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique


Université des frères Mentouri
Faculté des sciences de la technologie
Département d’électronique

ADMINISTRATION DES
SERVICES RESEAU
COURS ET TDS
Master 1 : Réseau et Télécommunication
Unité d’enseignement : UEM 1.2, VHS : 22h30 (TP : 1h30), Crédits :2, Coefficient :1

Dr. Gueltoum Bendiab


Année Universitaire : 20

0|Page
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATION


CONTENU
1.1. OBJECTIFS
1.2. SERVICE DE MESAGERIE (SMTP, POP/IMAP)
1.3. SERVICE WEB (HTTP)
1.4. SERVICE DE TRANSFERT DES FICHIER (FTP)
1.5. TD #04

1.1. OBJECTIFS
Dans le monde numérique d'aujourd'hui, la communication et le partage d'informations sont des éléments essentiels de
toute infrastructure réseau. Les services de messagerie et d'application, tels que le protocole HTTP (Hypertext Transfer
Protocol) et FTP (File Transfer Protocol), jouent un rôle crucial dans la transmission efficace des données sur Internet.
L'objectif de ce chapitre est d’exploré en profondeur ces services fondamentaux, en mettant en lumière leur
fonctionnement, leurs applications et leur importance dans le paysage technologique contemporain. Nous examinerons
comment ces trois services facilitent l'échange d'informations entre les utilisateurs, les serveurs et les applications, ainsi
que les défis et les meilleures pratiques associés à leur utilisation.

1.2. SERVICE DE MESAGERIE


Le service de messagerie est devenu un élément indispensable de notre vie quotidienne, que ce soit pour des conversations
personnelles, des discussions professionnelles ou même des interactions commerciales. Dans cette section, nous
explorerons le service de messagerie et son évolution, son principe de fonctionnement et protocoles, son importance dans
divers contextes et comment il facilite la communication et la collaboration.

1.2.1. DEFINITION ET FONCTIONS D’UN SERVICE DE MESSAGERIE


Un service de messagerie est une plateforme ou un système qui permet aux utilisateurs d'envoyer, de recevoir et de gérer
des messages électroniques de manière asynchrone ou synchrone. Ces messages peuvent prendre différentes formes :
o E-mails,
o Messages texte,
o Appels vocaux,
o Appels vidéo,
o Chats en ligne, etc.
Un service de messagerie offre toute une gamme de fonctions visant à faciliter la communication entre les utilisateurs.
Les cinq fonctions les plus courantes sont :
1.2.1.1. Désignation d'un destinataire
La fonction de désignation d’un destinataire repose sur un système d'adressage qui permet aux utilisateurs d'envoyer des
messages à des destinataires uniques ou à des groupes de destinataires en utilisant leurs adresses uniques.
Un système d'adressage est un ensemble de règles et de conventions qui permettent d'attribuer une adresse unique à
chaque utilisateur ou destinataire d'un service de messagerie. Cette adresse peut être une adresse e-mail, un nom
d'utilisateur, un numéro de téléphone, ou toute autre forme d'identification acceptée par le service de messagerie. Cette
adresse permet au système de diriger le message vers le destinataire approprié et de garantir sa livraison.
Les adresses dans les services de messagerie sont généralement des couples (RFC 28111 et RFC 28222), nom de la boite
aux lettres (BALs) et domaine DNS (voir Figure 5.1).

1
https://datatracker.ietf.org/doc/html/rfc2811
2
https://datatracker.ietf.org/doc/html/rfc2822

1|Page
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

Le DNS permet de déterminer les serveurs de messageries d’un domaine (i.e., enregistrement de type MX). Alors que,
les noms pour les BALs sont quelconques (i.e., taille < 64 octets).

Figure 5.1: Adresses Globales de courrier

Une fois qu'un utilisateur a rédigé un message, il peut utiliser la fonction de désignation d'un destinataire pour spécifier à
qui le message doit être envoyé. Cette fonctionnalité permet à l'utilisateur d’envoyer le message à un destinataire unique,
ou à un groupe de destinataires.

1.2.1.2. Fonction de composition de courrier


Cette fonction permet aux utilisateurs de rédiger et de formater leurs messages avant de les envoyer à leurs destinataires.
Elle inclut souvent un client de messagerie intégré qui offre des fonctionnalités d'édition pour créer des courriers
électroniques de manière efficace et conviviale. Il y a deux types de clients de messagerie :
1) Client de messagerie lourds : Ce dernier nécessite l’installation d’une application particulière sur le poste
client de l’utilisateur tels que :
o Outlook Express,
o Netscape Messenger,
o IncrediMail, Foxmail,
o Eudora,
o Thunderbird de Mozilla,
o Zimbra Desktop, etc.
2) Client de messagerie légers (clients WEBMAIL) : Permet de consulter le courrier électronique avec une
application client/serveur web tels que :
o Hotmail,
o Gmail,
o Foxmail,
o Yahoo,
o Outlook Web Access, etc.
1.2.1.3. Fonction d’émission du courrier
Cette fonction fait référence au processus d’acheminer le courrier vers sa destination. Elle implique plusieurs étapes,
telles que la collecte du courrier auprès de l'expéditeur, son tri en fonction de la destination, son acheminement vers le
bon lieu de distribution, et enfin sa livraison au destinataire final.
L'acheminement des courriers repose sur des protocoles standardisés qui permettent aux serveurs de communiquer et de
transférer les messages entre eux tels que :
o SMTP (Simple Mail Transfer Protocol) et ESMTP (Extended SMTP)
o Submission (RFC 64093) : une alternative au SMTP,
o LMTP (Local Mail Transfer Protocol) pour la livraison locale de courriels à un serveur de messagerie,
o AMQP (Advanced Message Queuing Protocol) orienté vers les systèmes de messagerie à grande échelle
o JMAP (JSON Meta Application Protocol) basé sur JSON et HTTP.
o POP3 (Post Office Protocol version 3),
o IMAP (Internet Message Access Protocol), etc.

3
https://datatracker.ietf.org/doc/html/rfc6409

2|Page
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

1.2.1.4. Fonctions de lecture du courrier


Cette fonction est centrée sur la capacité des utilisateurs à accéder et à consulter leurs messages entrants. Elle inclue la
gestion des boîtes aux lettres (BALs) ou des files d'attente de courriers, où les messages sont stockés en attendant d'être
consultés par les destinataires. Dans un service de messagerie, les boîtes aux lettres (BALs) et les files d'attente sont deux
concepts distincts mais complémentaires.
o Boîtes aux lettres (BALs) : Sont des emplacements de stockage où les messages sont temporairement conservés
en attendant d'être récupérés par les destinataires. Chaque utilisateur dispose de sa propre boîte aux lettres, où
les messages qui lui sont destinés sont déposés jusqu'à ce qu'il les lise. Les utilisateurs peuvent accéder à leur
boîte aux lettres pour consulter, lire, répondre, supprimer et organiser leurs messages entrants et sortants.
o Files d'attente : Les files d'attente sont des mécanismes internes utilisés par le système de messagerie pour gérer
le flux des messages en transit. Elles sont souvent utilisées pour temporiser les messages avant de les livrer à
leur destination finale.
En générale, les boîtes aux lettres sont des espaces de stockage individuels pour les utilisateurs où leurs messages sont
stockés et gérés, tandis que les files d'attente sont des mécanismes de gestion interne utilisés par le système de messagerie
pour temporiser et acheminer les messages en transit vers leur destination finale.
1.2.1.5. Fonction de gestion des archives de courriers :
Cette fonction vise à permettre aux utilisateurs de stocker, organiser et gérer efficacement leurs messages archivés sur le
serveur pendant une période spécifique. Elle offre des services d’organisation des dossiers utilisateurs et de recherche
avancée dans les archives. Les utilisateurs peuvent également exporter leurs archives de courriers électroniques pour les
sauvegarder localement ou les transférer vers un autre service de messagerie.

1.2.2. ARCHITECTURE D’UN SERVICE DE MESSAGERIE


Le service de messagerie repose généralement sur une architecture client/serveur, où différents composants interagissent
pour permettre l'envoi, la réception et la gestion des courriers électroniques :

1.2.2.1. Serveur de messagerie MTA (Mail Transfer Agent)


Le serveur de messagerie, ou MTA (Mail Transfer Agent) est un serveur responsable du transfert des courriers
électroniques entre les serveurs de messagerie. Il est composé de deux agents :
1) Agent de routage : Il est responsable de déterminer le chemin optimal pour acheminer un message vers son
destinataire. Il utilise des règles de routage configurées pour prendre des décisions sur la meilleure façon de
transmettre le message.
2) Agent de transmission : est chargé d'envoyer effectivement le message au serveur de messagerie du
destinataire. Il utilise généralement le protocole SMTP (Simple Mail Transfer Protocol) pour transférer le
message d'un serveur à l'autre. Mais, il existe plusieurs d’autres alternatives du SMTP tels que :
o XMPP (Extensible Messaging and Presence Protocol),
o AMQP (Advanced Message Queuing Protocol),
o JMAP (JSON Meta Application Protocol).
Actuellement, il existe plusieurs serveurs de messagerie libres (open source) et propriétaires :
o Example de serveurs de messagerie libres (open source) :
– Sendmail (1980),
– Exim (1995),
– Qmail (1997)
– Postfix (2001)
o Exemples de serveurs de messagerie propriétaires :
– MS Exchange / IIS (Microsoft),
– Lotus Notes / Domino (IBM).

3|Page
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

1.2.2.2. Client de messagerie MUA (Mail User Agent) :


Le MUA est une application utilisée par les utilisateurs pour composer, envoyer, recevoir et gérer leurs courriers
électroniques. Il peut s'agir de clients de messagerie Web, de logiciels de messagerie de bureau (comme Outlook,
Thunderbird) ou d'applications mobiles dédiées.

Figure 5.2: Interface Web de l’MUA de Microsoft (Outlook Express)

1.2.2.3. Agent de distribution MDA (Mail Delivery Agent)


Le MDA (Serveur du courrier) est un logiciel qui délivre les courriers reçus par le serveur de messagerie à la boîte aux
lettres de l'utilisateur. Une fois que le serveur de messagerie MTA a reçu un message pour un utilisateur, il est remis à
l'agent de distribution MDA qui le place dans la boîte aux lettres appropriée de l'utilisateur. Un MDA est directement
exécuté par le MTA afin d'ajouter le message à la BAL (Boite Aux Lettres) de l'utilisateur destinataire. Exemples :
procmail, maildrop, etc. Voici quelques exemples de MDA populaires :
o Procmail,
o Dovecot,
o Maildrop,
o Exim,
o Courier MTA, etc.
Comme le montre la Figure 5.3, dans cette architecture client/serveur, le MTA assure le transfert des messages entre les
serveurs de messagerie, le MUA permet aux utilisateurs d'interagir avec leur boîte aux lettres et de composer des
messages, tandis que le MDA délivre les messages reçus dans les boîtes aux lettres des utilisateurs. Ces composants
travaillent ensemble pour fournir un service de messagerie électronique complet et fonctionnel.

4|Page
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

Figure 5.3: Architecture et fonctionnement d’un système de messagerie.

1.2.3. PROTOCOLE SMTP


Le protocole SMTP (Simple Mail Transfer Protocol) définit la manière de communiquer entre deux MTA en utilisant une
connexion TCP (utilise par défaut le port 25). Il a été défini en 1982 par la RFC 8214. Après, il a connu plusieurs versions
au fil du temps, chacune apportant des améliorations, des corrections de bugs et de nouvelles fonctionnalités.
Comme le montre la Figure 5.4, afin d'envoyer un email vers le destinataire :
o (1) : Le client MUA de l’émetteur envoie le message à un serveur de messagerie sortant MTA,
o (2) : Le MTA contacte le serveur de messagerie de destination MTA pour la livraison du message. Le MTA du
système de l'émetteur établit un canal de transmission avec le MTA du système du destinataire, par émissions
successives de requêtes bidirectionnelles.
o (3) : Dans le système du destinataire, Le MTA transmet le courrier reçu au serveur IMAP ou POP3.
o (4), (5) et (6) : Le MDA récupère le courrier du serveur IMAP/POP3 pas émissions successives des requêtes, et
le met à disposition du MUA.
Les protocoles IMAP (Internet Message Access Protocol) et POP (Post Office Protocol) servent à transmettre un e-mail
à sa destination finale.

Figure 5.4: Principe de fonctionnement de SMTP

4
https://datatracker.ietf.org/doc/html/rfc821

5|Page
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

Les principales commandes SMTP :


Commande Description

EHLO/HELO Identifier l'émetteur du mail. Elle est utilisée pour initier une session SMTP avec le MTA. EHLO est
une version améliorée de HELO qui permet d'indiquer les capacités du client SMTP.
MAIL FROM Elle est utilisée par le client pour spécifier l'adresse e-mail de l'expéditeur du message
RCPT TO Elle est utilisée par le client pour spécifier l'adresse e-mail du destinataire du message
DATA La commande DATA, envoyée par le client, signale au serveur que le contenu du message va être
transmis. Le serveur attend alors ce contenu jusqu'à ce que le client envoie une ligne ne contenant
qu'un point (".") sur une ligne distincte, marquant ainsi la fin du message.
QUIT Elle est employée pour clore la session SMTP. Une fois que tous les messages ont été transmis, le
client envoie cette commande au serveur pour l'avertir de clore la connexion SMTP.

Tableau 5-1 : Principales commandes SMTP

Exemple d’une session SMTP : Soit un utilisateur abonné chez "umc.edu.dz" et ayant pour adresse électronique :
koko@umc.edu.dz . Ce dernier envoi un courrier a un autre utilisateur abonné chez "port.ac.uk" et ayant pour adresse
électronique mimi@port.ac.uk. La figure suivante montre les principales étapes d'une session SMTP pour l'envoi de
courriel entre le client SMTP (C) et le serveur SMTP (S).
S: 220 mx.umc.edu.dz SMTP Ready
C: HELO umc.edu.dz
S: 250 Hello umc.edu.dz, I am glad to meet you
C: MAIL FROM:<koko@umc.edu.dz>
S: 250 Ok
C: RCPT TO:<mimi@port.ac.uk>
S: 250 Ok
C: DATA
S: 354 End data with <CR><LF>.<CR><LF>
C: From: "koko" <koko@umc.edu.dz>
C: To: "Mimi" <mimi@port.ac.uk>
C: Date: Tue, 15 Mai 2024 13:02:43 -0500
C: Subject: Test message
C:
C: Hello Mimi.
C: This is a test message with 5 header fields and 4 lines in the
message body.
C: Your friend,
C: Koko
C: .
S: 250 Ok: queued as 12345
C: QUIT
S: 221 Bye

Explication : Le MUA initie la connexion en se connectant au MTA sur le port 25. Cette étape est généralement réalisée
en utilisant TCP/IP. Le MUA envoie la commande EHLO ou HELO pour saluer le serveur et démarrer la session SMTP.
Après, le MUA spécifie l'adresse e-mail de l'expéditeur à l'aide de la commande MAIL FROM, puis spécifie l'adresse e-
mail du destinataire à l'aide de la commande RCPT TO.
Le client indique au serveur qu'il va commencer à transférer le contenu du message en utilisant la commande DATA. Il
envoie ensuite le contenu du message, ligne par ligne. Le message se termine par une ligne contenant uniquement un
point ("."). Le serveur SMTP répond avec un code de statut approprié pour indiquer la réception du message. Dans le cas
de cet exemple, le serveur SMTP répond avec le code 250, ce qui signifie que la commande a été exécutée avec succès.
Ce code est généralement suivi d'un message d'informations supplémentaires, comme "OK", pour indiquer que la
commande a été traitée correctement.

6|Page
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

Une fois le message envoyé, le MUA envoi la commande QUIT pour terminer la session SMTP. Le serveur SMTP répond
avec un code de statut approprié pour confirmer la fin de la session, puis la connexion TCP est fermée. Dans le cas de cet
exemple, le serveur SMTP répond avec le code 221, indiquant la fermeture de la connexion de manière ordonnée.

Figure 5.5: Exemple d'une session SMTP

EXTENDED SMTP (ESMTP) : Le protocole SMTP présente certaines limitations en termes de fonctionnalités et
de sécurité. Pour surmonter ces limitations, le protocole ESMTP (Extended SMTP) a été développé. ESMTP est une
extension du protocole SMTP qui ajoute de nouvelles fonctionnalités et améliore la flexibilité et la sécurité de la
transmission des e-mails. Les principales caractéristiques et améliorations apportées par ESMTP sont :
o Support des messages multimédias, tels que des messages avec pièces jointes.
o Authentification pour renforcer la sécurité des communications SMTP.
o Support de TLS (Transport Layer Security), ce qui permet de chiffrer les données échangées.
o ESMTP introduit de nouvelles commandes qui étendent les fonctionnalités de base de SMTP.
o ESMTP améliore la gestion des erreurs et des notifications de statut.

1.2.4. PROTOCOLE POP


Le protocole POP (Post Office Protocol) est utilisé pour récupérer les e-mails depuis un serveur de messagerie vers un
client de messagerie, tel que Microsoft Outlook ou Mozilla Thunderbird.
Il existe plusieurs versions du protocole POP qui ont été développées au fil du temps pour améliorer les fonctionnalités
et la sécurité. Les versions les plus courantes sont POP1, POP2, et POP3.
o POP1 (RFC 9185 – 1984) était assez basique et ne prenait pas en charge certaines fonctionnalités avancées telles
que la suppression sélective des e-mails sur le serveur.

5
https://datatracker.ietf.org/doc/html/rfc918

7|Page
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

o POP2 (RFC 9376 - 1985) a introduit des améliorations par rapport à POP1, notamment la possibilité de
supprimer sélectivement des e-mails sur le serveur après leur téléchargement par le client.
o PO3 (RFC 19397 – 1996) propose des fonctionnalités avancées comme la conservation des e-mails sur le serveur
après leur téléchargement, la gestion de plusieurs BALs et l'authentification sécurisée. C'est devenu le protocole
standard pour récupérer les e-mails depuis un serveur de messagerie vers un client de messagerie.
Avantages de POP :
o Conserve une copie sur la machine où est configuré le client de messagerie,
o Utilise un peu moins de bande passante.
o Permet d'accéder aux messages hors ligne, car ils sont stockés localement sur votre machine.
Inconvénients de POP :
o Par défaut, pas de copie sur le serveur
o Ne permet pas de synchroniser plusieurs appareils
o Ne permet pas de synchroniser les dossiers du type 'messages envoyés, spams, brouillons“
o Vous devez faire des sauvegardes de votre appareil, ce dernier ayant l'intégralité de vos messages.

Figure 5.6: Exemple avec deux appareils synchronisés en POP, un appareil récupère l'ensemble des
messages et le second ne récupère pas de message, car supprimé côté serveur.

Exemple de dialogue POP : Dans cet exemple, l’utilisateur mimi@port.ac se connecte pour voir ses messages.
C: Connect to mail.port.ac.uk
S: +OK mail.port.ac.uk POP 3 Server is ready
C: USER: mimi@port.ac.uk
S: +OK hello mimi, please enter your password
C: PASS XXXXXX
S: +OK Server ready
C: STAT
S: +OK 15 1800
C: RETR 1
S: +OK message follows
S: Message
C: DELE 1
S: +OK Message 1 deleted
C: QUIT
S: +OK Server mail.port.ac.uk POP 3 closing connection

Explication : Le processus débute par l'établissement d'une connexion entre le client de messagerie et le serveur de
messagerie. Cette connexion peut être sécurisée via SSL/TLS pour garantir la confidentialité des données échangées.
Dans l’échange POP, on voit qu’on ne peut accéder à sa BAL sans authentification (lignes USER et PASS). Cette étape

6
https://datatracker.ietf.org/doc/html/rfc937
7
https://www.ietf.org/rfc/rfc1939.txt

8|Page
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

garantit que seul l'utilisateur autorisé peut accéder à sa boîte aux lettres. Ensuite, la commande STAT permet de savoir
quel est le nombre total de messages (ici 15) et leur taille en octet (1800). La commande RETR avec pour paramètre le
numéro du messages (entre 1 et 15) permet d’obtenir la totalité d’un message. La commande DELE utilisée pour
supprimer le message numéro n (1) de la boîte aux lettres. Enfin, la commande QUIT est utilisée pour terminer la session
POP3 et fermer la connexion avec le serveur.

Figure 5.7 : Exemple de dialogue POP

1.2.5. PROTOCOLE IMAP


De même, le protocole IMAP (Internet Message Access Protocol), permettent à un client de messagerie (comme Outlook
ou le client sur votre téléphone portable) de récupérer les messages stockés sur le serveur de messagerie. Contrairement
au protocole POP qui télécharge les e-mails vers un client de messagerie où ils sont ensuite stockés localement, IMAP
permet aux utilisateurs de visualiser et de manipuler leurs e-mails directement sur le serveur.
Le protocole IMAP a connu plusieurs versions au fil du temps, chaque version apportant des améliorations et des
fonctionnalités supplémentaires. Les plus importantes sont :
o IMAP2 (RFC 10648 - 1988) : IMAP2 est une amélioration de IMAP1 (qui n'a jamais été normalisé), en
introduisant des fonctionnalités de base telles que la possibilité d'accéder à plusieurs BALs sur le serveur.
o IMAP4 (RFC 20609 - 1996) : C’est la version actuelle et la plus largement utilisée. IMAP4 introduit des
fonctionnalités avancées telles que la possibilité de rechercher des messages sur le serveur, de gérer des dossiers
et de déplacer des messages entre eux, ainsi que des mécanismes pour gérer la sécurité et l'authentification.
o IMAP4rev1 (RFC 350110 - 2003) : C’est une révision de la spécification IMAP4 originale. Elle apporte des
clarifications et des améliorations mineures au protocole, mais reste largement compatible avec IMAP4.

Figure 5.8 : Exemple de deux clients de messageries configurés en IMAP, les deux affichent
la même chose, car synchronisés avec le serveur de messagerie.

8
https://datatracker.ietf.org/doc/html/rfc1064
9
https://datatracker.ietf.org/doc/html/rfc2060
10
https://datatracker.ietf.org/doc/html/rfc3501

9|Page
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

Il existe plusieurs serveurs IMAP, mais deux sont dominent le marché.

o UW-IMAP : Il est développé par l'Université de Washington aux États-Unis, il utilise le format "mailbox" pour
stocker les messages, un format bien géré par la plupart des MDA. Les messages sont enregistrés dans un seul
fichier par utilisateur, nécessitant généralement un compte utilisateur sur le serveur. Son installation est
extrêmement simple.
o Cyrus : Il est développé par l'Université de Carnegie Mellon aux États-Unis, utilise le format "maildir" pour
stocker les messages. Chaque message est conservé dans un fichier distinct, organisé dans un répertoire par
utilisateur. Les utilisateurs peuvent être gérés via une base de données ou un annuaire LDAP, sans nécessité d'un
compte UNIX sur le serveur. Bien qu'il offre une souplesse, une sécurité et des fonctionnalités accrues, son
installation et sa configuration sont plus complexes.
o Autres serveurs : D'autres serveurs existent, comme courier-imap et Zimbra Collaboration Suite.
Avantages d'IMAP :
o Permet de synchroniser vos messages sur plusieurs clients de messageries
o Permet de gérer les dossiers du type “messages envoyés, brouillons, spam”
o Permet de trier le courrier selon plus de critères.
o Protection contre les virus

Inconvénients d'IMAP :
o Utilise un peu plus de bande passante (plus d'échanges “bidirectionnels”)
o Messages stockés sur le serveur de messagerie (est également un avantage, cela dépend du point de vue)
o Il faut avoir une connexion constante au serveur de messagerie pour pouvoir consulter ses mails.
Exemple de dialogue IMAP : Dans cet exemple, l’utilisateur mimi@port.ac se connecte pour voir ses messages.
C: Connect to mail.port.ac.uk IMAP4rev1 Server
S: * OK mail.port.ac.uk IMAP4rev1 Server is ready
C: LOGIN: mimi password (1)
S: OK LOGIN completed (1)
C: SELECT INBOX (2)
S: *FLAGS (\Answered \Flagged \Draft \ Deleted \Seen)
S: *OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)]
Flags permitted
S: *5 EXISTS
S: *0 RECENT
S: *OK [UNSEEN 2] Message 2 is the first unseen message
S: *OK [UIDVALIDITY 3857529045] UIDs valid
S: *OK [READ-WRITE] SELECT completed (2)
C: FETCH 1 (BODY[HEADER.FIELDS (FROM SUBJECT)])(3)
S: * 1 FETCH (BODY[HEADER.FIELDS (FROM SUBJECT)] {85}
S: From: koko <koko@umc.edu.dz>
S: Subject: Test
S: )
S: OK FETCH completed (3)
C: LOGOUT (4)
S: * BYE mail.port.ac.uk IMAP4rev1 logging out
S: OK LOGOUT completed

Explication : Le processus débute par l'établissement d'une connexion entre le client de messagerie et le serveur de
messagerie. Dans l’échange POP, on voit qu’on ne peut accéder à sa BAL sans authentification (lignes LOGIN). Cette
commande prend généralement un nom d'utilisateur et un mot de passe en tant que paramètres.

10 | P a g e
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

Ensuite, la commande SELECT. Cette commande permet au client de sélectionner une boîte aux lettres spécifique sur
le serveur IMAP, par exemple, la boîte de réception (INBOX). Dans le cas de cet exemple, le client envoie une commande
« SELECT » pour sélectionner la boîte aux lettres "INBOX". Le serveur répond avec des informations sur la boîte aux
lettres, y compris les indicateurs de drapeau disponibles, le nombre total de messages (5), le nombre de messages non lus
(2), et la validité des UID pour cette boîte aux lettres. Enfin, le serveur envoie une réponse indiquant que la sélection a
été effectuée avec succès.
La commande FETCH est utilisée pour récupérer des informations sur les e-mails, comme les en-têtes, le corps ou les
pièces jointes. Elle prend en général en paramètre une liste d'identifiants de message et une liste de données à récupérer.
Dans cet exemple, le client envoie une commande FETCH pour récupérer les en-têtes du premier message. Le serveur
répond avec les en-têtes demandées (de l'expéditeur koko@umc.edu.dz et du sujet) du message numéro 1. Enfin, le
serveur envoie une réponse indiquant que la récupération a été effectuée avec succès.
Enfin, la commande LOGOUT est utilisée par le client pour terminer la session IMAP et fermer la connexion avec le
serveur. Le serveur répond d'abord avec un message de notification (BYE) indiquant qu'il se déconnecte. Ensuite, il envoie
une réponse indiquant que la déconnexion a été effectuée avec succès.

Figure 5.9 : Exemple de dialogue IMAP

Différences entre les deux protocoles


POP et IMAP ont été inventés pour proposer une manière standard de récupérer les courriers sur un serveur de messagerie.
Ainsi, peu importe la technologie utilisée sur le MTA ou sur le MUA, si les deux implémentent IMAP ou POP, ils parlent
“le même langage” et se comprendront.
Avec le protocole POP, le MUA va télécharger les messages à intervalle régulier (toutes les 5 minutes par exemple) et
sauvegarder les messages sur la machine utilisée (ordinateur ou téléphone). Par défaut, les messages sont téléchargés,
sauvegardés sur la machine utilisée et supprimé du serveur. Si plusieurs clients de messageries sont configurés avec les
paramètres par défaut en POP, le premier qui va se connecter va récupérer l'intégralité des messages et les supprimer du
serveur. Par conséquent, lorsque le deuxième client de messagerie (celui de votre téléphone par exemple) va se connecter,
il ne va rien récupérer, car le serveur répondra qu'il n'y a pas de nouveau message.
IMAP est plus récent que POP et présente l'énorme avantage de pouvoir synchroniser plusieurs clients de messageries ce
qui devient indispensable si vous avez un ordinateur et un téléphone portable par exemple. De plus, les serveurs IMAP
sont plus complexes à installer et à maintenir que les serveurs POP.

1.2.6. STRUCTURE D’UN COURRIER ELECTRONIQUE


La structure d'un courrier électronique comprend une enveloppe, l’entête et le corps :
Elément Description

Enveloppe Contient des informations sur la transmission et la livraison du message électronique, et est utilisée
par les serveurs de messagerie pour acheminer le message correctement. Cette partie de message
n'est pas visible pour l'utilisateur final.

11 | P a g e
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

Message proprement dit : Composé de deux éléments les champs d’entêtes et le corps du message
Les champs Fournissent des informations de nature variée sur le message. Les champs d’entêtes peuvent être
d’entêtes classés selon leurs catégorie d’usage.

o Expéditeur (From) : L'adresse e-mail de l'expéditeur du message.


o Destinataire (To, CC, BCC) : Les adresses e-mail des destinataires du message. "To"
indique les destinataires principaux, "CC" (Carbon Copy) indique les destinataires en copie,
et "BCC" (Blind Carbon Copy) indique les destinataires en copie cachée.
o Objet (Subject) : Le sujet du message, qui résume brièvement son contenu.
o Date (Date) : La date et l'heure à laquelle le message a été envoyé.
o Autres en-têtes : Des en-têtes supplémentaires peuvent être ajoutés pour spécifier des
informations telles que les priorités, les identifiants uniques, les retours de réception, etc
Le corps Contient le contenu principal du message, y compris le texte, les pièces jointes, les images, etc.

Tableau 5-2 : Principales composants d’un courrier électronique.

1.2.7. FORMAT DE MESSAGE MIME


Le protocole MIME (Multipurpose Internet Mail Extensions) est un ensemble de normes et de conventions (RFC 2045 11,
RFC 204612, RFC 204713, RFC 204814, RFC 204915) qui étendent les capacités du protocole SMTP pour permettre
l'échange de messages multimédias sur Internet.
Ce protocole a été proposé par les laboratoires Bell Communications en 1991 afin d'étendre les possibilités limitées du
courrier électronique (mail) et notamment de permettre d'insérer des documents (images, sons, texte, ...) dans un courrier.
MIME apporte à la messagerie les fonctionnalités suivantes :
o Possibilité d'avoir plusieurs objets (pièces jointes) dans un même message ;
o Une longueur de message illimitée ;
o L'utilisation de jeux de caractères (alphabets) autres que le code ASCII ;
o L'utilisation de texte enrichi (mise en forme des messages, polices de caractères, couleurs, etc.) ;
o Des pièces jointes binaires (exécutables, images, fichiers audio ou vidéo, etc.),
MIME propose de décrire, grâce à des en-têtes, le type de contenu du message et le codage utilisé :
o MIME-Version : La version du MIME utilisée dans le message. Actuellement seule la version 1.0 existe.
o Content-type : Décrit le type et les sous-types des données (Ex : Content-type: image/gif, image GIF).
o Content-Transfer-Encoding : Définit l’encodage utilisé dans le corps du message.
o Content-ID : Représente un identificateur unique de partie de message.
o Content-Description : Donne des informations complémentaires sur le contenu du message.
o Content-Disposition : Définit les paramètres de la pièce jointe, notamment le nom associé au fichier grâce à
l'attribut filename.
Les types principaux de données, appelés parfois « types de données discrets », sont les suivants :
o text : données textuelles lisibles.
o image : données binaires représentant des images numériques image/jpeg ; image/gif ; image/png.
o audio: données numériques sonores audio/basic ; audio/wav
o video : données vidéos : video/mpeg
o application : données binaires autres. application/octet-stream ; application/pdf.

11
https://datatracker.ietf.org/doc/html/rfc2045,
12
https://datatracker.ietf.org/doc/html/rfc2046,
13
https://datatracker.ietf.org/doc/html/rfc2047,
14
https://datatracker.ietf.org/doc/html/rfc2048,
15
https://datatracker.ietf.org/doc/html/rfc2049

12 | P a g e
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

La Figure 5.10 montre un message, envoyé par "Smith, John" depuis jsmith@college.edu à "Peter Adams" à
peter_adams@hotmail.com, concerne l'examen "CS Mid Term". Il a été envoyé le vendredi 3 mars 2024 à 09h08 HNE.
La version MIME est 1.0, indiquant la version du protocole MIME. Le “Content-Type” spécifie que l'e-mail est
multipartite, avec "multipart/alternative" indiquant plusieurs versions de contenu fournies pour que les clients de
messagerie des destinataires puissent choisir. Le paramètre de limite, "-------_NextPart_001_01C3AF7F.35820A9B",
définit la chaîne unique séparant chaque partie de l'e-mail, facilitant l'affichage correct de son contenu.
La partie de métadonnées indique que l'e-mail provient du serveur EXCHANGEMAIL.COLLEGE.EDU avec l'adresse
IP 67.251.122.30. Il a ensuite été reçu par le serveur bay0-mc10-f2.bay0.hotmail.com via Microsoft SMTPSVC version
6.0.3790.211 le vendredi 3 mars 2024 à 06h08:12 AM, heure normale du Pacifique, et il a été généré par Microsoft
Exchange version 6.5.7226.0.
From: “Smith, John” jsmith@college.edu
To: “Peter Adams” peter_adams@hotmail.com
Subject: CS Mid Term
Date: Fri, 3 Mar 2024 09:08:10 –0500
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary-“------_-_NextPart_001_01C3AF7F.35820A9B”

(Metadonnées)
Received: from EXCHANGEMAIL.COLLEGE.EDU ([67.251.122.30]) by
bay0-mc10-f2.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.211) / Fri, 3
Mar 2024 06:08:12 _0800
X-Message-Info: JGTYoYF78jEHjJx36oi8+z3TmmkSEdPtfpLB7p/ybN8=
Content-class: urn:content-classes:message
X-MimeOLE: Produced by Microsoft Exchange V6.5.7226.0
X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: CS Mid Term
Threaded-Index: AcY+qksOm64v+jHSd+jwoRpQ5vCCwAICufp
References: <BAY108-F243FC3114EB6165216203E9EA08phx.gb1>
Return-Path: jsmith@college.edu
X-OriginalArrivalTime: 3 Mar 2024 14:08:12.0085 (UTC)
FILETIME-[E827E650:01C63ECB]

This is a multipart message in MIME fromat.

(Première partie du message, qui est au format texte brut)


----_-_NextPart_001_01C3AF7F.35820A9B (paramètre de limite)
Content-Type: text/plain;
Charset=”utf-8”
Content-Transfert-Encoding: base64 (pour la transmission de caractères non ASCII)

RGVhciBTdHVkZW50LA0KIA0KVG9uaWdodCBhZnRlciBvdXIg01M1NIMgY2xhc3MgKGF0IDc6MzAg
UE0pIHIvdSBhcmUgaW52aXRlZCB0byB2aXNpdcBvdXIgY29sbGVnZSBJVCBMQU4gQ2VudGVyIGxv
Y2F0ZWQgaW4gdGhlIFNUSCBidWlsZGluZyBvbiB0aGUgZmlyc3QgZmxvb3IgbmVhci==

(Deuxième partie du message, qui est au format HTML)


----_-_NextPart_001_01C3AF7F.35820A9B (paramètre de limite)
Content-Type: text/html;
Charset=”utf-8”
Content-Transfert-Encoding: base64

PCFETONUWVBFIEhUTUwgUFVCTEIDCItLy9XM0MvL0RURCBIVElMIDQuMCBUcmFuc210aW9uYWwv
L0VOIj48SFRNTD48SEVBRD48TUVUQSBIVERQLUVRVUlWPSJD250ZW50LVR5cGUiIENPTlRFTlQ9
InRleHQvaHRtbDsgY2hhcnN1dD11dGYtOCI+PC9IRUFEPjxCT0RZPjxESVY+RGVhcBTdHVkZW50
LDwvREl=

Figure 5.10: Message électronique avec le format MIME

13 | P a g e
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

1.3. SEVEURS D’APPLICTIONS - WEB (HTTP)

1.3.1. INTRODUCTION AU WORLD WIDE WEB (WWW)


Le Web, abréviation de World Wide Web, est un réseau mondial de documents et de ressources interconnectés accessibles
via Internet. Il a été inventé par Tim Berners-Lee à la fin des années 1980 alors qu'il travaillait au CERN 16 (Organisation
européenne pour la recherche nucléaire).

Figure 5.11: Il y a 50 ans, le premier message Internet a été envoyé depuis la station UCLA (1969)

Le web peut être défini comme un système d'information global basé sur l'hypertexte, où tous les documents et ressources
sont formatés à l'aide du langage de balisage hypertexte (HTML). En fait, HTML et le protocole http (Hypertext Transport
Protocol) facilitent la recherche et la visualisation des données et des documents stockés sur des ordinateurs connectés à
Internet. Au cœur du web se trouvent trois composantes clés :
1) Hypertexte : Le concept d'hypertexte permet de lier des documents entre eux à travers des hyperliens. Un
hyperlien est une référence ou une connexion qui permet aux utilisateurs de naviguer entre différentes pages web
en cliquant sur un lien. Cette interconnexion forme l'ossature du web, permettant aux utilisateurs d'explorer un
vaste réseau d'informations. Le terme a été inventé par Ted Nelson en 1965.

Figure 5.12: Concept d'hypertexte.

2) Serveurs Web : Les serveurs web jouent un rôle crucial dans le fonctionnement du Web. Ils sont responsables
du stockage et de la livraison du contenu web aux clients. Lorsqu'un utilisateur demande une page web, son
navigateur web envoie une requête à un serveur web, qui traite ensuite la demande et renvoie la page web
demandée au navigateur de l'utilisateur pour affichage. Les logiciels de serveur web populaires sont :

16
https://home.cern/

14 | P a g e
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

o Apache HTTP Server17 : Apache est l'un des serveurs web open-source
les plus largement utilisés. Il est reconnu pour sa stabilité, sa flexibilité et
ses nombreuses fonctionnalités.
o Nginx18 : Nginx (prononcé "engine x") est un serveur web léger et
performant ainsi qu'un serveur proxy inverse connu pour son efficacité
dans la gestion des connexions simultanées.
o Microsoft Internet Information Services (IIS) 19 : IIS est un logiciel de
serveur web développé par Microsoft pour les serveurs Windows. Il offre
des fonctionnalités robustes et une intégration transparente avec d'autres
technologies Microsoft.
3) Navigateurs Web : Les navigateurs web sont des applications logicielles qui permettent aux utilisateurs
d'accéder et de visualiser des pages web. Les navigateurs interprètent et rendent le code HTML, CSS et
JavaScript des pages web pour les afficher dans un format convivial. Les navigateurs web populaires incluent :
o Chrome,
o Firefox,
o Safari,
o Brave,
o Opera,
o Microsoft Edge, etc.

1.3.2. ARCHITECTURE DU WEB ET


L'architecture du web repose sur le modèle client-serveur, où les interactions se font entre les clients (comme les
navigateurs web des utilisateurs) et les serveurs web. Lorsqu'un utilisateur accède à une page web, son navigateur envoie
une requête à un serveur web pour obtenir le contenu de la page demandée. Le serveur web traite cette requête et renvoie
la page au navigateur de l'utilisateur, qui l'affiche ensuite.
Cette architecture permet une distribution efficace du contenu sur Internet, avec les serveurs web hébergeant les données
et les ressources, et les navigateurs web offrant une interface conviviale pour les utilisateurs finaux. En outre, des
protocoles comme HTTP (Hypertext Transfer Protocol) régissent les échanges de données entre les clients et les serveurs,
assurant ainsi un transfert fiable et sécurisé du contenu sur le web.

Figure 5.13: Architecture (client/serveur) du Web

1.3.3. PROTOCOLE HTTP


Le protocole HTTP (Hypertext Transfer Protocol) est un protocole de communication utilisé pour transférer des données
sur le World Wide Web (WWW). Il définit la manière dont les messages sont formatés et transmis entre les clients (comme
les navigateurs web des utilisateurs) et les serveurs web. Le port par défaut pour le protocole HTTP est le port 80.

17
https://httpd.apache.org/
18
https://www.nginx.com/
19
https://www.iis.net/

15 | P a g e
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

Les principales versions de http sont :


o HTTP/0.9 (1991) : Étant la première version du protocole HTTP, elle n'était pas formellement standardisée.
o HTTP/1.0 (RFC 194520 - 1996) : Elle a introduit plusieurs fonctionnalités supplémentaires par rapport à
HTTP/0.9, telle que la prise en charge des méthodes POST pour soumettre des données.
o HTTP/1.1 (RFC 261621 - 1999) : Elle a introduit des améliorations significatives en termes de performances,
d'efficacité et de sécurité (e.g., réutilisation des connexions TCP (persistentes)).
o HTTP/2 (RFC 7540 22- 2015) : Elle introduit notamment le multiplexage des flux (stream multiplexing) sur une
seule connexion TCP, la compression des en-têtes de requête et de réponse, la priorisation des flux et la
transmission des ressources sous forme binaire plutôt que textuelle.
o HTTP/3 : Encore en cours de développement. Il est basé sur le protocole QUIC (Quick UDP Internet
Connections) et vise à améliorer les performances et la sécurité du web en utilisant l'UDP à la place du TCP pour
le transport des données.
Le protocole HTTP fonctionne selon un modèle client-serveur. Le client, généralement un navigateur web, envoie des
requêtes HTTP au serveur pour demander des ressources spécifiques (serveur web). Le serveur traite ces requêtes et
renvoie des réponses correspondantes au client. Les réponses peuvent inclure des données, des codes d'état (comme 200
OK pour une requête réussie ou « 404 Not found » pour une ressource manquante), des en-têtes HTTP pour fournir des
informations supplémentaires, etc.
Les méthodes HTTP définissent les actions que le client souhaite entreprendre sur une ressource spécifiée par l'URI
(Uniform Resource Identifier). Les méthodes HTTP les plus couramment utilisées sont :
Method Description
GET Demander des données à partir d'une ressource spécifiée.
POST Soumettre des données à être traitées par le serveur.
PUT Envoyer des données pour être stockées sur le serveur à l'emplacement spécifié par l'URI
DELETE Supprimer la ressource spécifiée par l'URI du serveur
PATCH Appliquer des modifications partielles à une ressource
HEAD Similaire à la méthode GET, mais utilisée pour obtenir uniquement les en-têtes de la réponse
HTTP sans le corps de la réponse.
OPTIONS Demander les options de communication disponibles pour la ressource spécifiée par l'URI.
Tableau 5-3: méthodes HTTP les plus couramment utilisées.

Les codes de réponse HTTP sont des indicateurs numériques envoyés par le serveur en réponse à une requête HTTP
effectuée par le client. Ces codes fournissent des informations sur le statut de la requête et permettent au client de
comprendre le résultat de son action. Les codes les plus couramment utilisées sont :
Method Indication
200 OK La requête a été traitée avec succès et que la réponse contient les données demandées
201 Created La requête a été traitée avec succès et qu'une nouvelle ressource a été créée en conséquence
204 No Content La requête a été traitée avec succès, mais qu'il n'y a pas de contenu à renvoyer dans la réponse
400 Bad Request La requête du client est incorrecte ou mal formée et ne peut pas être traitée par le serveur.
401 Unauthorized Les informations d'identification fournies par le client sont invalides ou manquantes
404 Not Found La ressource demandée n'a pas été trouvée sur le serveur
Tableau 5-4: Codes de réponse HTTP les plus couramment utilisées.

20
https://datatracker.ietf.org/doc/html/rfc1945
21
https://datatracker.ietf.org/doc/html/rfc2616
22
https://datatracker.ietf.org/doc/html/rfc7540

16 | P a g e
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

Example d’une capture Wireshark d’une requête HTTP et sa réponse.


Le premier message est une requête HTTP de type GET qui demande la ressource racine ("/") du serveur web Apache -
version 2.4.6 situé à l'adresse IP "30.25.140.138" sur le port 80. Le client a utilisé Mozilla Firefox version 5.0 sur un
système Macintosh avec Mac OS X 10.10.3 pour effectuer la requête.
Le deuxième message est une réponse HTTP de la première requête avec le code de statut 200 OK, indiquant que la requête
a été traitée avec succès et que la réponse contient une page web avec le titre « Directory listing for ».
GET / HTTP/1.1
Host: 30.25.140.138:80
Accept: text/html, application/xhtml+xml, application/xml; q=0.9, image/
Webp, */*;q=0.8
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10 10 3)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124
Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US, en ;q=0.8

HTTP/1.0 200 ok
Server: Apache/2.4.6 (CenOS) PHP/5.4.16
Date: Sun, 21 Jun 2023 17:49:36 GMT
Content-Type: text/html, charset=UTF-8
Content-Length: 828

<!DOCTYPE html PUBLIC « -//W3C//DTD HTML 3.2 Final//EN”><html>


<title> Directory listing for </title>
<body>

Figure 5.14: Capture Wireshark après une requête HTTP GET et sa réponse

1.3.4. Hypertext Transfer Protocol Secure


HTTPS, ou Hypertext Transfer Protocol Secure, est une extension sécurisée du protocole HTTP utilisé pour transférer
des données sur le Web. Il utilise une couche de sécurité supplémentaire fournie par le protocole SSL/TLS pour crypter
les données échangées entre le client et le serveur. Cette cryptographie assure la confidentialité et l'intégrité des données,
empêchant ainsi les interceptions et les manipulations de données par des tiers malveillants.

En 1994, Netscape a lancé le protocole HTTPS pour son navigateur Netscape Navigator. Initialement compatible avec
SSL, HTTPS a ensuite adopté TLS, comme précisé dans la RFC 2818 23de mai 2000. Aujourd'hui, HTTPS sécurise la
majeure partie du trafic web, avec une diminution notable des sites HTTP. Le protocole HTTPS utilise le port 443 par
défaut, qui un port très souvent ouvert derrière les pare-feux.

Note : SSL (« Secure Socket Layer ») ou TLS (« Transport Layer Security ») sont deux versions de protocoles destinés à
sécuriser les données et surtout les échanges sur Internet grâce à des systèmes de chiffrement et des vérifications avancées
gérées à partir de clés publiques et privées.

1.3.5. Uniform Resource Locator (URL)


Une URL (Uniform Resource Locator) est une adresse standardisée utilisée pour identifier et localiser des ressources sur
Internet. En d’autres termes, une URL est l'adresse web que vous saisissez dans un navigateur web pour accéder à une
page web spécifique, un fichier ou une ressource. Elle est composée de plusieurs éléments :

23
https://datatracker.ietf.org/doc/html/rfc2818

17 | P a g e
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

Elément Description

Protocole Spécifie le protocole utilisé pour accéder à la ressource, tel que "http://" pour le trafic web non
crypté ou "https://" pour le trafic web sécurisé et crypté
Domaine DNS Identifie le nom de domaine du site web ou du serveur où la ressource est hébergée. Par exemple,
"www.exemple.com".
Chemin Indique l'emplacement spécifique ou le chemin dans la structure de répertoire du site web où la
ressource désirée est située. Il peut s'agir d'une page web spécifique, d'un fichier ou d'un
répertoire. Par exemple, "/blog/article.html".
Paramètres de Des informations supplémentaires ajoutées à l'URL qui sont utilisées pour transmettre des
requête données au serveur ou modifier le comportement de la ressource demandée. Les paramètres de
requête sont généralement indiqués par un point d'interrogation "?" suivi de paires clé-valeur.
Par exemple, "?id=123&category=livres".
Identificateur de Il fait référence à une section ou un point d'ancrage spécifique à l'intérieur d'une page web. Il est
fragment indiqué par un symbole dièse "#" suivi de l'identifiant. L'identificateur de fragment est
principalement utilisé pour créer un lien vers une section spécifique d'une page web. Par
exemple, "#section3".

Tableau 5-5: Composants d’une URL.

Exemple : La Figure 5.15 montre les différents composants d'une URL complète.

Figure 5.15: Composants d’une URL.

1.4. SEVEURS D’APPLICTIONS - TRANSFERT DES FICHIERS (FTP)


1.4.1. DEFINITION
Le Protocole FTP (File Transfer Protocol) est un protocole standard utilisé pour le transfert de fichiers entre un client et
un serveur sur un réseau TCP/IP, tel qu'Internet. Il a été développé dans les années 1970 et est resté un pilier essentiel des
communications de fichiers sur le web et les réseaux locaux.
La version originale du ce protocole a été définie dans la RFC 95924 en 1985. Après, plusieurs autres extensions et
améliorations ont été introduit au fil du temps, telles que :
o FTP (RFC 2228 25 - 1997) : cette version a introduit des extensions génériques pour FTP, permettant d'ajouter
de nouvelles fonctionnalités au protocole.
o FTPS (FTP sécurisé) (RFC 421726 - 2005) : Cette version spécifie l'utilisation de SSL/TLS pour sécuriser les
communications FTP, offrant un chiffrement et une authentification renforcés.
o SFTP (SSH File Transfer Protocol) (RFC 425327 - 2006, RFC 425428 - 2006) : Bien que souvent confondu
avec FTPS, SFTP est en fait un protocole distinct qui utilise SSH pour sécuriser les transferts de fichiers.

24
https://www.rfc-editor.org/rfc/rfc959.html
25
https://datatracker.ietf.org/doc/html/rfc2228
26
https://datatracker.ietf.org/doc/html/rfc4217
27
https://datatracker.ietf.org/doc/html/rfc4253
28
https://datatracker.ietf.org/doc/html/rfc4254

18 | P a g e
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

Le port TCP par défaut pour les connexions de contrôle FTP est le port 21. C'est le port sur lequel le serveur FTP écoute
les connexions entrantes des clients pour les commandes de contrôle, telles que la navigation dans les répertoires, la
création de répertoires, etc.

1.4.2. FONCTIONNEMENT DE BASE


Le fonctionnement de base du FTP implique un client FTP qui se connecte à un serveur FTP pour effectuer des opérations
de transfert de fichiers.
1) Client FTP : Un client FTP est une application logicielle utilisée par un utilisateur pour se connecter à un serveur
FTP et transférer des fichiers entre son propre ordinateur et le serveur distant. Les applications client FTP les
plus connues sont :
o FileZilla (Windows, Mac et Linux),
o WinSCP (Windows),
o Cyberduck (Mac et Windows),
o Core FTP (Windows),
o FireFTP (Firefox),
o SmartFTP (Windows), etc.
Typiquement un client FTP se présente avec deux fenêtres, à gauche les dossiers et fichiers locaux, à droite, les
dossiers et fichiers distants du serveur FTP.

Dossiers et fichiers locaux Dossiers et fichiers distants


du serveur FTP

Figure 5.16: Interface web du client FTP WinSCP

2) Serveur FTP : Un serveur FTP est une application logicielle qui fonctionne sur une machine serveur et
permet à des utilisateurs distants d'échanger des fichiers avec le serveur via le réseau. Les applications serveur
FTP les plus connues sont :
o FileZilla Server (Windows, Mac et Linux),
o ProFTPD (Unix),
o vsftpd (Very Secure FTP Daemon) (Unix),
o Cerberus FTP Server,
o Titan FTP Server,
o Pure-FTPd (Unix),
o CrushFTP (Windows, Mac et Linux), etc.

Les fonctionnalités typiques d'un serveur FTP sont :


– Gestion des connexions,
– Authentification des utilisateurs,
– Contrôle des accès,

19 | P a g e
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

– Gestion des fichiers,


– Gestion des erreurs et des logs

Figure 5.17: Client FTP et Serveur FTP

Les utilisateurs FTP peuvent copier les fichiers en local ou distant :


o Envoi (upload) : lorsque le client envoie un fichier vers le serveur FTP distant
o Réception (download) : lorsque le client télécharge un fichier depuis le serveur FTP distant

Le protocole FTP prend en charge deux modes de transfert de données principaux : mode actif et mode passif.
o Mode actif (le client agit en tant que serveur) : Dans ce mode, le client ouvre un port de données et le serveur se
connecte à ce port pour envoyer ou recevoir des données. Ce mode peut poser des problèmes de sécurité car le
serveur doit se connecter au client, ce qui peut être bloqué par certains pare-feux.
– Le client FTP se connecte au port de contrôle du serveur FTP,
– Le serveur répond,
– Le client ouvre un port de données (généralement le port 20),
– L’échange de données se fait vers le port de données du client.
o Mode passif (c’est le serveur FTP agit en tant que serveur) : Dans ce mode, le client ouvre un port de données
et le serveur répond avec le port qu'il utilisera pour la connexion de données. Cela permet d'éviter les problèmes
de pare-feu car toutes les connexions de données sont initiées par le client.
– Le client FTP se connecte au port de contrôle du serveur FTP,
– Le serveur répond,
– Le serveur ouvre un port de données,
– L’échange de données se fait vers le port de données du serveur.

Figure 5.18: Fonctionnement du protocole FTP pour partager ses fichiers

20 | P a g e
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

Note : le mode actif n’est pas possible lorsque le client se trouve derrière un pare-feu ou un routeur, tout simplement
parce que le port de de données ne sera pas accessible.

1.5. TD#05

Questions de cours (Service de messagerie)


1) Quelle est la différence entre POP3 et IMAP ?
2) Quel est le point commun entre les protocoles SMTP POP3 et IMAP ?
3) Quels sont les ports par défaut pour SMTP, POP3 et IMAP ?
4) Quelles sont les étapes du processus d'envoi d'un e-mail via SMTP ?
5) Qu'est-ce que MIME et pourquoi est-il important dans les e-mails ?
6) Citez quelques méthodes pour lutter contre le spam dans un serveur de messagerie
7) On souhaite envoyer un mail via le protocole SMTP, avec des champs To:, Cc: et Bcc:, expliquer comment
SMTP gère ces trois types de destinataires.
Questions de cours (Services d’applications, HTTP)
1. Décomposez l’URL suivante en ses parties constitutives et expliquez le rôle de chacune.
https://exemple.co.uk :443/blog/article/search ?dorcid=720&hl=en#dayone
2. Expliquez le concept de cookies dans HTTP.
3. Comment les cookies sont-ils utilisés pour maintenir l'état des sessions sur le web ?
4. Expliquez la différence entre HTTP et HTTPS.
5. Quel est la différence entre HTTP et HTML ?
6. Qu'est-ce qu'un code d'état HTTP ?
Questions de cours (Services d’applications, FTP)
1. Quelles sont les différences entre FTP actif et FTP passif ?
2. Quels sont les avantages et les inconvénients d’utiliser le mode FTP passif par rapport au mode FTP actif ?
3. Expliquez les étapes impliquées dans une session FTP
4. Quelles sont les commandes FTP de base et leurs utilisations ? Donnez quelques exemples.
5. Comment sécuriser une session FTP ? Mentionnez au moins trois méthodes
6. Expliquez la signification des codes de réponse FTP 200 et 404.
7. Quelles sont les limitations du protocole FTP en termes de sécurité ?
8. Proposez au moins deux méthodes pour renforcer la sécurité lors de l'utilisation de FTP.
Exercice 01 (SMTP) : Supposons que l’on ait la conversation suivante entre un client et un serveur SMTP (les lignes
précédées de S : proviennent du serveur, celles précédées de C : du client) :

21 | P a g e
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

1) Expliquez la différence de signification entre les deux lignes


o C: RCPT TO:alice@example.com
o C: To: alice@example.com
2) Donner le nom du serveur de messagerie.
3) Expliquez les codes de réponses 220, 250, 221 et 354 utilisées dans la conversation.
4) En supposant que tous les serveurs SMTP par lesquels le message est passé (et par lesquels il passera) sont
correctement configurés et fiables, de quelle adresse provient le message, et à quelles adresses arrivera-t-il ?
Exercice 02 (MIME) : Vous disposez d'un e-mail MIME suivant :
From: john.doe@example.com
To: jane.smith@example.com
Subject: Exemple d'e-mail MIME

MIME-Version: 1.0
Content-Type: multipart/mixed; Boundary=“------_-
_NextPart_001_01C3AF7F.35820A9B”

This is a multi-part message in MIME format.


------_-_NextPart_001_01C3AF7F.35820A9B”
Content-Type: text/plain; charset="utf-8"

Bonjour Jane,

Voici un e-mail de démonstration avec un contenu texte.

Cordialement,
John

--------_-_NextPart_001_01C3AF7F.35820A9B”
Content-Type: image/jpeg
Content-Disposition: attachment; filename="example.jpg"

[Contenu de l'image JPEG]

--------_-_NextPart_001_01C3AF7F.35820A9B”

Analysez son contenu et répondez aux questions qui suivent :


1) Quel est le type de contenu global de cet e-mail MIME ?
2) Combien de parties distinctes cet e-mail MIME contient-il ?
3) Quel est le type de contenu de chaque partie ?
4) Quel est le fichier joint à cet e-mail et quel est son type ?
5) Comment le contenu de l'image est-il encapsulé dans l'e-mail MIME ?
Exercice 03 : Supposons que l’on ait la conversation au-dessous entre un client et un serveur POP3 (les lignes
précédées de S : proviennent du serveur, celles précédées de C : du client) :
1) Quel port est utilisé pour la connexion POP3 ?
2) Quel est le message d'accueil initial du serveur POP3 ?
3) Quelles sont les étapes nécessaires pour ouvrir une session POP3 ?
4) Comment le client POP3 vérifie-t-il l'état de la boîte aux lettres ?
5) Combien d'e-mails y a-t-il dans la boîte aux lettres ?
6) Quelle est la taille du premier e-mail ?
7) Quelles sont les commandes pour récupérer et supprimer un e-mail ?
8) Comment le client POP3 termine-t-il la session ?

22 | P a g e
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

C: Telnet pop.example.com 110


S: +OK POP3 server ready <1234567890@example.com>
C: USER username
S: +OK User accepted
C: PASS password
S: +OK Mailbox opened
C: STAT
S: +OK 3 300
C: LIST
S: +OK 3 messages (300 octets)
S: 1 100
S: 2 150
S: 3 50
C: RETR 1
S: +OK 100 octets
S: [Contenu du premier e-mail]
C: DELE 1
S: +OK Message deleted
C: RETR 2
S: +OK 150 octets
S: [Contenu du deuxième e-mail]
C: DELE 2
S: +OK Message deleted
C: QUIT
S: +OK Goodbye

Exercice 04 : Expliquez brièvement le message dans la capture Wireshark ci-dessous, en précisant les informations
suivantes : type de message : requête/réponse, type de serveur/client, adresse IP serveur/client, numéro d’ordre et la
signification de ce message.

Exercice 05 : Expliquez le message dans la capture Wireshark ci-dessous, en répondant aux questions suivantes :

1) Quel est le FQDN (Fully Qualified Domain Name) d'hôte serveur (nom de serveur).
2) Quelle est la version d'HTTP du navigateur de la machine cliente.
3) Le champs « If-Unmodied-Since » est-il présent ? Si oui, quelle information contient-il ? Expliquez en quelques
mots ce que signifie la présence de ce champ.
4) Quel est le nom et la version du navigateur de la machine cliente.
5) Quelle est la valeur du champ Connection ? A quoi sert ce champ ?

23 | P a g e
CHAPITRE 5 : SERVICES DE MESSAGERIE ET D’APPLICATIONS (HTTP, FTP)

24 | P a g e

Vous aimerez peut-être aussi