File Transfert Protocole

 

Principe

File Transfert Protocole ou F.T.P., créé dans les années 70...

Il s'agit d'un protocole permettant d'échanger des fichiers entre deux machines distantes (d'où le nom !) sur Internet ou TCP/IP. Ces deux machines pouvant avoir un système de fichiers différent.

Le principe étant basé sur le modèle client/serveur. A partir du client, l'utilisateur pourra envoyer des commandes au serveur.

Ces commandes sont donc envoyées du client au serveur. Suivant les commandes qui seront interprétées par le programme F.T.P. utilisé, des données pourront alors transiter du client vers le serveur ou du serveur vers le client.

Pour parvenir à tout cela, deux canaux seront utilisés entre le client et le serveur:

  • Un canal utilisé pour interpréter les commandes et les contrôles. Le processus chargé de géré ce canal est nommé PI (Protocol Interpreter) - Vous pourrez lire aussi Côté serveur PI serveur, côté client User PI.
  • Un canal utilisé pour les données. Là aussi, il y aura un processus DTP (Data Transfer Process) - Côté serveur DTP server, côté client User DTP

 

Les outils

Partie Cliente:

A l'origine, les interfaces étaient de type caractères. Le F.T.P. client pouvait donc attendre des commandes au clavier qui étaient donc des instructions pouvant recevoir des paramètres. D'où une syntaxe générales : Commande param1 param2 ...

Ces commandes étaient alors transmises au F.T.P. serveur.

De nos jours, les utilisateurs utilisent des F.T.P. client dont les interfaces sont graphiques. Ils n'ont donc plus à connaître ces instructions. Des cliques, copier-glisser-coller remplaceront ces commandes. Mais en fait, ces F.T.P. client traduieront tous les mouvements de la souris par des commandes param1 param2 pour que le serveur connecté puisse les interpréter.

F.T.P. Mode caractères:

Que ce soit sous DOS ou sous Unix, la commande FTP lancera un F.T.P. client. Vous pourrez alors indiquer via une commande le F.T.P. serveur sur lequel vous voudrez vous connecter. Bien entendu, pour que tout cela marche, il faut que les services F.T.P. soient lancées...Mais c'est une autre histoire !

 

F.T.P. Graphique:

Il existe des utilitaires en mode graphiques. Le plus connu étant FILEZILLA ! Il fonctionne aussi bien sous MS Windows que Linux ou OS X.

Il y a aussi un autre utilitaire: NetDrive. Celui-ci se lance comme un service et permet d'indiquer un serveur F.T.P. Ce serveur F.T.P. sera alors visible comme un simple disque sur votre machine.

Les explications sont ici, mais le programme ne semble plus être en libre téléchargement, voyez donc pour le télécharger !

 

Les navigateurs aussi:

Certains navigateurs peuvent accéder à du F.T.P.. Il suffit alors d'indiquer dans la barre URL la commande suivante: ftp://ipServeur/

ou ipServeur est l'adresse IP du serveur à atteindre...

où ftp://ftp.nom.domaine

Partie Serveur:

Il existe des programmes vous permettant de lancer un serveur F.T.P. sur votre machine dont une gratuite !

FileZilla Serveur: Vous pourrez y définir un répertoire de base, ainsi que les droits d'accès ou encore un débit maximum en upload. Une version en français est disponible sur le site de Yannick Wattiau

 

Autre

Sous Android aussi vous pouvez déclarer un client ou un serveur FTP. Le plus puissant et simple serait selon moi Es Explorer qui permet pas mal de choses avec une ergonomie très bien faîte !

Le client sera paramétrable dans accès rapide, réseau et FTP. Vous déclarez à ce niveau un ou des serveurs ftp avec l'utiliasteur et mot de passe et autres en appuyant sur + (ou Nouveau). Vous n'aurez plus ensuite qu'à sélectionner le serveur auquel vous voulez accéder puis copier/coller/supprimer/renommer/... du serveur votre votre portable ou inversement !

Un serveur est aussi disponible dans Gestion accès à distance puis Paramètres pour indiquer le port, le dossier racine, le compte à utiliser, ...

 

Les commandes principales de F.T.P.

Les commandes F.T.P. sont envoyées en clair au serveur F.T.P .

La syntaxe étant cmd param param...

où cmd est le nom de la commande à exécuter

param sont les paramètres

L'espace est utilisé comme séparateur, et l'instruction se termine par CR LF (13, 10)

En fait, il s'agit d'une chaîne telnet...

 

Lancez votre F.T.P. client en utilisant la commande FTP (sous DOS comme Unix)

La toute première commande pourra être help

Cette commande donne la liste de toutes les commandes disponibles.

Ou alors help NomCommande pour avoir une aide normalemenent détaillée d'une commande.

 

La commande suivante sera la commande open

