NE316 TP4 le protocole FTP



Documents pareils
Le service FTP. M.BOUABID, Page 1 sur 5

ftp & sftp : transférer des fichiers

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

Administration Linux - FTP

Plan. Le système de transfert de fichiers d'internet. Introduction aux systèmes de transfert de fichiers Le protocole FTP.

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

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

Serveur FTP. 20 décembre. Windows Server 2008R2

FTP. Table des matières

Les commandes relatives aux réseaux

GRETA SISR1 TP Installation et mise en place d un serveur FTP sous Windows Server 2013

ASRb/Unix Avancé II. Chapitre 2. Utilitaires réseaux. Arnaud Clérentin, IUT d Amiens, département Informatique

Services Réseau SSH. Michaël Hauspie. Licence Professionnelle Réseaux et Télécommunications

Administration Réseau sous Ubuntu SERVER Serveur FTP. Installation d un serveur FTP (File Transfert Protocol) sous Ubuntu Server 12.

Introduction au Système d Exploitation Unix/Linux

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

Serveurs de noms Protocoles HTTP et FTP

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

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

Foucart Digeon SISR1-CH7 Mise en place d'un serveur FTP BTS SIO 08/04/2013. SISR1 CH7 Mise en place d'un serveur FTP. - Page 1 -

Quelques protocoles et outils réseaux

PPe jaune. Domingues Almeida Nicolas Collin Leo Ferdioui Lamia Sannier Vincent [PPE PROJET FTP]

Plan Général Prévisionnel (1/2) Internet et Outils L1/IO François Armand. Plan Général Prévisionnel (2/2) Unix, Réseau: Plan

Table des matières Hakim Benameurlaine 1

Manuel des logiciels de transferts de fichiers File Delivery Services

Installation du transfert de fichier sécurisé sur le serveur orphanet

SSH, le shell sécurisé

Enoncé du TP 7 Réseaux

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

UE31 - M3102 : Services Réseaux

Enoncé du TP 7 Réseaux

Service FTP. Stéphane Gill. Introduction 2

Configurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : et un masque

