Réseaux Informatiques : Tp r4.7 ftp initiation réseaux informatiques
Télécharger PDFTP R4.7 : Protocole FTP
Séquence 1 – Client FTP
Préparation de la manipulation : les besoins
a. Le client de base : outil capable d'ouvrir une connexion TCP sur un port distant et d'échanger des informations en mode texte.
Réponse : telnet ou netcat.
Exemple : ping adresse_ip_pc.
b. Identifier le port d'écoute distant à partir de la liste officielle. Dans quel fichier trouve-t-on cette information ?
Réponse : Le protocole FTP utilise le port 21, disponible dans le fichier /etc/services.
c. Choisir un serveur FTP pour l'échange.
Réponse : ftp.free.fr ou une adresse IP locale fournie.
La commande LIST -aL (comme STOR ou RETR) ne fonctionne pas car les données ne sont pas envoyées par le serveur sur le canal ouvert (port 21). Le canal ouvert sur le port 21 du serveur est destiné à l'échange de commandes du protocole FTP. Les données échangées entre le client et le serveur doivent se faire sur un autre canal.
Il existe deux modes pour l'échange de données :
- Mode passif : Le client FTP envoie la commande PASV, et le serveur détermine un port d'écoute pour le transfert des données.
- Mode actif : Le client FTP utilise la commande PORT pour indiquer au serveur un port sur lequel il écoute.
2. Utilisation de la commande PASV pour passer en mode passif
La réponse du serveur à la commande PASV est un ensemble de valeurs sous la forme :
"xxx ... ... (IP1,IP2,IP3,IP4,PORT1,PORT2)"
Pour extraire les informations :
- Reconstituer l'adresse IP : IP1.IP2.IP3.IP4.
- Calculer le numéro de port : PORT1 × 256 + PORT2.
Exemple de réponse :
PASV → Réponse : "227 Entering Passive Mode (192,168,52,7,205,179)"
Calcul : 205 × 256 + 179 = 52659
Le client se connecte ensuite sur le port calculé pour recevoir les données.
3. Capture de l'échange et détermination du protocole de transport utilisé par FTP
Le protocole FTP utilise TCP pour les échanges de commandes et de données.
4. Utilisation de la commande PORT pour passer en mode actif
La commande PORT envoyée au serveur est de la forme :
"PORT IP1,IP2,IP3,IP4,PORT1,PORT2"
Pour réaliser l'échange de données :
- Fournir l'adresse IP locale du client pour le transfert.
- Choisir un port libre (exemple : 5000).
Exemple :
PORT → Réponse : "200 PORT command successful"
Le serveur se connecte ensuite sur le port spécifié par le client pour envoyer les données.
Utilisation de netcat en mode serveur :
netcat -l -p 5000.
Séquence 2 – Serveur FTP
Préparation de la manipulation : les besoins
a. Le serveur de base : outil capable d'accepter une connexion TCP sur un port local et d'échanger des informations en mode texte.
Réponse : netcat.
b. Identifier le port local à partir de la liste officielle du protocole FTP.
Réponse : Le protocole FTP utilise le port 21, disponible dans le fichier /etc/services.
c. Choisir un client FTP pour l'échange.
Réponse : FileZilla ou Firefox.
d. La commande pour lancer le serveur (sous root pour accéder au port 21).
Réponse : nc -l -p 21.
Annexe : Les modèles de référence
• La couche Application : Interface entre l'application utilisateur et le réseau. Elle offre des services comme le transfert de fichiers ou la messagerie. Les protocoles de haut niveau (Telnet, TFTP, SMTP, HTTP) y sont intégrés.
• La couche Session (modèle OSI) : Établit une communication entre émetteur et récepteur, assure l'ouverture et la fermeture des sessions, et définit les règles de synchronisation.
• La couche Présentation : Met en forme les données pour les rendre compatibles avec l'application destinataire (traduction, compression, chiffrement).
Annexe : Le protocole FTP (File Transfer Protocol)
Introduction
Le protocole FTP a été créé en 1971 pour le transfert de fichiers entre machines du MIT. Il est actuellement défini par le RFC 959.
Objectifs du protocole FTP :
- Partage de fichiers entre machines distantes.
- Indépendance aux systèmes de fichiers des machines clientes et serveurs.
- Transfert de données efficace.
Le protocole FTP utilise TCP sur le port 21 du serveur. Il existe aussi un protocole similaire, TFTP, basé sur UDP.
Fonctionnement
Le protocole FTP fonctionne selon un modèle client-serveur avec deux canaux distincts :
- Un canal de contrôle (port 21) pour les commandes.
- Un canal de données pour le transfert des fichiers.
Deux processus gèrent ces canaux :
- DTP (Data Transfer Process) : Établit la connexion et gère le canal de données.
- PI (Protocol Interpreter) : Interprète les commandes reçues sur le canal de contrôle.
Les réponses FTP
Les réponses FTP sont constituées d'un code à trois chiffres suivi d'un texte explicatif. Voici leur signification :
- 1yz : Réponse préliminaire positive (action en cours).
- 2yz : Réponse positive de réalisation (action terminée).
- 3yz : Réponse intermédiaire positive (action suspendue).
- 4yz : Réponse négative temporaire (commande non acceptée temporairement).
- 5yz : Réponse négative permanente (commande non acceptée).
Les codes de réponse sont structurés comme suit :
- Le premier chiffre indique le statut (succès ou échec).
- Le second chiffre précise la catégorie de la réponse (syntaxe, informations, connexions, authentification, système de fichiers).
- Le troisième chiffre donne une signification plus spécifique.
Modes de transfert
• Mode passif (PASV) : Le serveur indique un port d'écoute pour le transfert des données.
• Mode actif (PORT) : Le client indique un port sur lequel le serveur doit se connecter.
Remarque :
En présence de pare-feu, le mode passif est souvent privilégié car il permet au serveur de se connecter au client sur un port défini par celui-ci.
Annexe : Clients FTP
FileZilla est un client FTP multiplateforme, libre et développé sous licence GPL/GNU. Il permet de transférer des fichiers via une interface graphique.
Paramètres de connexion :
- Adresse IP du serveur.
- Identifiant et mot de passe.
- Port 21 pour le protocole FTP.
FAQ
Qu'est-ce que le protocole FTP ?
Le protocole FTP (File Transfer Protocol) est un standard utilisé pour le transfert de fichiers entre machines distantes sur un réseau.
Quels sont les deux modes de transfert utilisés par FTP ?
FTP utilise deux modes : le mode passif (PASV) où le serveur définit le port de données, et le mode actif (PORT) où le client indique le port.
Comment interpréter les codes de réponse FTP ?
Les codes de réponse FTP sont composés de trois chiffres : le premier indique le succès ou l'échec, le second précise la catégorie, et le troisième donne une signification spécifique.