Chap2 FTP
Chap2 FTP
Introduction et normalisation
Théorie du protocole FTP
Implémentations pratiques
Créer un serveur FTP sous Windows
Créer un serveur FTP sous Ubuntu
Un exemple de Client FTP: FileZilla (pour Windows/Linux)
de copie est souvent utilisé pour alimenter un site web hébergé chez un tiers.
FTP obéit à un modèle client-serveur. En pratique, le serveur est sur lequel
fonctionne un logiciel (serveur FTP), qui rend publique une arborescence de
fichiers (comme celle de UNIX). Pour accéder à un serveur FTP, on utilise un
logiciel client FTP ( ayant une interface graphique ou en ligne de commande).
FTP, qui appartient à la couche application du modèle OSI, utilise une
connexion TCP. Par convention, pour les connexions FTP : le port 21 pour les
commandes et le port 20 pour les données.
Note 2 : Il existe un protocole TFTP (Trivial FTP) qui est lui basé sur UDP.
Note 3 : La variante de FTP protégée par les protocoles SSL (ou TLS) s’appelle
SFTP (Secure File Transfer Protocol).
serveurs FTP lorsque ces utilisateurs sont derrière une passerelle NAT. le serveur
FTP lance la connexion de données en se connectant à l’adresse externe de la
passerelle NAT sur le port choisi. Certaines passerelles NAT n’ayant pas de
correspondance pour le paquet reçu dans la table d’état (le paquet sera ignoré).
En mode passif, le serveur FTP détermine lui-même le port de connexion à
utiliser pour permettre le transfert des données (data connexion) et le
communique au client. En cas de présence d’un pare-feu devant le serveur, celui-ci
devra être configuré pour autoriser la connexion de données. L’avantage de ce
mode est que le serveur FTP n’initialise aucune connexion. Ce mode fonctionne
sans problème avec des clients derrière une passerelle NAT. Dans les nouvelles
implémentations, le client initialise et communique directement par le port 21 du
serveur ; cela permet de simplifier les configurations des pare-feu serveur.
Technologie des serveurs 9
2. Théorie du protocole FTP
3) La connexion de contrôle
Cette connexion fonctionne en mode texte (aisée à simuler avec Telnet). Par
exemple, la commande suivante demande le téléchargement du fichier fichier.txt :
RETR fichier.txt
Note : Les commandes telles que GET ou PUT ne sont pas reconnues dans le
Chapitre 2: Le service FTP
protocole FTP, mais souvent utilisées par les logiciels de client FTP.
Le client reçoit une ou plusieurs réponses du serveur. Chaque réponse est précédée
d’un code décimal permettant au client FTP de traiter la réponse. Pour l’exemple
précédent, si le serveur trouve le fichier demandé, il envoie au client :
150 File status okay; about to open data connection.
Selon ce que le client et le serveur sont convenus, l’un des deux écoute sur le port,
et l’autre s’y connecte pour établir la connexion de données. Puis le serveur envoie
au client le contenu du fichier demandé, ferme la connexion de données, et envoie
la réponse suivante sur la connexion de contrôle :
226 Closing data connection.
Note: La connexion de contrôle réutilise le protocole de contrôle du terminal
NVT (Network Virtual Terminal) introduite au départ pour Telnet, sous une
forme simplifiée.
Technologie des serveurs 10
2. Théorie du protocole FTP
4) La connexion de données
La connexion de données est établie pour la durée de transmission de données. En
général, elle est établie pour le transfert de données d’une seule commande, à
moins qu’un autre mode de transmission soit sélectionné et supporté par le
serveur.
Chapitre 2: Le service FTP
ascii Bascule du mode binary au mode ascii. Ce mode est le mode par défaut.
type Permet d’afficher le mode courant de transfert (binary ou ascii).
Vous permet de réouvrir une session sur le site FTP en cours avec un nom
user
d’utilisateur différent. Un nouveau mot de passe vous sera alors demandé.
Permet de lister les fichiers présents dans le répertoire courant. La commande "ls -l"
ls
donne des informations supplémentaires sur les fichiers.
pwd Affiche le nom complet du répertoire courant.
Cette commande signifie change directory, elle permet de changer le répertoire
cd
courant. La commande "cd .." permet d’accéder au répertoire de niveau supérieur.
Le commande mkdir (sous UNIX, ou md sous système Microsoft) permet de créer
mkdir un répertoire dans le répertoire courant. L’utilisation de cette commande est
réservée aux utilisateurs ayant un accès le permettant.
Le commande rmdir (sous UNIX, ou rd sous système Microsoft) permet de
rmdir supprimer un répertoire dans le répertoire courant. L’utilisation de cette commande
est réservée aux utilisateurs ayant un accès le permettant.
Technologie des serveurs 12
2. Théorie du protocole FTP
Commande Description
Cette commande permet de récupérer un fichier présent sur le serveur :
Si la commande est suivie d’un nom de fichier, le fichier distant est transféré sur
la machine locale dans le répertoire local en cours.
Si la commande est suivie de deux noms de fichiers, le fichier distant (le premier
get
nom) est transféré sur la machine locale dans le répertoire local en cours, avec le
Chapitre 2: Le service FTP
par FTP. Avec cette technique, le serveur FTP ne consomme pas de ressources sur
le serveur lorsque personne n’est connecté, mais le démarrage du serveur FTP est
plus lent.
Indépendamment : ProFTPd est lancé dès le démarrage du serveur et tourne
toujours en tâche de fond. Il est recommandé de choisir cette option.
Note 1 : Globalement, la première technique est recommandée pour un serveur
FTP qui a peu de connexions par jour, et la seconde pour un serveur FTP
fréquemment utilisé. En pratique, on sélectionne indépendamment (qui est d’ailleurs
la valeur par défaut). Le serveur FTP n’en sera que plus réactif et les serveurs ont
aujourd’hui assez de mémoire pour ne pas être gênés par la présence d’un serveur
FTP.
Note 2 : proftpd = pro ftp daemon
Technologie des serveurs 25
5. Créer un serveur FTP sous Ubuntu
2) Configurer ProFTPd
Le fichier de configuration est /etc/proftpd/proftpd.conf. Voici les lignes que
vous pouvez modifier (ou non) selon vos souhaits :
ServerName : Indique le nom du serveur FTP. Ce nom sera affiché lorsque des
clients se connecteront au serveur.
Chapitre 2: Le service FTP
Note: Utiliser le client FTP intégré à votre navigateur web est pratique mais limité.
Vous pourrez seulement voir et télécharger des fichiers, mais pas en ajouter. Si
vous voulez en ajouter, utilisez un vrai client FTP comme FileZilla.
B) Utiliser un client FTP dédié comme FileZilla
Une fois FileZilla installé, il suffit de remplir les champs de connexion en haut de
la fenêtre :
Dans le menu Edit, sélectionner Settings. Dans la partie Interface settings, choisir
Language, à droite sélectionner Français.
3) Comprendre l’interface de FileZilla (Exemple 1)
Exemple 1:
➀ Communication entre FileZilla (commandes) et le serveur FTP (réponses)
➁ Cette partie correspond au(x) disque(s) présent(s) sur le micro-ordinateur.
➂ Il s’agit de votre espace disponible sur le serveur de votre hébergeur
Note : Le symbole permet de remonter dans la hiérarchie des dossiers.
➀
Chapitre 2: Le service FTP
➁ ➂
au serveur FTP,
cliquer la flèche à
droite de l’icône
dans la barre
d’outils, et choisir le
nom de la
connexion désirée.
Note : Comme sur votre disque dur, vous pouvez créer des répertoires sur le
serveur pour organiser vos fichiers. Pour cela cliquer-droit dans la partie Site
Distant et sélectionner Créer un répertoire. Le ou les fichiers transférés seront ajoutés
au répertoire ouvert.
Atteindre le fichier: En navigant dans la partie Site Distant: Debian → doc → FAQ
→ debian-faq.en.pdf. Cliquer-droit sur le fichier et choisir et Télécharger. Vous
pouvez utiliser la touche Ctrl enfoncée (voir figure).
fonctions.
Exercice 3: Qu’il est le port utilisé par le client FTP. Dans quel type de connexion
TCP est utilisé? Peut-on le changer?
Exercice 4: Citer l’importance du Site Manager.
Exercice 5: Est-ce qu’il est toujours possible d’utiliser CTRL enfoncée et le
glissage par la souris entre Local Site et Remote Site? Cette démarche est-elle
correcte entre le Remote Site et le Local Site? Expliquer.
Exercice 6 : Installer les logiciels FileZilla et TYPSoft FTP serveur sur votre PC.
Pouvez-vous faire les manips ClientFTP-ServeurFTP d’une manière graphique
seulement. Amusez-vous!