FTP -- File Transfert Protocol
Le protocole FTP permet d'envoyer, de recevoir ou de rapatrier des fichiers quelque soit leur taille et leur nature.
Il est cependant recommander de coder les fichiers autres qu'ASCII car ils peuvent être altéré au cours de leur voyage. On utilise pour ce faire les normes BinHex, UUencode...
FTP utilise par défaut le port 21
Notez que les commandes marquées avec un astérisque * ne sont pas implémentées dans la plupart des serveurs FTP.
Commandes courantes
- ABOR - abort a file transfer
- CWD - change working directory
- DELE - delete a remote file
- LIST - list remote files
- MDTM - return the modification time of a file
- MKD - make a remote directory
- NLST - name list of remote directory
- PASS - send password
- PASV - enter passive mode
- PORT - open a data port
- PWD - print working directory
- QUIT - terminate the connection
- RETR - retrieve a remote file
- RMD - remove a remote directory
- RNFR - rename from
- RNTO - rename to
- SITE - site-specific commands
- SIZE - return the size of a file
- STOR - store a file on the remote host
- TYPE - set transfer type
- USER - send username
Commandes moins répandues
- ACCT* - send account information
- APPE - append to a remote file
- CDUP - CWD to the parent of the current directory
- HELP - return help on using the server
- MODE - set transfer mode
- NOOP - do nothing
- REIN* - reinitialize the connection
- STAT - return server status
- STOU - store a file uniquely
- STRU - set file transfer structure
- SYST - return system type
- ABOR
- Syntaxe : ABOR
Aborts a file transfer currently in progress.
- ACCT*
- Syntaxe : ACCT account-info
This command is used to send account information on systems that require it. Typically sent after a PASS command.
- ALLO
- Syntaxe : ALLO size [R max-record-size]
Allocates sufficient storage space to receive a file. If the maximum size of a record also needs to be known, that is sent as a second numeric parameter following a space, the capital letter "R", and another space.
- APPE
- Syntaxe : APPE remote-filename
Append data to the end of a file on the remote host. If the file does not already exist, it is created. This command must be preceded by a PORT or PASV command so that the server knows where to receive data from.
- CDUP
- Syntaxe : CDUP
Makes the parent of the current directory be the current directory.
- CWD
- Syntaxe : CWD remote-directory
Makes the given directory be the current directory on the remote host.
- DELE
- Syntaxe : DELE remote-filename
Deletes the given file on the remote host.
- HELP
- Syntaxe : HELP [command]
If a command is given, returns help on that command; otherwise, returns general help for the FTP server (usually a list of supported commands).
- LIST
- Syntaxe : LIST [remote-filespec]
If remote-filespec refers to a file, sends information about that file. If remote-filespec refers to a directory, sends information about each file in that directory. remote-filespec defaults to the current directory. This command must be preceded by a PORT or PASV command.
- MDTM
- Syntaxe : MDTM remote-filename
Returns the last-modified time of the given file on the remote host in the format "YYYYMMDDhhmmss": YYYY is the four-digit year, MM is the month from 01 to 12, DD is the day of the month from 01 to 31, hh is the hour from 00 to 23, mm is the minute from 00 to 59, and ss is the second from 00 to 59.
- MKD
- Syntaxe : MKD remote-directory
Creates the named directory on the remote host.
- MODE
- Syntaxe : MODE mode-character
Sets the transfer mode to one of:
- S - Stream
- B - Block
- C - Compressed
The default mode is Stream.
- NLST
- Syntaxe : NLST [remote-directory]
Returns a list of filenames in the given directory (defaulting to the current directory), with no other information. Must be preceded by a PORT or PASV command.
- NOOP
- Syntaxe : NOOP
Does nothing except return a response.
- PASS
- Syntaxe : PASS password
After sending the USER command, send this command to complete the login process. (Note, however, that an ACCT command may have to be used on some systems.)
- PASV
- Syntaxe : PASV
Tells the server to enter "passive mode". In passive mode, the server will wait for the client to establish a connection with it rather than attempting to connect to a client-specified port. The server will respond with the address of the port it is listening on, with a message like:
227 Entering Passive Mode (a1,a2,a3,a4,p1,p2)
where a1.a2.a3.a4 is the IP address and p1*256+p2 is the port number.
- PORT
- Syntaxe : PORT a1,a2,a3,a4,p1,p2
Specifies the host and port to which the server should connect for the next file transfer. This is interpreted as IP address a1.a2.a3.a4, port p1*256+p2.
- PWD
- Syntaxe : PWD
Returns the name of the current directory on the remote host.
- QUIT
- Syntaxe : QUIT
Terminates the command connection.
- REIN*
- Syntaxe : REIN
Reinitializes the command connection - cancels the current user/password/account information. Should be followed by a USER command for another login.
- REST
- Syntaxe : REST position
Sets the point at which a file transfer should start; useful for resuming interrupted transfers. For nonstructured files, this is simply a decimal number. This command must immediately precede a data transfer command (RETR or STOR only); i.e. it must come after any PORT or PASV command.
- RETR
- Syntaxe : RETR remote-filename
Begins transmission of a file from the remote host. Must be preceded by either a PORT command or a PASV command to indicate where the server should send data.
- RMD
- Syntaxe : RMD remote-directory
Deletes the named directory on the remote host.
- RNFR
- Syntaxe : RNFR from-filename
Used when renaming a file. Use this command to specify the file to be renamed; follow it with an RNTO command to specify the new name for the file.
- RNTO
- Syntaxe : RNTO to-filename
Used when renaming a file. After sending an RNFR command to specify the file to rename, send this command to specify the new name for the file.
- SITE*
- Syntaxe : SITE site-specific-command
Executes a site-specific command.
- SIZE
- Syntaxe : SIZE remote-filename
Returns the size of the remote file as a decimal number.
- STAT
- Syntaxe : STAT [remote-filespec]
If invoked without parameters, returns general status information about the FTP server process. If a parameter is given, acts like the LIST command, except that data is sent over the control connection (no PORT or PASV command is required).
- STOR
- Syntaxe : STOR remote-filename
Begins transmission of a file to the remote site. Must be preceded by either a PORT command or a PASV command so the server knows where to accept data from.
- STOU
- Syntaxe : STOU
Begins transmission of a file to the remote site; the remote filename will be unique in the current directory. The response from the server will include the filename.
- STRU
- Syntaxe : STRU structure-character
Sets the file structure for transfer to one of:
- F - File (no structure)
- R - Record structure
- P - Page structure
The default structure is File.
- SYST
- Syntaxe : SYST
Returns a word identifying the system, the word "Type:", and the default transfer type (as would be set by the TYPE command). For example: UNIX Type: L8
- TYPE
- Syntaxe : TYPE type-character [second-type-character]
Sets the type of file to be transferred. type-character can be any of:
- A - ASCII text
- E - EBCDIC text
- I - image (binary data)
- L - local format
For A and E, the second-type-character specifies how the text should be interpreted. It can be:
- N - Non-print (not destined for printing). This is the default if second-type-character is omitted.
- T - Telnet format control (<CR>, <FF>, etc.)
- C - ASA Carriage Control
For L, the second-type-character specifies the number of bits per byte on the local system, and may not be omitted.
- USER
- Syntaxe : USER username
Send this command to begin the login process. username should be a valid username on the system, or "anonymous" to initiate an anonymous login.
- RFC114 File Transfer Protocol. A.K. Bhushan. Apr-10-1971. (Not online) (Updated by RFC0141, RFC0172, RFC0171) (Status: Unknown)
- RFC122 Network specifications for UCSB's Simple-Minded File System. J.E. White. Apr-26-1971. (Not online) (Updated by RFC0217, RFC0269, RFC0399, RFC0043, RFC0431) (Status: Unknown)
Disponible à : ftp://ftp.imag.fr/pub/archive/IETF/rfc/rfc122.txt
- RFC141 Comments on RFC 114: A File Transfer Protocol. E. Harslem, J.F. Heafner. Apr-29-1971. (Format: TXT=3512 bytes) (Updates RFC0114) (Status: Unknown)
Disponible à : ftp://ftp.imag.fr/pub/archive/IETF/rfc/rfc141.txt
- RFC238 Comments on DTP and FTP proposals. R.T. Braden. Sep-29-1971. (Format: TXT=2735 bytes) (Updates RFC0171, RFC0172) (Updated by RFC0269) (Status: Unknown)
Disponible à : ftp://ftp.imag.fr/pub/archive/IETF/rfc/rfc238.txt
- RFC269 Some Experience with File Transfer. H. Brodie. Dec-06-1971. (Format: TXT=5961 bytes) (Updates RFC0122, RFC0238) (Status: Unknown)
Disponible à : ftp://ftp.imag.fr/pub/archive/IETF/rfc/rfc269.txt
- RFC294 The Use of "Set Data Type" Transaction in File Transfer Protocol. A.K. Bhushan. Jan-25-1972. (Format: TXT=3924 bytes) (Updates RFC0265) (Status: Unknown)
Disponible à : ftp://ftp.imag.fr/pub/archive/IETF/rfc/rfc294.txt
- RFC385 Comments on the File Transfer Protocol. A.K. Bhushan. Aug-18-1972. (Format: TXT=13030 bytes) (Updates RFC0354) (Updated by RFC0414) (Status: Unknown)
Disponible à : ftp://ftp.imag.fr/pub/archive/IETF/rfc/rfc385.txt
- RFC414 File Transfer Protocol (FTP) status and further comments. A.K. Bhushan. Dec-29-1972. (Not online) (Updates RFC0385) (Status: Unknown)
Disponible à : ftp://ftp.imag.fr/pub/archive/IETF/rfc/rfc414.txt
- RFC454 File Transfer Protocol - meeting announcement and a new proposed document. A.M. McKenzie. Feb-16-1973. (Not online) (Status: Unknown)
Disponible à : ftp://ftp.imag.fr/pub/archive/IETF/rfc/rfc454.txt
- RFC775 Directory oriented FTP commands. D. Mankins, D. Franklin, A.D. Owen. Dec-01-1980. (Not online) (Status: Unknown)
Disponible à : ftp://ftp.imag.fr/pub/archive/IETF/rfc/rfc775.txt
- RFC949 FTP unique-named store command. M.A. Padlipsky. Jul-01-1985. (Format: TXT=4017 bytes) (Status: Unknown)
Disponible à : ftp://ftp.imag.fr/pub/archive/IETF/rfc/rfc949.txt
- RFC959 File Transfer Protocol. J. Postel, J.K. Reynolds. Oct-01-1985. (Format: TXT=151249 bytes) (Obsoletes RFC0765) (Updated by RFC2228, RFC2640) (Also STD0009) (Status: Standard)
Disponible à : ftp://ftp.imag.fr/pub/archive/IETF/rfc/rfc959.txt
- RFC1123 Requirements for Internet hosts - application and support. R.T. Braden. Oct-01-1989. (Format: TXT=245503 bytes) (Updates RFC0822) (Updated by RFC2181) (Also STD0003) (Status: Standard)
Disponible à : ftp://ftp.imag.fr/pub/archive/IETF/rfc/rfc1123.txt
- RFC2228 FTP Security Extensions. M. Horowitz, S. Lunt. October 1997. (Format: TXT=58733 bytes) (Updates RFC0959) (Status: Proposed Standard)
Disponible à : ftp://ftp.imag.fr/pub/archive/IETF/rfc/rfc2228.txt
- RFC2585 Internet X.509 Public Key Infrastructure Operational Protocols: FTP and HTTP. R. Housley, P. Hoffman. May 1999. (Format: TXT=14813 bytes) (Status: Proposed Standard)
Disponible à : ftp://ftp.imag.fr/pub/archive/IETF/rfc/rfc2585.txt
- RFC2640 Internationalization of the File Transfer Protocol. B. Curtin. July 1999. (Format: TXT=57204 bytes) (Updates 959) (Status: Proposed Standard)
Disponible à : ftp://ftp.imag.fr/pub/archive/IETF/rfc/rfc2640.txtRFC2640
Documentation obsoletes
- RFC171 The Data Transfer Protocol. A. Bhushan, B. Braden, W. Crowther, E. Harslem, J. Heafner, A. McKenize, J. Melvin, B. Sundberg, D. Watson, J. White. Jun-01-1971. (Not online) (Obsoleted by RFC0264) (Updates RFC0114) (Updated by RFC0238) (Status: Unknown)
Disponible à : ftp://ftp.imag.fr/pub/archive/IETF/rfc/rfc171.txt
- RFC172 The File Transfer Protocol. A. Bhushan, B. Braden, W. Crowther, E. Harslem, J. Heafner, A. McKenzie, J. Melvin, B. Sundberg, D. Watson, J. White. Jun-23-1971. (Format: TXT=21328 bytes) (Obsoleted by RFC0265) (Updates RFC0114) (Updated by RFC0238) (Status: Unknown)
Disponible à : ftp://ftp.imag.fr/pub/archive/IETF/rfc/rfc172.txt
- RFC264 The Data Transfer Protocol. A. Bhushan, B. Braden, W. Crowther, E. Harslem, J. Heafner, A. McKenize, B. Sundberg, D. Watson, J. White. Jan-04-1972. (Not online) (Obsoletes RFC0171) (Obsoleted by RFC0354) (Status: Unknown)
Disponible à : ftp://ftp.imag.fr/pub/archive/IETF/rfc/rfc264.txt
- RFC265 THE FILE TRANSFER PROTOCOL. A. Bhushan, B. Braden, W. Crowther, E. Narslem, J. Heafner, A. McKenzie, J. Melvin, B. Sundberg, D. Watson, J. White,. Dec-17-1971. (Format: TXT=3914 bytes) (Obsoletes RFC0172) (Obsoleted by RFC0354) (Updated by RFC0294) (Status: Unknown)
Disponible à : ftp://ftp.imag.fr/pub/archive/IETF/rfc/rfc265.txt
- RFC354 File Transfer Protocol. A.K. Bhushan. Jul-08-1972. (Format: TXT=58074 bytes) (Obsoletes RFC0264, RFC0265) (Obsoleted by RFC0542) (Updated by RFC0385) (Status: Unknown)
Disponible à : ftp://ftp.imag.fr/pub/archive/IETF/rfc/rfc354.txt
- RFC542 File Transfer Protocol. N. Neigus. Jul-12-1973. (Format: TXT=100666 bytes) (Obsoletes RFC0354) (Obsoleted by RFC0765) (Also RFC354, RFC454, RFC495) (Status: Unknown)
Disponible à : ftp://ftp.imag.fr/pub/archive/IETF/rfc/rfc542.txt
- RFC765 File Transfer Protocol specification. J. Postel. Jun-01-1980. (Not online) (Obsoletes RFC0542) (Obsoleted by RFC0959) (Status: Unknown)
Disponible à : ftp://ftp.imag.fr/pub/archive/IETF/rfc/rfc765.txt
Logiciels
Linux
Client
ici
- BeroFTPD 1.3.4 3 mars 1999
BeroFTPD is a replacement FTP server for Unix systems based on wu-ftpd. In addition to wu-ftpd´s features, BeroFTPD includes better support for virtual hosts, the possibility to send an e-mail to the FTP administrator when an anonymous user uploads a file, better support for on-the- fly [re]compression, support for upload/download ratios, include-directive in ftpaccess, an internal ls command (optional, currently experimental), the ability to run as standalone daemon, and support for Kerberos5, AFS and PAM authentication.
- BetaFTPD 0.0.3 1 mars 1999
BetaFTPD is a start for a GPLed, single-threaded FTP daemon. The single-threadedness makes it faster than most other FTP daemons, contrary to common belief. Although it lacks some functions (in particular uploading and shadow passwords), the current version is extremely small and has pretty much functionality. BetaFTPD is built on the concept of heavy code reuse, which should hopefully make it easier for other programmers to contribute.
- Demi-FTPd 1.1 -- 28 avril 1999
Dftpd is a new, customizable Linux FTP daemon written with flexibility in mind. It can be fully configured and monitored through its Web interface, DWAT. It also has a plugin system with which you can add your own SITE commands. Its logging system is UNIX filemask based and therefore very flexible. Ncurses based monitoring and user/group configuration utilities are included as well.
- FTP4ALL 2.25 7 mars 1999
FTP4ALL is an FTP server program for UNIX systems. Unlike existing FTP servers, e.g. WUFTPD, FTP4ALL does not require a root account to install it. Every user that can compile source code can install it, thereby providing a facility to share files with friends. All that you need is a C compiler.
- glFtpD -- www.glftpd.org
glftpd 1.71.1 -- 11 octobre 1999, Linux (.tar.gz)
glFtpD is a free FTP Daemon for Linux. It has numerous features, to many to list. Easy to setup and easy to use. This daemon is for anyone. It works great for ISP's who want to restrict access to users web dirs and much more.
- hftpd 0.3.0 alpha -- 19 avril 1999
Hoser FTPD is an entirely re-thought FTP daemon implementation. Making use of threads, features in the Linux 2.2.x kernel, and cleverness such as list output caching it greatly reduces the load put on a system serving files via FTP.
- Muddleftpd 1.0 beta3 -- 15 avril 1999
Muddle ftpd has been designed from the ground up to be effecient, configuable and to be tolerant of being run in root or non-root mode. This server enables uses to set up a variety of configurations, from a traditional ftp server using the password file for everything, to using the password file for nothing running entirely as a single user. It is quite stable as it is, but since it is a development version, there may few bugs to still be around.
- NcFTPd 2.4.1 -- 1 avril 1999
NcFTPd is a high-performance File Transfer Protocol (FTP) server for UNIX systems, designed especially for high-traffic sites and internet service providers.
- NFTP is a powerful, full-featured FTP client with easy-to-use point-and-shoot text-mode keyboard interface. It features downloading directory trees, displaying file descriptions, auto-reconnect, smart reget, bookmark system, history, batch progress indicator, connection history, one-key viewing remote files and a user interface in 16 languages. NFTP is Shareware.
Version 1.40 includes a security fix for a buffer overflow posted on BUGTRAQ and a Polish translation.
- ProFTPD
ProFTPD 1.2.0rc2 -- 28 juillet 2000, 499ko (.tar.gz)
ProFTPD is an FTP daemon for unix and unix-like operating systems released under the GPL. It is designed to be advanced, incredibly configurable and secure.
- utftpd 0.1.4 -- 5 avril 1999
utftpd is a tftpd replacement. Its features include a fine grained access control, giving you the possibility to assign the right to access a file or directory for every single client. Version control is also supported (at this moment SCCS only).
- wu-ftpd 2.4.2 -- 8 mars 1999
wu-ftpd is a replacement ftp server for Un*x systems. It is a proposed decent replacement for stock FTP daemons which come with commericial Un*x operating systems. It provides enhanced features such as IP-based virtual host support, transfer and command logging, on-the-fly compression, security rules, amongst other things.
Macintosh
Client
ici
- FTPd. serveur FTP et Gopher.
- Rumpus de Maxum
Windows
Client
ici