Le protocole FTP (File Transfert Protocol,

FTP Pourquoi s'intéresser à FTP? Que peut-on faire avec FTP?

UE31 - M3102 : Services Réseaux

Configuration de WebDev déploiement Version 7

FTP est défini au dessus de TCP et utilisent deux connexions TCP IP pour fonctionner comme illustré dans la figure suivante

Configuration d un firewall pour sécuriser un serveur WEB

Les différentes méthodes pour se connecter

Manuel FDS File Delivery Services Transfert de fichiers SFTP et FTP

Le Client/Serveur avec Enterprise Miner version 4

Installation. du serveur SCRIBE virtuel d'amonecole

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER

LES ACCES ODBC AVEC LE SYSTEME SAS

Logiciel de connexion sécurisée. M2Me_Secure. NOTICE D'UTILISATION Document référence :

Installation ou mise à jour du logiciel système Fiery

TP Sur SSH. I. Introduction à SSH. I.1. Putty

Projet Administration Réseaux

Linux sécurité des réseaux

Mise à jour des logiciels de vidéo de Polycom

Documentation Utilisateur/Développeur. Client de Monitoring CamTrace

Sécurité GNU/Linux. FTP sécurisé

Direction des Systèmes d'information

Linux LTE 2 - ISSBA. Année universitaire Linux Réseau et Archivage. Jean-Michel RICHER Faculté des Sciences, H206 1

But de cette présentation. Contrôleur de domaine avec Samba (rédigé pour Ubuntu Server) Introduction. Samba: principes

PPE Installation d un serveur FTP

Les messages d erreur d'applidis Client

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Proxy et reverse proxy. Serveurs mandataires et relais inverses

EPREUVE E1 Epreuve scientifique et technique SOUS-EPREUVE E11 Etude des supports et protocoles de communication

Gestion d utilisateurs et stratégie systèmes.

WINDOWS NT 2000: Travaux Pratiques. -Boîtier partage d'imprimante- Michel Cabaré Janvier 2002 ver 1.0

INFO-F-404 : Techniques avancées de systèmes d exploitation

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication

TP LINUX : MISE EN RÉSEAU D UN SERVEUR LINUX

Introduction aux réseaux TCP/IP.

INSTALLATION DE WINDOWS 2000 SERVER POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

Tuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO

Service de certificat

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

Bon ben voilà c est fait!

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

ETI/Domo. Français. ETI-Domo Config FR

Novell. NetWare 6. GUIDE D'ADMINISTRATION DE NETDRIVE

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

Serveur d application WebDev

18 TCP Les protocoles de domaines d applications

Installation du point d'accès Wi-Fi au réseau

Guide d utilisation. Table des matières. Mutualisé : guide utilisation FileZilla

OPTENET DCAgent Manuel d'utilisateur

Procédures informatiques administrateurs Création d un serveur FTP sous Linux

Protocoles DHCP et DNS

Terminal Server RemoteAPP pour Windows Server 2008

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Imprimantes et partage réseau sous Samba avec authentification Active Directory

Installation FollowMe Q server

Protection des protocoles

INSTALLATION ET CONFIGURATION D'UN SERVEUR FTP

Documentation Honolulu 14 (1)

GENERALITES. COURS TCP/IP Niveau 1

TP n 2 : Installation et administration du serveur ProFTP. Partie 1 : Fonctionnement du protocole FTP (pas plus de 15min)

Cisco Certified Network Associate

But de cette présentation

V - Les applications. V.1 - Le Domain Name System. V Organisation de l espace. Annuaire distribué. Définition. Utilisation par le resolver

WebDAV en 2 minutes. Tous ces objectifs sont complémentaires et ils sont atteints grâce au seul protocole WebDAV. Scénarii

Transcription:

NE316 TP4 le protocole FTP 3 A EIS App 1. L outil FTP : Le serveur FTP est implanté sur le PC à l adresse 192.168.130.90 Pour s identifier on utilise le login «guest» et le mot de passe «secret». Le protocole FTP fonctionne sur ce principe : Le protocole FTP s'inscrit dans un modèle client-serveur, c'est-à-dire qu'une machine envoie des ordres (le client) et que l'autre attend des requêtes pour effectuer des actions (le serveur). Lors d'une connexion FTP, deux canaux de transmission sont ouverts : Un canal pour les commandes (canal de contrôle) Un canal pour les données, uniquement ouvert lors d un transfert de données. Le protocole FTP 2. Le protocole ftp : 1) Option «debug» et «verbose» : Verbose : Permet d Activer/désactiver le mode bavard. Dans le mode bavard (verbeux), toutes les réponses du serveur FTP sont montrées à l'utilisateur. De plus, quand un transfert de fichier est terminé, des statistiques concernant l'efficacité du transfert sont affichées. Par défaut, le mode bavard est activé. Debug [valeur-débogage ] permet d Activer/désactiver le mode de débogage. Si la valeur optionnelle valeur-débogage est spécifiée, elle sera utilisée pour définir le niveau de débogage. Quand le débogage est activé, ftp affichera toutes les commandes envoyées à la machine distante en les préfixant par la chaîne de caractères «-->». Si on active les 2 modes, «debug» permet de voir les messages au serveur FTP, et «verbose» permet de lire les réponses renvoyées par le serveur FTP.

a) Ouvrir la session. ftp> open 192.168.130.90 Connected to 192.168.130.90. 220 ProFTPD 1.3.0 Server (Debian) [::ffff:192.168.130.90] ftp: setsockopt: Bad file descriptor Name (192.168.130.90:root): guest ---> USER guest 331 Password required for guest. Password: ---> PASS XXXX 230 User guest logged in. ---> SYST 215 UNIX Type: L8 Remote system type is UNIX. Using binary mode to transfer files. On ouvre la connexion au serveur grâce à la commande open 192.168.130.90 ou directement quand on tape ftp 192.168.130.90. Le serveur FTP nous répond 220, ensuite le client donne son nom d utilisateur avec la commande FTP USER. Le serveur répond 331, puis le client donne son mot de passe PASS. Le serveur répond 230. SYST est une commande qui permet de connaître le type de système utilisé par le serveur. Il répond avec le code 215. a) Changer de répertoire. ftp> cd TOTO ---> CWD TOTO 250 CWD command successful On change de répertoire grâce à la commande cd <nom du répertoire>. La commande envoyée au serveur FTP est CWD <nom du répertoire>. Il nous répond 250 CWD Command successful. b) Créer un répertoire. ftp> mkdir jeje ---> MKD jeje 257 "/home/guest/toto/ jeje " - Directory successfully created On crée un répertoire grâce à la commande de l interface graphique mkdir <nom du répertoire>. La vraie commande envoyée au serveur FTP est MKD <nom du répertoire>. Il nous répond 257 "/home/guest/ TOTO/ jeje " - Directory successfully created.