Cette commande va permettre de vous connecter sur un serveur F.T.P.. Elle attend comme paramètres:

- Nom de l'hôte (ftp.nom.domaine ou adresse IP)

- Port (falcultatif, par défaut, il s'agit du port 21)

 

Image non trouvée !Il est généralement possible de passer le nom du serveur F.T.P. directement en paramètre de l'instruction ftp

 

Lorsque vous vous connectez à un site FTP, il vous sera demandé un nom d'utilisateur (ou login).

Sur les FTP public, vous pourrez souvent vous connecter avec le nom d'utilisateur anonymous ou ftp.Le mot de passe à entrer sera généralement une adresse électronique complète.

 

Une fois connecté:

Evoluer/Naviguer dans l'arborescence

L'évolution dans l'arborescence pourra se faire sur la machine locale ou sur la machine distante.

lcd pour changer de répertoire local

cd pour changer de répertoire distant

 

Avant d'effectuer des transferts de fichiers, il faut savoir que F.T.P. utilise un mode par défaut pour le transfert

Les modes sont les suivants: ASCII ou BINARY

Image non trouvée !Le mode ASCII n'est à utiliser qu'avec des fichiers ASCII. Sinon, un filtre va traduire les caractères spéciaux...pour un fichier de type programme qui est loin d'être du simple texte, cela veut dire que celui ne fonctionnera tout simplement plus à l'exécution !

Par défaut, F.T.P. peut essayer de déterminer le mode à utiliser, mais il arrive qu'il se plante dans le mode. Préférez donc systèmatiquement le mode BINARY.

 

- Télécharger, importer ou faire un Download, cad recevoir un fichier d'un serveur vers votre ordinateur: Il s'agit de la commande GET NomfichierDistant [NouveauNomFichierLocal]

- Télédécharger, exporter ou Upload, c'est envoyer un fichier depuis votre ordinateur vers un serveur. Il s'agit de la commande PUT NomfichierLocal [NouveauNomFichierDistant]

(Vous pourriez aussi retrouver ces termes sur gros systèmes...remplacer alors ordinateur par console)

Enfin, close ou disconnect pour terminer la session ftp.

Ou quit pour terminer la session et quitter ftp.

! Permet de lancer une commande shell sur votre poste local. Tapez par exemple ! dir sous DOS pour connaître la liste des fichiers/répertoires ou ! ls sous Unix.

 

Ceci n'est pas une liste exhaustive des commandes, mais uniquement des plus couremment utilisés... Utilisez la commande HELP pour les autres commandes...

 

 

Des codes...

Comme je l'indiquai au début, le programme PI effectue des contrôles. Vous devriez voir au début des messages qui vous sont retournés des numéros, ces numéros sont le résultat d'un controle. Les valeurs correspondent alors à ceci: xyz ou :

* Premier chiffre

1yz : réponse préliminaire positive
L'action demandée est en cours d¹initialisation; attendre une nouvelle réponse avant de lancer une nouvelle commande.
2yz : réponse positive de réalisation
L'action demandée a bien été effectuée. En attente d'une nouvelle commande.
3yz : réponse intermédiaire positive
La commande a été acceptée, mais l'action demandée est suspendue en attendant des informations supplémentaires.
4yz : réponse négative de réalisation
La commande n'a pas été acceptée et l'action demandée n'a pas eu lieu, mais les conditions d'erreur ne sont que temporaires et la commande va pouvoir être envoyée à nouveau.
5yz : réponse négative permanente
La commande n'est pas acceptée, l'action demandée n'a pas lieu, mais ici on recommande au process client de ne pas renouveler sa demande formulée de la même manière.

* Deuxième chiffre

x0z : Syntaxe
Cette réponse indique une erreur de syntaxe, une commande syntaxiquement correcte mais ne correspondant à aucune catégorie fonctionnelle, une commande non implémentée ou superflue.
x1z : Information
Réponses donnant des informations, par exemple réponses à des commandes STAT ou HELP.
x2z : Connections
Réponses concernant la connexion de données.
x3z : Autentification et comptes
Réponses des phases de login et de changement de comptes.
x4z : Non spécifié pour le moment

x5z : Système de fichiers
Indique le statut du serveur de fichiers vis à vis du transfert demandé ou d'une autre action sur le système de fichiers.

* Troisième chiffre
Le troisième chiffre donne une graduation plus fine dans la signification de chacune des catégories spécifiée à l'aide du second chiffre.

Copié du site http://www.mines.inpl-nancy.fr/~tisseran/I33_Reseaux/protocoles/ftp.html à qui je présente à mon tour des excuses à Messieurs Stéphane HENRY et Yann HIROU pour avoir simplement recopié le contenu de leur site. ; )

 

Annexes

- Vous pouvez retrouver toutes les informations concernant F.T.P. dans le RFC 959

- Tous sur les RFC