Vous êtes sur la page 1sur 4

Application & Services

1 Service FTP
Signifie : File Transfer Protocol (FTP)

1-1 Introduction
FTP est un protocole permettant le transfert (au sens large) de fichiers
entre deux sites Internet. Il est utilisé pour réaliser une session de
transfert entre la machine locale et une autre machine de l'Intemet
(appelée machine distante). Ce protocole permet, outre le transfert de
fichiers proprement dit, l'exécution de différentes commandes sur la
machine distante. Le transfert de fichiers peut être réalisé dans les deux
directions (de la machine locale vers la machine distante, ou de la
machine distante vers la machine locale). Ce protocole règle le dialogue
entre deux processus, l'un sur la machine locale (le processus client),
l'autre sur la machine distante (le processus serveur). C'est le processus
client qui est l'initiateur de la connexion; il doit être lancé par l'utilisateur
de la machine locale. Lors de l'établissement de la connexion entre les
sites, la machine distante crée automatiquement un processus serveur.

1-2 Clients FTP


Sur la plupart des systèmes Internet, le processus client porte lui-même le
nom FTP (ce qui peut engendrer une certaine confusion). Ce processus
dialogue avec le processus serveur sur la machine distante, en se basant
sur les instructions qu'il reçoit de l'utilisateur de la machine locale. Avec ce
type de processus client, l'utilisateur entre lui-même les commandes au
clavier; celles-ci correspondent à des messages précis du protocole FTP,
messages qui sont ensuite envoyés à la machine distante.

1-3 Identification
Le transfert de fichiers ne peut être effectué tant que l'utilisateur local ne
s'est pas identifié auprès de la machine distante. Il est possible de
s'identifier auprès de cette machine sous un autre nom (login) que celui
utilisé sur la machine locale. La machine distante demande ensuite à la
machine locale, donc à l'utilisateur local, de fournir le mot de passe
(password) associé à ce nom. Après cette phase d'identification,
l'utilisateur local peut transférer les fichiers de ou vers la machine
distante, tout en ayant les permissions d'accès suivantes
· sur la machine locale, les priorités de l'utilisateur local;
· sur la machine distante, les priorités de l'utilisateur
mentionné lors de l'identification.
1-4 FTP anonyme
Un cas particulier d'identification survient lorsque l'utilisateur local se
présente à la machine distante sous le nom ftp ou anonymous. Dans ce
cas, l'utilisateur est invité à entrer son adresse Email en guise de mot de
passe. On parle alors de connexion FTP anonyme. Certains sites Internet
acceptent ce type d'identification, d'autres ne l'acceptent pas : cela
dépend en fait uniquement de la manière dont est configurée la machine
distante. Si la connexion anonyme est acceptée, une session de transfert
est également créée. Les permissions d'accès données à cet utilisateur
anonyme dépendent également de la configuration de la machine
distante. Dans la plupart des cas, ces permissions sont réduites par
rapport à celles d'un utilisateur réel; de plus, l'utilisateur anonyme ne peut
parfois avoir accès qu'à un sous-répertoire particulier de fichiers. Ce type
de connexion est habituellement utilisée pour la mise à disposition de
logiciels du domaine public (freeware ou shareware).

1-5 Serveurs FTP


Le processus serveur est responsable de beaucoup de caractéristiques
relatives à la transmission, plus particulièrement en ce qui concerne les
autorisations d'accès. Il existe des serveurs FTP pour la plupart des
systèmes d'exploitation utilisés sur l'Intemet (UNIX, MacOS, MS-DOS, IBM
VM/CMS). Certains d'entre eux possèdent des fonctionnalités
supplémentaires, comme par exemple la compression et/ou l'archivage
"au vol" des données transférées, ou encore la gestion de groupes
d'utilisateurs. Pour de plus amples renseignements à propos des serveurs
FTP, référez-vous à leur documentation.

1-6 Spécification du protocole


La spécification FTP est contenue dans le document RFC 959

1-7 A simple FTP session


Le programme client se connecte au Serveur FTP. Une fois connecté, le
serveur FTP envoie un message au client au travers d'un < open socket
connection ».

Server: 220 Sample FTP server ready. Please give user-narre


Client: USER anonymous
Server: 331 User name OK. Please give your email address as password
Client: PASS joe@nowhere.com
Server: 230 User logged in
Client: TYPE A
Server: 200 Type set to A
Client: PASV
Server: 227 Entering passive mode (193,91,161,12,28,46)
Client: LIST
Server: 150 Opening ASCII mode data connection for /bin/ls
Server: 226 Transfer complete
Client: TYPE 1
Server: 200 Type set to 1
Client: PASV
Server: 227 Entering passive mode (193,91,161,12,28,46)
Client: RETR test.zip
Server: 150 Opening BINARY mode data connection for test.zip
Server: 226 Transfer complete

Comme vous pouvez le voir, Les clients et serveurs communiquent en


mode texte.

Les octets renvoyés par le serveur sont les « reply-codes » ;


exemples

110 Restart marker reply.

120 Service ready in nnn minutes.

125 Data connection already open; transfer starting.

150 File status okay; about to open data connection.

200 Command okay.

202 Command not implemented, superfluous at this site.

211 System status, or system help reply.

212 Directory status.

213 File status.

214 Help message.

215 NAME system type.

220 Service ready for new user.

221 Service closing control connection.

225 Data connection open; no transfer in progress.

226 Closing data connection.

227 Entering Passive Mode (hl,h2,h3,h4,pl,p2).

230 User logged in, proceed.

250 Requested file action okay, completed.

257 "PATHNAME" created.

331 User name okay, need password.

332 Need account for login.

350 Requested file action pending further information.


421 Service not available, closing control connection.

425 Can't open data connection.

426 Connection closed; transfer aborted.

450 Requested file action not taken.

451 Requested action aborted: local error in processing.

452 Requested action not taken.

500 Syntax error, command unrecognized.

501 Syntax error in parameters or arguments.

502 Command not implemented.

503 Bad sequence of commands.

504 Command not implemented for that parameter.

530 Not logged in.

532 Need account for storing files.

550 Requested action not taken.

551 Requested action aborted: page type unknown.

552 Requested file action aborted.

553 Requested action not taken.