c) Supprimer un fichier ou répertoire. ftp> rmdir jeje ---> RMD jeje 250 RMD command successful On supprime un répertoire grâce à la commande rmdir <nom du répertoire>. La commande envoyée au serveur FTP est RMD <nom du répertoire>. Il nous répond 250 RMD command successful. d) Renommer un fichier ou répertoire. ftp> rename jeje ted ---> RNFR jeje 350 File or directory exists, ready for destination name. ---> RNTO ted 250 Rename successful On renomme un répertoire grâce à la commande rename <nom du répertoire>. Il y a deux commandes pour renommer un fichier. La première commande RNFR <nom du répertoire> indique le répertoire à modifier. Le serveur répond 350 File or directory exists, ready for destination name. La seconde commande RNTO <nouveau nom de répertoire> indique le nouveau nom à donner au répertoire. Le serveur répond 250 Rename successful. e) Fermer la session. ftp> close ---> QUIT 221 Goodbye. On ferme la session grâce à la commande close <nom du répertoire>, la commande envoyée au serveur FTP est QUIT. Il nous répond 251 Goodbye.

f) Faire un ls. ftp> ls ---> PORT 192,168,130,30,128,245 ---> LIST 150 Opening ASCII mode data connection for file list drwxr-xr-x 3 guest guest 4096 Jun 1907:32 TOTO drwxr-xr-x 2 guest guest 4096 Jun 1907:19 dte drwxr-xr-x 2 guest guest 4096 Jun 1907:15 fabius -rw-r--r-- 1 guest guest 41 Jun 1907:31 fichieratransferer drwxr-xr-x 11 guest guest 4096 Jun 1907:35 gauthier drwxr-xr-x 2 root root 4096 Jun 1907:06 répertoires On affiche le contenu du serveur grâce à la commande ls, la commande envoyée au serveur FTP est divisée en deux commandes. Première commande : PORT 192,168,130, 30,128,245. Le client donne le port et l adresse IP au serveur pour qu il ouvre le canal DATA. Il répond. La seconde commande LIST demande la liste des fichiers et des répertoires au serveur FTP. Il nous répond 150 avec la liste des fichiers et des informations comme la date, l heure, le nom du créateur et les droits sur le fichier. g) Rapatrier un fichier. ftp> recv fich1.txt local: fich1.txt remote: fich1.txt ---> TYPE I 200 Type set to I ---> PORT 192,168,130, 30,129,2 ---> RETR fich1.txt 150 Opening BINARY mode data connection for fich1.txt (2222 bytes) 2222 bytes received in 0.00 secs (1575.8 kb/s) On rapatrie un fichier grâce à la commande recv, la commande envoyée au serveur FTP est divisée en trois commandes. La première commande TYPE I envoyée par le client donne le format dans lequel le serveur doit envoyer les fichiers Binaires (TYPE A format ASCII). Le serveur répond 200 Type set to I. Deuxième commande : PORT 192,168,130, 30, 29,2. Le client donne le port et l adresse IP au serveur pour qu il ouvre le canal de données. Le serveur répond. La seconde commande RETR <fichier à retirer> demande au serveur d envoyer le fichier. Le serveur répond 150 avec des informations sur le fichier comme le mode de transfert ou la taille. Le serveur répond quand le transfert est terminé

h) Déposer (put) un fichier. ftp> put fich1.txt local: fich1.txt remote: fich1.txt ---> PORT 192,168,130,30,129,6 ---> STOR fich1.txt 150 Opening BINARY mode data connection for fich1.txt 2222 bytes sent in 0.00 secs (8749.7 kb/s) On dépose un fichier grâce à la commande put, la commande envoyée au serveur FTP est divisée en deux commandes. Première commande : PORT 192,168,130,30, 29,2. Le client donne le port et l adresse IP au serveur pour qu il ouvre le canal DATA. Le serveur répond. La seconde commande STOR <fichier à retirer> demande au serveur d envoyer le fichier. Le serveur répond 150 avec des informations sur le fichier comme le mode de transfert ou la taille. Le serveur répond quand le transfert est terminé i) Faire un rapatriement multiple (mget). ftp> mget (remote-files) fich1.txt fich2.txt ---> TYPE A ---> PORT 192,168,130,30,1,9 ---> NLST fich1.txt ---> PORT 192,168,130, 30,129,10 ---> NLST fich2.txt mget fich1.txt? yes ---> TYPE I 200 Type set to I ---> PORT 192,168,130,30,129,12 ---> RETR fich1.txt 150 Opening BINARY mode data connection for fich1.txt (2222 bytes) 2222 bytes received in 0.00 secs (6954.9 kb/s) mget fich2.txt? yes ---> PORT 192,168,130, 30,129,13 ---> RETR fich2.txt 150 Opening BINARY mode data connection for fich2.txt (1530 bytes) 1530 bytes received in 0.00 secs (2078.1 kb/s) On fait un rapatriement de fichier multiple grâce à la commande MGET, on donne comme paramètre le nom des fichiers et le client nous demande de valider chaque fichier. Pour chaque fichier, le client envoi le numéro de port sur lequel il va récupérer le fichier, puis il demande le téléchargement du fichier

