16 février 2015 (màj 17/02) NB : j ai réalisé ce corrigé avant son application en TP, il se peut que certaines réponses soient inexactes. Vous fâchez pas :c Je vous conseille de faire le TP par vous-même et de basculer sur la correction si besoin. Mais c est comme vous voulez. Non vraiment. Table des matières Utilisation de clients FTP 2 1. Clients FTP............................ 2 2. Serveurs FTP de FAI....................... 2 Un client FTP : votre navigateur 3 3. Ptite balade............................ 3 4. Upload............................... 4 Un client FTP en ligne de commande 4 5. halp D :.............................. 4 6. Téléchargement.......................... 6 7. Débit................................ 7 8. Serveur IUT............................ 7 Un client FTP graphique : Filezilla 8 9. Mode passif............................ 8 10. Mode actif............................. 10 11. Comparaison........................... 10 1
Utilisation de clients FTP 1. Clients FTP Donner quelques noms de clients FTP disponibles sous Windows et sous Linux? Merssi l internet! On compte de nombreux clients FTP différents : FileZilla, CrossFTP, curl, FireFTP, SecureFtp, AnyClient... 2. Serveurs FTP de FAI Donnez les adresses des serveurs FTP de quelques fournisseurs d accès à Internet (FAI) et celui du serveur ftp de l IUT de Dijon. Dans les exercices suivants, le serveur FTP utilisé sera ftp.lip6.fr Quelques exemples pour les FAI : perso-ftp.orange.fr ftpperso.free.fr ftp.free.fr ftpperso.bbox.fr... L adresse du FTP de l IUT (en FTPS) : sextans6.u-bourgogne.fr 2
Un client FTP : votre navigateur 3. Ptite balade Promenez-vous dans l arborescence et téléchargez un fichier. Notez le taux de transfert (pour cela, il faut télécharger un gros fichier). Il est possible de naviguer dans les différents répertoires et récupérer un fichier. Pour ma part, je récupère le fichier ls-lr.gz à la racine de ftp://ftp.lib6.fr. Le téléchargement se lance, et je relève la vitesse dans mes téléchargements. 3
Plutôt acceptable, non? 4. Upload Pouvez-vous transférer un fichier sur le serveur FTP? Pourquoi? Est-il possible d envoyer un fichier? Non. Il s agit premièrement d un serveur public et sans authentification, donc pas de permission d écriture. De plus, le navigateur ne le supporte pas. Un client FTP en ligne de commande 5. halp D : Utilisez la commande help avant d étudier les commandes disponibles. Commençons par se connecter : on lance ftp avec, en paramètre, le serveur auquel se connecter. Le nom d utilisateur est demandé, nous sommes anonymous, nous sommes légion. Guest login ok, type your name as password., ce que nous faisons (anonymous). 4
Note : ftp -A (hôte) permet de se connecter directement en anonyme. Tapons help : Taper help suivi d une des commandes de la liste donne de très brèves infos sur l utilité de cette commande : 5
6. Téléchargement Utiliser les commandes cd, ls -l, get et quit afin d obtenir un fichier dans l arborescence publique et de se déconnecter du serveur. On gardera une trace (que l on allègera ) des réponses du serveur à ces différentes commandes. cd permet de parcourir dans l arborescence ls permet de lister les fichiers du répertoire courant. Le paramètre -l ajoute des détails. get permet de télécharger un fichier quit quitte. On est à présent connecté sur un serveur FTP en anonyme. Woo! Voyons voir un peu à quoi tout ça ressemble avec un ls -l : Les premières lignes, précédées des différents codes de statut, donnent la réponse du serveur (avec une explication derrière). Ici tout va bien ; et on se retrouve avec la liste des fichiers bien détaillée (en long listing ), avec le nom de chaque fichier en bout de ligne. On peut naviguer avec cd dans les différents répertoires (en remontant avec..), et afficher le contenu à coups de ls. C est franchement pas agréable... Après vous être perdu(e) une dizaine de fois, vous tombez sur un fichier intéressant à télécharger : pas trop volumineux pour ne pas trop attendre, et assez imposant pour que l estimation de la vitesse du transfert soit correcte. Allez hop, le fichier ls-lr.gz à la racine. Pourquoi chercher plus loin? On tape get ls-lr.gz (ou recv) pour récupérer le fichier. Deux premières lignes apparaissent pour nous dire que le transfert débute. On patiente (rien 6
ne s affiche) jusqu à la fin du téléchargement signalé par le code 226 (Transfer complete.) Et on se barre d ici! :D (commande bye) 7. Débit Donner le débit du transfert. On relève ce débit juste après le téléchargement d un fichier (dans mon cas, 829 Ko/s). 8. Serveur IUT Connectez-vous sur le serveur ftp de l IUT. Pouvez-vous transférer des fichiers sur le serveur? Pourquoi? :( De mémoire, ce client ftp ne supporte pas FTPS (requis pour le serveur de l IUT). Impossible donc de s y connecter de cette manière. Cependant, j imagine qu il est possible de transférer des fichiers sur votre dossier personnel. MàJ : Après réflexion, il peut s agir d un serveur FTP interne et donc pas accessible depuis l extérieur. Dans ce cas, je ne peux pas tester ça ici. Désolé! 7
Un client FTP graphique : Filezilla 9. Mode passif Utiliser ce site pour vous connecter et relever les échanges entre le client et le serveur à la connexion. On crée une nouvelle entrée dans le Gestionnaire de Sites (Ctrl+S, ou icône en haut à gauche de la barre d outils). Hôte : ftp.lip6.fr 8
Port : (laisser vide pour la valeur par défaut) Protocole : FTP Le mode passif se règle dans le troisième onglet (Paramètres de transfert). Puis on s y connecte avec le bouton correspondant en bas. À gauche, les dossiers locaux ; à droite, le serveur On se retrouve sur le même serveur que précédemment en ligne de commande (vous pouvez d ailleurs remarquer le fichier ls-lr.gz). Les échanges entre le client et le serveur apparaissent dans la console au dessus : on retrouve en bleu ce qui est envoyé par le client, et en vert ce qui est répondu par le serveur. En remontant, on lit différentes commandes telles que USER anonymous, et PASS anonymous, SYST et FEAT pour obtenir respectivement les infos du serveur, et les fonctionnalités qu il supporte, etc. À chaque commande, le serveur répond. En mode passif, on voit que le client envoie la commande PASV, ce à quoi le serveur retourne PORT suivi d un port à utiliser pour le client : c est donc 9
le client qui ouvre le canal de données, en direction du port renseigné par le serveur. 10. Mode actif NB : il s agit de la question 11. La 10 a disparu du sujet. Utiliser ce site pour vous connecter et relever les commandes du client et les réponses du serveur à la connexion. Même manip, en mode actif cette fois-ci. En mode actif, on voit que le client envoie la commande PORT pour communiquer le port au serveur : c est le serveur qui ouvre le canal de données. Un déroulement complet est décrit juste après. 11. Comparaison Expliquer les différences concernant les échanges entre le client et le serveur entre les deux modes. Pour résumer... 10
On distingue deux canaux de communication : le canal de contrôle (pour l envoi des différentes commandes), et le canal de données (pour les... données). Cette séparation permet notamment d envoyer des commandes sans avoir à attendre la fin d un transfert de fichier. On utilise généralement le mode passif lorsque le serveur n est pas capable d établir le canal de données, notamment à cause de pare-feux et autres protections. En passif, le client établit les deux canaux, et le serveur renseigne au client le port auquel il doit s adresser. Les ports utilisés ci-dessous le sont à titre d exemple et peuvent être entièrement différents dans la réalité. Mode actif (le serveur ouvre le canal de données) : Le client ouvre le canal de contrôle du port client 2000 au port serveur 21. Le client envoie PORT 2001 au serveur, et le serveur répond en reconnaissant l info sur le canal de contrôle. Le serveur ouvre le canal de données du port serveur 20 au port client 2001 Le client répond en reconnaissant sur le canal de données ouvert par le serveur. Mode passif (le client ouvre les deux canaux) : Le client ouvre le canal de contrôle du port client 2000 au port serveur 21. Le client envoie PASV au serveur sur le canal de contrôle. Le serveur répond (via le même canal) PORT 2705 lorsqu il est prêt à écouter sur ce port. Le client ouvre le canal de données du port client 2001 au port serveur 2705. Le serveur répond et reconnaît l info sur le canal de données Et voilà : les canaux de données et de contrôle sont établis. xoxo :) 11