IV. Le protocol FTP

Par Hugo ETIEVANT


  1. Introduction
  2. Exemple typique de session ftp (ftp)
  3. R�sum� des commandes

Introduction

Le protocol FTP permet le transfert de fichiers d'une machine locale (votre ordinateur) vers une machine distante (souvent votre h�bergeur de page perso ou un serveur quelconque). La commande ftp du syst�me Unix permet d'utiliser le protocol du m�me nom.

Une session FTP commence g�n�ralement par le transfert (sans cryptage) du login et mot de passe de l'utilisateur. Le serveur ouvre deux sockets de transfert : une pour les commandes et une autre pour les donn�es (fichiers transf�r�s).

Il existe des cas ou aucun mot de passe n'est n�cessaire : pour les sites publiques pour le libre t�l�chargement.


Exemple typique de session ftp (ftp)

Voici maintenant la d�marche � suivre pour faire du FTP sous Unix.

Il vous faut lancer le module FTP par la commande ftp, vous connecter � un serveur distant avec open, sp�cifier votre login avec user et votre mot de passe par pass.

Exemple :
ftp
open multimania.com
user cyberzoide
pass ********

Ou bien sp�cifier en param�tre � la commande ftp l'adresse du serveur distant qui vous demandera votre login et mot de passe.

Exemple : ftp ftp.multimania.com

Pour t�l�charger un fichier distant et le stocker sous un autre nom sur votre machine locale : get distant-file local-file. Pour t�l�charger simplement un fichier, pas besoin de sp�cifier un nouveau nom : get disant-file.

M�me chose pour envoyer un fichier de votre machine local vers le serveur : put local-file distant-file. Pour l'envoy� simplement : put local-file.

Pour utiliser les m�ta-caract�res dans les noms de fichiers, il faut utiliser les commandes mget et mput.

Exemples :
get index.phpl
get index.phpl index.bak
put photo3.jpg
put cv.pdf cvitae.pdf
put logo.gif images/logo.gif
mget *.wav
mput *.gif ../images

Attention il vous faut garder en m�moire le r�pertoire courant local en plus du r�pertoire courant distant. Affichez le r�pertoire courant par les commandes pwd ou cd . pour la machine distante et lcd . pour la machine locale.

Exemple r�el de session :

$ ftp ftp.multimania.com
Connected to ftp.multimania.com.
220 hop.multimania.net FTP server ready.
Name (ftp.multimania.com:h-etie00): cyberzoide
331 Password required for cyberzoide.
Password:*******
230 Bienvenue sur le serveur ftp de MultiMania.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/" is current directory.
ftp> cd images
250 CWD command successful.
ftp> pwd
257 "/images" is current directory.
ftp> lcd .
Local directory now /home/h-etie00
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
.
..
aide.gif
awards.gif
cadre.gif
cyber.gif
space.gif
226 Transfer complete.
ftp> get aide.gif
200 PORT command successful.
150 Opening BINARY mode data connection for off.gif (44 bytes).
226 Transfer complete.
44 bytes received in 0.00 seconds (9.91 Kbytes/s)
ftp> mget a*.gif
mget aide.gif? y
200 PORT command successful.
150 Opening BINARY mode data connection for aide.gif (601 bytes).
226 Transfer complete.
601 bytes received in 0.03 seconds (17.52 Kbytes/s)
mget awards.gif? y
200 PORT command successful.
150 Opening BINARY mode data connection for awards.gif (601 bytes).
226 Transfer complete.
601 bytes received in 0.01 seconds (91.18 Kbytes/s)
ftp> disconnect
221 Goodbye.
ftp> bye
$

R�sum� des commandes

CommandeDescription
openEtablit une connection avec un serveur ftp.
open ftp.multimania.com
userIdentifie le login.
user cyberzoide
passEnvoye le mot de passe.
pass ********
cdChange de r�pertoire dans la machine distante.
cd data
lcdChange de r�pertoire dans la machine locale.
lcd unix/images
mkdirCr�e un r�pertoire dans la machine distante.
mkdir doc
rmdirSupprime un r�pertoire dans la machine distante.
rm doc
asciiS�lectionne le mode de transfert Ascii (par d�faut).
ascii
binS�lectionne le mode de transfert binaire.
bin
binarySynonyme de bin.
binary
imageSynonyme de bin.
image
getT�l�charge un fichier de la machine distante vers la machine locale.
get unix.phpl ../unix.bak
mgetM�me chose que get mais interpr�te les m�ta-caract�res.
mget *.gif
recvSynonyme de get.
 
regetEquivalent de get mais ici le transfert est reprit � la fin du fichier, pratique pour reprendre un t�l�chargement pr�c�demment interrompu.
 
newerEquivalent � get mais t�l�charge le fichier seulement s'il est plus r�cent que celui sur la machine locale.
newer index.phpl
putEnvoye un fichier de la machine locale vers la machine distante.
put index.phpl
sendSynonyme de la commande put.
 
mputM�me chose que put mais interpr�te les m�ta-caract�res.
mput *.php
deleteSupprime un fichier de la machine distante.
delete emploi/cv.pdf
mdeleteM�me chose que delete mais interpr�te les m�ta-caract�res.
mdelete images/*.jpg
renameRenomme un fichier distant.
rename tp6.c chess.c
sizeAffiche la taille d'un fichier distant.
size menu.jpg
systemAffiche les informations sur le syst�me d'exploitation du serveur distant.
system
typeActive le type de transfet sp�cifi� (ascii/binary). Si aucun n'est pass� en param�tre, affiche celui actif.
type binary
verboseActive le mode verbeux.
verbose
bellActive le signal sonor marquant la fin de tout transfert de fichiers.
bell
helpAffiche l'aide de la commande ftp.
help
lsAffiche la liste des fichiers et r�pertoires distants.
ls
pwdAffiche le r�pertoire distant courant.
pwd
idleModifie le temps de mort autoris� par le serveur distant (en secondes). Si aucun param�tre n'est pass�, affiche la valeur pr�c�demment active. Pass� ce temps mort d'inactivit�, le serveur distant met fin automatiquement � la connection.
idle 60
remotehelpAffiche l'aide du serveur sur la commande pass�e en param�tre ou un message d'information si aucun param�tre n'est sp�cifi�.
remotehelp recv
statusAffiche l'�tat actuel de la commande ftp.
status
quitMet fin � la connection et quitte la commande ftp.
quit
byeSynonyme de quit.
bye
closeMet fin � la connection ftp.
close
disconnectSynonyme de close.
disconnect