2) Différence entre les types de message A et I : Ce type de message apparaît lors d échanges de données sur le canal DATA. Il permet de dire comment le fichier va être transmis. En ASCII ou en Binaire si il y a plusieurs fichiers. Comme pour le TFTP le binaire est fait pour les images. Type A : Passage du fichier en mode ASCII. Type I: Passage du fichier en mode Binaire. 3) Transfert de fichiers et liste de répertoire : Les transferts de fichiers et liste de répertoire se font par le second canal de données. Avant le transfert, le client envoi avec le msg PORT, le port de destination pour les données. La commande PORT correspond au mode actif. Exemple : PORT 192,168,130,30,129,9 Adresse IP de la machine du client : 192.168.130.30 Le numéro du Port est donné : 129,9. Pour le calculer il faut faire le calcul suivant : 129 x 256 + 9 = 33033 = numéro du port du canal DATA. Donc le serveur connaît la machine avec l adresse IP et connaît le port sur lequel il doit se connecter pour envoyer les données. 4) 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. L'avantage de ce mode, est que le serveur FTP n'initialise aucune connexion. Ce mode fonctionne sans problèmes avec une passerelle NAT. Mode actif: c'est le client FTP qui détermine le port de connexion à utiliser pour permettre le transfert des données. Ainsi, pour que l'échange des données puisse se faire, le serveur FTP initialisera la connexion de son port de données (port 20) vers le port spécifié par le client. De plus, il peut s'avérer problématique pour les utilisateurs essayant d'accéder à des serveurs FTP lorsqu'ils sont derrière une passerelle NAT. Étant donnée la façon dont fonctionne le 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é et ne sera pas délivré au client. Le principal intérêt du mode passif est que plusieurs client ne peuvent pas avoir le canal DATA sur le même port car c est le serveur qui les déterminent pour chacun.

5) Commande newer : La commande newer est équivalente à la commande get mais elle compare les dates entre le fichier local et le fichier sur le serveur, et ne télécharge que si le fichier serveur est plus récent. Le fichier n existe pas sur le client ou est plus vieux : ftp> newer fich1.txt ---> MDTM fich1.txt 213 20080619080618 local: fich1.txt remote: fich1.txt ---> TYPE I 200 Type set to I ---> PORT 192,168,130,21,129,170 ---> RETR fich1.txt 150 Opening BINARY mode data connection for fich1.txt (2222 bytes) 2222 bytes received in 0.00 secs (2052.9 kb/s) ftp> - Maintenant on modifie en local donc la version sera plus récente, le fichier ne sera pas remplacé : ftp> newer fich1.txt Local file "fich1.txt" is newer than remote file "fich1.txt" Comme prévu, le fichier local est plus récent, il n a donc aucune raison d être téléchargé. 6) Commande QUOTE : La commande quote sert à l envoie des commandes de contrôle FTP. Elle sert à fournir directement les commandes du protocole ftp, sans passer par les commandes interne au service ftp disponible sur l ordinateur. Exemple «chemin courant» et changement de répertoire: ftp> quote PWD ---> PWD 257 "/Disque dur/" ftp> quote pwd ---> pwd 257 "/Disque dur/" ftp> quote cwd / ---> cwd / 250 directory changed to / Exemple de mauvaise commande : ftp> quote toto ---> toto 500 Syntax error, command unrecognized. Comme on peut le constater sur PWD et pwd, les messages ne sont pas sensibles à la casse

7) Les différentes catégories de réponses du serveur : Premier chiffre Chiffre Signification 1yz Réponse préliminaire positive 2yz Réponse positive de réalisation 3yz Réponse intermédiaire positive 4yz Réponse négative de réalisation 5yz Réponse négative permanente Description L'action demandée est en cours de réalisation, une seconde réponse doit être obtenue avant d'envoyer une deuxième commande L'action demandée a été réalisée, une nouvelle commande peut être envoyée L'action demandée est temporairement suspendue. Des informations supplémentaires sont attendues de la part du client L'action demandée n'a pas eu lieu car la commande n'a temporairement pas été acceptée. Le client est prié de réessayer ultérieurement L'action demandée n'a pas eu lieu car la commande n'a pas été acceptée. Le client est prié de formuler une requête différente Second chiffre Chiffre Signification x0z Syntaxe Description L'action possède une erreur de syntaxe, ou bien il s'agit d'une commande non comprise par le serveur Il s'agit d'une réponse renvoyant des informations x1z Information (par exemple pour une réponse à une commande STAT) x2z Connexions La réponse concerne le canal de données x3z x4z Authentification et comptes Non utilisé par le protocole FTP La réponse concerne le login (USER/PASS) ou la demande de changement de compte (CPT) x5z Système de fichiers La réponse concerne le système de fichiers distant Exemple : 226 Transfer complete Cela indique que c est une fermeture du canal de données. Service terminé (par exemple, transfert de fichier ou avortement).

3. Simulation 1) Utilisation de NetCat pour l identification, changement de répertoire, création de répertoires, et fermeture de la session : bt ~ # nc -v hd1.freebox.fr 21 //Commande NetCat en mode verbose vers le serveur FTP sur le port 21 freeboxhd1.freebox.fr [212.27.40.254] 21 (ftp) open 220 Welcome to Freebox FTP Server. user anonymous // Envoi de l identifiant par la commande USER 331 User name okay, need password. pass anon@ // Envoi du m.d.p par la commande PASS 230- Bienvenue sur le serveur FTP Freebox. 230 User logged in, proceed. CWD Disque dur // Changement de dossier avec la commande CWD 250 directory changed to /Disque dur/ MKD test // Création du dossier test avec la commande MKD 257 "/Disque dur/test" created. QUIT // Déconnexion de la session avec la commande QUIT 221 Service closing control connection. Ici net NetCat affiche les messages renvoyés par le serveur. Avec NetCat, il est obligatoire d utiliser les commandes de service FTP (comme avec QUOTE dans un client FTP). 2) Commandes TYPE : Par défaut le type utilisé est le A (ascii). Cette commande est nécessaire uniquement lorsque l on change de type pour lancer un transfert sur le canal DATA. Quand un type est choisit, il reste configuré jusqu au moment où on le change. 3) Opération plus complexe avec échanges sur le canal DATA: NetCat pour émulation du canal commande : 230 User logged in, proceed. list 425 Can't open data connection. pasv 227 PASV OK (212,27,40,254,19,78) list 150 File Status OK. 226 Closing data connection. Apres être logué, on demande l affichage de la liste des fichiers, le serveur répond qu il na pas de canal DATA, on indique alors que l on passe en mode passif, le serveur répond sur quel port il faut connecter le canal data, 19x256+78=4942. Avec un autre NetCat, on émule le canal DATA et on se connecte sur le port 4942 du serveur FTP. Ensuite on redemande la liste des fichiers et OH miracle ca marche. NetCat pour émulation du canal data :

bt ~ # nc -v hd1.freebox.fr 4942 freeboxhd1.freebox.fr [212.27.40.254] 4942 (?) open drwx--x--x 7 freebox freebox 86 Jun 23 17:34 Disque dur 4) Pour la suite, nous avons utilisé les traces de 2 autres binômes. Le serveur était émulé par le binôme Michaud 192.168.130.10 et le client était émulé par le binôme Guyon 192.168.130.21. Affichage Côté client pour le canal de commande: bonn-1:~# nc 192.168.130.10 2121 220 USER xavier 331 PASS passmoile 530 USER xav 331 PASS ok 230 LISR 530 unkwon command Type I 220 PORT 192,168,130,21,2,1 220 LIST 150 220 QUIT 221 Affichage Côté client pour le canal DATA: bonn-1:~# nc -l -p 513 TP4 TP3 TP2 TP1 Ici on est en mode actif car c est le client qui a fournit le port du canal DATA et de plus sur le canal DATA on est en attente sur le port définit. Les réponses que le client reçoit correspondent aux différents codes réponses que l on a pu voir. 4. Conclusion : Pour conclure, il a été très intéressant d étudier le protocole FTP car celui-ci est très utilisé sur internet. Le FTP permet d échanger des fichiers avec un serveur de façon sécurisé (login et mot de passe), et surtout il est très fonctionnel pour la gestion des dossiers (affichage, renommage, liste, comparaison, suppression)