File Transfer Protocol (
FTP) is a standard network protocol used to transfer files from one host to another host over a
TCPThe Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...
-based network, such as the
InternetThe Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...
. FTP is built on a client-server architecture and utilizes separate control and data connections between the client and server. FTP users may authenticate themselves using a clear-text sign-in protocol but can connect anonymously if the server is configured to allow it.
The first FTP client applications were interactive command-line tools, implementing standard commands and syntax.
Graphical user interfaceGui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...
clients have since been developed for many of the popular desktop operating systems in use today.
History
The original specification for the File Transfer Protocol was written by
Abhay BhushanAbhay Bhushan Abhay Bhushan Abhay Bhushan (born Abhay Bhushan (born Abhay Bhushan (born [[Allahabad] ), [[India]], 23 November 1944) has been a major contributor to the development of the Internet TCP/IP architecture, and is the author of the [[File Transfer Protocol]] and the early versions...
and published as RFC 114 on 16 April 1971, even before TCP and IP existed. It was later replaced by RFC 765 (June 1980) and RFC 959 (October 1985), the current specification. Several proposed standards amend RFC 959, for example RFC 2228 (June 1997) proposes security extensions and RFC 2428 (September 1998) adds support for
IPv6Internet Protocol version 6 is a version of the Internet Protocol . It is designed to succeed the Internet Protocol version 4...
and defines a new type of passive mode.
Protocol overview
The protocol is specified in RFC 959, which is summarized below.
FTP operates on the
application layerThe Internet protocol suite and the Open Systems Interconnection model of computer networking each specify a group of protocols and methods identified by the name application layer....
of the
OSI modelThe Open Systems Interconnection model is a product of the Open Systems Interconnection effort at the International Organization for Standardization. It is a prescription of characterizing and standardizing the functions of a communications system in terms of abstraction layers. Similar...
, and is used to transfer files using TCP/IP. In order to do this an FTP server needs to be running and waiting for incoming requests. The client computer is then able to communicate with the server on port 21. This connection, called the
control connection, remains open for the duration of the session, with a second connection, called the
data connection, either opened by the server from its port 20 to a negotiated client port (
active mode) or opened by the client from an arbitrary port to a negotiated server port (
passive mode) as required to transfer file data. The control connection is used for session administration (i.e., commands, identification, passwords) exchanged between the client and server using a telnet-like protocol. For example "RETR
filename" would transfer the specified file from the server to the client. Due to this two-port structure, FTP is considered an
out-of-band protocol, as opposed to an
in-band protocol such as
HTTPThe Hypertext Transfer Protocol is a networking protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web....
.
The server responds on the control connection with
three digit status codes in ASCII with an optional text message, for example "200" (or "200 OK.") means that the last command was successful. The numbers represent the code number and the optional text represent explanations (e.g.,
) or needed parameters (e.g., ). A file transfer in progress over the data connection can be aborted using an interrupt message sent over the control connection.
FTP can be run in active or passive mode, which determine how the data connection is established. In active mode, the client sends the server the IP address and port number on which the client will listen, and the server initiates the TCP connection. In situations where the client is behind a firewallA firewall is a device or set of devices designed to permit or deny network transmissions based upon a set of rules and is frequently used to protect networks from unauthorized access while permitting legitimate communications to pass....
and unable to accept incoming TCP connections, passive mode may be used. In this mode the client sends a PASV command to the server and receives an IP address and port number in return. The client uses these to open the data connection to the server. Both modes were updated in September 1998 to add support for IPv6Internet Protocol version 6 is a version of the Internet Protocol . It is designed to succeed the Internet Protocol version 4...
. Other changes were made to passive mode at that time, making it extended passive mode.
While transferring data over the network, four data representations can be used:
- ASCII
The American Standard Code for Information Interchange is a character-encoding scheme based on the ordering of the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that use text...
mode: used for text. Data is converted, if needed, from the sending host's character representation to "8-bit ASCII"The term extended ASCII describes eight-bit or larger character encodings that include the standard seven-bit ASCII characters as well as others...
before transmission, and (again, if necessary) to the receiving host's character representation. As a consequence, this mode is inappropriate for files that contain data other than plain text.
- Image mode (commonly called Binary mode): the sending machine sends each file byte
The byte is a unit of digital information in computing and telecommunications that most commonly consists of eight bits. Historically, a byte was the number of bits used to encode a single character of text in a computer and for this reason it is the basic addressable element in many computer...
for byte, and the recipient stores the bytestream as it receives it. (Image mode support has been recommended for all implementations of FTP).
- EBCDIC
Extended Binary Coded Decimal Interchange Code is an 8-bit character encoding used mainly on IBM mainframe and IBM midrange computer operating systems....
mode: use for plain text between hosts using the EBCDIC character set. This mode is otherwise like ASCII mode.
- Local mode: Allows two computers with identical setups to send data in a proprietary format without the need to convert it to ASCII
For text files, different format control and record structure options are provided. These features were designed to facilitate files containing TelnetTelnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communications facility using a virtual terminal connection...
or ASAASA control characters are simple printing command characters used by mainframe printers to control the movement of paper through line printers. These commands are presented as special characters in the first column of each text line to be printed, and affect how the paper is advanced before the...
formatting.
Data transfer can be done in any of three modes:
- Stream mode: Data is sent as a continuous stream, relieving FTP from doing any processing. Rather, all processing is left up to TCP
The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...
. No End-of-file indicator is needed, unless the data is divided into recordsIn computer science, a record is an instance of a product of primitive data types called a tuple. In C it is the compound data in a struct. Records are among the simplest data structures. A record is a value that contains other values, typically in fixed number and sequence and typically indexed...
.
- Block mode: FTP breaks the data into several blocks (block header, byte count, and data field) and then passes it on to TCP.
- Compressed mode: Data is compressed using a single algorithm (usually run-length encoding
Run-length encoding is a very simple form of data compression in which runs of data are stored as a single data value and count, rather than as the original run...
).
Login
FTP login utilizes a normal username/password scheme for granting access. The username is sent to the server using the USER command, and the password is sent using the PASS command. If the information provided by the client is accepted by the server, the server will send a greeting to the client and the session will be open. If the server supports it, users may log in without providing login credentials. The server will also limit access for that session based on what the user is authorized.
Security
FTP was not designed to be a secure protocol—especially by today's standards—and has many security weaknesses. In May 1999, the authors of RFC 2577 enumerated the following flaws:
- Bounce attacks
FTP bounce attack is an exploit of the FTP protocol whereby an attacker is able to use the PORT command to request access to ports indirectly through the use of the victim machine as a middle man for the request....
- Spoof attacks
In the context of network security, a spoofing attack is a situation in which one person or program successfully masquerades as another by falsifying data and thereby gaining an illegitimate advantage.- Spoofing and TCP/IP :...
- Brute force attack
In cryptography, a brute-force attack, or exhaustive key search, is a strategy that can, in theory, be used against any encrypted data. Such an attack might be utilized when it is not possible to take advantage of other weaknesses in an encryption system that would make the task easier...
s
- Packet capture (sniffing)
- Username protection
- Port stealing
FTP was not designed to encrypt its traffic; all transmissions are in clear text, and user names, passwords, commands and data can be easily read by anyone able to perform packet capture (sniffing) on the network. This problem is common to many Internet Protocol specifications (such as SMTP, TelnetTelnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communications facility using a virtual terminal connection...
, POP and IMAP) designed prior to the creation of encryption mechanisms such as TLSTransport Layer Security and its predecessor, Secure Sockets Layer , are cryptographic protocols that provide communication security over the Internet...
or SSL. A common solution to this problem is use of the "secure", TLS-protected versions of the insecure protocols (e.g. FTPSFTPS is an extension to the commonly used File Transfer Protocol that adds support for the Transport Layer Security and the Secure Sockets Layer cryptographic protocols....
for FTP, TelnetS for TelnetTelnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communications facility using a virtual terminal connection...
, etc.) or selection of a different, more secure protocol that can handle the job, such as the SFTPIn computing, the SSH File Transfer Protocol is a network protocol that provides file access, file transfer, and file management functionality over any reliable data stream...
/SCPSecure Copy or SCP is a means of securely transferring computer files between a local and a remote host or between two remote hosts. It is based on the Secure Shell protocol....
tools included with most implementations of the Secure ShellSecure Shell is a network protocol for secure data communication, remote shell services or command execution and other secure network services between two networked computers that it connects via a secure channel over an insecure network: a server and a client...
protocol.
Anonymous FTP
A host that provides an FTP service may additionally provide anonymousAnonymity is derived from the Greek word ἀνωνυμία, anonymia, meaning "without a name" or "namelessness". In colloquial use, anonymity typically refers to the state of an individual's personal identity, or personally identifiable information, being publicly unknown.There are many reasons why a...
FTP access. Users typically log into the service with an 'anonymous' account when prompted for user name. Although users are commonly asked to send their emailElectronic mail, commonly known as email or e-mail, is a method of exchanging digital messages from an author to one or more recipients. Modern email operates across the Internet or other computer networks. Some early email systems required that the author and the recipient both be online at the...
address in lieu of a password, no verification is actually performed on the supplied data. Many FTP hosts whose purpose is to provide software updates will provide anonymous logins.
FTPmail
Where FTP access is restricted, a FTPmailFTPmail is the term used for the practice of using an FTPmail server to gain access to various files over the Internet. An FTPmail server is a proxy server which connects to remote FTP servers in response to email requests, returning the downloaded files as an email attachment...
service can be used to circumvent the problem. An e-mail containing the FTP commands to be performed is sent to a FTPmail server, which parses the incoming e-mail, executes the requested FTP commands, and sends back an e-mail with any downloaded files as attachments. This service is less flexible than an FTP client, as it is not possible to view directories interactively or to issue modify commands. There can also be problems with large file attachments in the response not getting through mail servers. The service was used when some users' only internet access was via e-mail through gatewaysIn telecommunications, the term gateway has the following meaning:*In a communications network, a network node equipped for interfacing with another network that uses different protocols....
such as a BBSA Bulletin Board System, or BBS, is a computer system running software that allows users to connect and log in to the system using a terminal program. Once logged in, a user can perform functions such as uploading and downloading software and data, reading news and bulletins, and exchanging...
or online service. As most internet users these days have ready access to FTP, this procedure is no longer in everyday use.
Web browser support
Most common web browserA web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...
s can retrieve files hosted on FTP servers, although they may not support protocol extensions such as FTPSFTPS is an extension to the commonly used File Transfer Protocol that adds support for the Transport Layer Security and the Secure Sockets Layer cryptographic protocols....
. When an FTP—rather than HTTP—URL is supplied, the accessible contents of the remote server is presented in a manner similar to that used for other Web content. A full-featured FTP client can be run within Firefox in the form of an extension called FireFTP
FTP URLIn computing, a uniform resource locator or universal resource locator is a specific character string that constitutes a reference to an Internet resource....
syntax is described in RFC1738, taking the form:
ftp://[[:]@][:]/
(The bracketed parts are optional.) For example:
ftp://public.ftp-servers.example.com/mydirectory/myfile.txt
or:
ftp://user001:secretpassword@private.ftp-servers.example.com/mydirectory/myfile.txt
More details on specifying a user name and password may be found in the browsers' documentation, such as, for example, Firefox and Internet ExplorerWindows Internet Explorer is a series of graphical web browsers developed by Microsoft and included as part of the Microsoft Windows line of operating systems, starting in 1995. It was first released as part of the add-on package Plus! for Windows 95 that year...
.
By default, most web browsers use passive (PASV) mode, which more easily traverses end-user firewalls.
NAT and firewall traversal
FTP normally transfers data by having the server connect back to the client, after the PORT command is sent by the client. This is problematic for both NATs and firewalls, which do not allow connections from the Internet towards internal hosts. For NATs, an additional complication is the representation of the IP addresses and port number in the PORT command refer to the internal host's IP address and port, rather than the public IP address and port of the NAT.
There are two approaches to this problem. One is that the FTP client and FTP server use the PASV command, which causes the data connection to be established from the FTP client to the server. This is widely used by modern FTP clients. Another approach is for the NAT to alter the values of the PORT command, using an application-level gatewayIn the context of computer networking, an application-level gateway consists of a security component that augments a firewall or NAT employed in a computer network...
for this purpose.
Secure FTP
There are several methods of securely transferring files that have been called "Secure FTP" at one point or another.
FTPS (explicit)
Explicit FTPS is an extension to the FTP standard that allows clients to request that the FTP session be encrypted. This is done by sending the "AUTH TLS" command. The server has the option of allowing or denying connections that do not request TLS. This protocol extension is defined in the proposed standard: RFC 4217.port no 21
FTPS (implicit)
Implicit FTPS is deprecated standard for FTP that required the use of a SSL or TLS connection. It was specified to use different ports than plain FTP.
SFTP
SFTPIn computing, the SSH File Transfer Protocol is a network protocol that provides file access, file transfer, and file management functionality over any reliable data stream...
, the "SSH File Transfer Protocol," is not related to FTP except that it also transfers files and has a similar command set for users.
SFTP, or secure FTP, is a program that uses SSH to transfer files. Unlike standard FTP, it encrypts both commands and data, preventing passwords and sensitive information from being transmitted in the clear over the network. It is functionally similar to FTP, but because it uses a different protocol, you can't use a standard FTP client to talk to an SFTP server, nor can you connect to an FTP server with a client that supports only SFTP.
FTP over SSH (not SFTP)
FTP over SSH (not SFTPIn computing, the SSH File Transfer Protocol is a network protocol that provides file access, file transfer, and file management functionality over any reliable data stream...
) refers to the practice of tunneling a normal FTP session over an SSHSecure Shell is a network protocol for secure data communication, remote shell services or command execution and other secure network services between two networked computers that it connects via a secure channel over an insecure network: a server and a client...
connection.
Because FTP uses multiple TCPThe Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...
connections (unusual for a TCP/IP protocol that is still in use), it is particularly difficult to tunnel over SSH. With many SSH clients, attempting to set up a tunnel for the control channel (the initial client-to-server connection on port 21) will protect only that channel; when data is transferred, the FTP software at either end will set up new TCP connections (data channels), which bypass the SSH connection, and thus have no confidentialityConfidentiality is an ethical principle associated with several professions . In ethics, and in law and alternative forms of legal resolution such as mediation, some types of communication between a person and one of these professionals are "privileged" and may not be discussed or divulged to...
, integrity protection, etc.
Otherwise, it is necessary for the SSH client software to have specific knowledge of the FTP protocol, and monitor and rewrite FTP control channel messages and autonomously open new packet forwardings for FTP data channels. Version 3 of SSH Communications SecuritySSH Communications Security' is a Finnish company that is based in Helsinki and was founded by Tatu Ylönen in 1995. It is known as the original developer of the Secure Shell protocol and it currently has about 55 employees. The company's current CEO is Tatu Ylönen...
's software suite, the GPL licensed FONC, and Co:Z FTPSSH Proxy are three software packages that support this mode.
FTP over SSH is sometimes referred to as secure FTP; this should not be confused with other methods of securing FTP, such as with SSL/TLS (FTPSFTPS is an extension to the commonly used File Transfer Protocol that adds support for the Transport Layer Security and the Secure Sockets Layer cryptographic protocols....
). Other methods of transferring files using SSH that are not related to FTP include SFTPIn computing, the SSH File Transfer Protocol is a network protocol that provides file access, file transfer, and file management functionality over any reliable data stream...
and SCPSecure Copy or SCP is a means of securely transferring computer files between a local and a remote host or between two remote hosts. It is based on the Secure Shell protocol....
; in each of these, the entire conversation (credentials and data) is always protected by the SSH protocol.
List of FTP commands
Below is a list of FTP commands that may be sent to an FTP serverIn the context of client-server architecture, a server is a computer program running to serve the requests of other programs, the "clients". Thus, the "server" performs some computational task on behalf of "clients"...
, including all commands that are standardized in RFC 959 by the IETF. All commands below are RFC 959 based unless stated otherwise. Note that most command-line FTP clients present their own set of commands to users. For example, GET is the common user command to download a file instead of the raw command RETR.
| Command |
RFC In computer network engineering, a Request for Comments is a memorandum published by the Internet Engineering Task Force describing methods, behaviors, research, or innovations applicable to the working of the Internet and Internet-connected systems.Through the Internet Society, engineers and...
|
Description |
| ABOR |
|
Abort an active file transfer |
| ACCT |
|
Account information |
| ADAT |
RFC 2228 |
Authentication/Security Data |
| ALLO |
|
Allocate sufficient disk space to receive a file |
| APPE |
|
Append. |
| AUTH |
RFC 2228 |
Authentication/Security Mechanism |
| CCC |
RFC 2228 |
Clear Command Channel |
| CDUP |
RFC 959 |
Change to Parent Directory |
| CONF |
RFC 2228 |
Confidentiality Protection Command |
| CWD |
RFC 697 |
Change working directory |
| DELE |
|
Delete file. |
| ENC |
RFC 2228 |
Privacy Protected Channel |
| EPRT |
RFC 2428 |
Specifies an extended address and port to which the server should connect |
| EPSV |
RFC 2428 |
Enter extended passive mode |
| FEAT |
RFC 2389 |
Get the feature list implemented by the server |
| HELP |
|
Help |
| LANG |
RFC 2640 |
Language Negotiation |
| LIST |
|
Returns information of a file or directory if specified, else information of the current working directory is returned |
| LPRT |
RFC 1639 |
Specifies a long address and port to which the server should connect |
| LPSV |
RFC 1639 |
Enter long passive mode |
| MDTM |
RFC 3659 |
Return the last-modified time of a specified file |
| MIC |
RFC 2228 |
Integrity Protected Command |
| MKD |
RFC 959 |
Make directory |
| MLSD |
RFC 3659 |
Lists the contents of a directory if a directory is named |
| MLST |
RFC 3659 |
Provides data about exactly the object named on its command line, and no others |
| MODE |
|
Sets the transfer mode (Stream, Block, or Compressed) |
| NLST |
|
Returns a list of file names in a specified directory |
| NOOP |
|
No operation (dummy packet; used mostly on keepalives) |
| OPTS |
RFC 2389 |
Select options for a feature |
| PASS |
|
Authentication password |
| PASV |
|
Enter passive mode |
| PBSZ |
RFC 2228 |
Protection Buffer Size |
| PORT |
|
Specifies an address and port to which the server should connect |
| PROT |
RFC 2228 |
Data Channel Protection Level |
| PWD |
RFC 959 |
Print working directory. Returns the current directory of the host |
| QUIT |
|
Disconnect |
| REIN |
|
Re initializes the connection |
| REST |
RFC 3659 |
Restart transfer from the specified point |
| RETR |
|
Transfer a copy of the file |
| RMD |
RFC 959 |
Remove a directory |
| RNFR |
|
Rename from. |
| RNTO |
|
Rename to |
| SITE |
|
Sends site specific commands to remote server |
| SIZE |
RFC 3659 |
Return the size of a file |
| SMNT |
RFC 959 |
Mount file structure |
| STAT |
|
Returns the current status |
| STOR |
|
Accept the data and to store the data as a file at the server site |
| STOU |
RFC 959 |
Store file uniquely |
| STRU |
|
Set file transfer structure |
| SYST |
RFC 959 |
Return system type |
| TYPE |
|
Sets the transfer mode (ASCIIThe American Standard Code for Information Interchange is a character-encoding scheme based on the ordering of the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that use text... /BinaryA binary file is a computer file which may contain any type of data, encoded in binary form for computer storage and processing purposes; for example, computer document files containing formatted text... ) |
| USER |
|
Authentication username |
| XCUP |
RFC 775 |
Change to the parent of the current working directory |
| XMKD |
RFC 775 |
Make a directory |
| XPWD |
RFC 775 |
Print the current working directory |
| XRCP |
RFC 743 |
|
| XRMD |
RFC 775 |
Remove the directory |
| XRSQ |
RFC 743 |
|
| XSEM |
RFC 737 |
Send, mail if cannot |
| XSEN |
RFC 737 |
Send to terminal |
FTP reply codes
Below is a summary of the reply codes that may be returned by an FTP serverIn the context of client-server architecture, a server is a computer program running to serve the requests of other programs, the "clients". Thus, the "server" performs some computational task on behalf of "clients"...
. These codes have been standardized in RFC 959 by the IETF. The reply code is a three-digit value.
The first digit of the reply code is used to indicate one of three possible outcomes, 1) success, 2) failure, and 3) error or incomplete:
- 2xx - Success reply
- 4xx or 5xx - Failure Reply
- 1xx or 3xx - Error or Incomplete reply
The second digit defines the kind of error:
- x0z - Syntax - These replies refer to syntax errors.
- x1z - Information - Replies to requests for information.
- x2z - Connections - Replies referring to the control and data connections.
- x3z - Authentication and accounting - Replies for the login process and accounting procedures.
- x4z - Not defined.
- x5z - File system - These replies relay status codes from the server file system.
The third digit of the reply code is used to provide additional detail for each of the categories defined by the second digit.
See also
- Comparison of FTP client software
The following tables compare general and technical information for a number of FTP clients and related clients that use other file transfer protocols. Please see the individual products' articles for further information. This article is not all-inclusive or necessarily up to date...
- Comparison of FTP server software
The table below compares basic characteristics of notable FTP Servers. This list is not exhaustive.- See also :* List of FTP server software* File Transfer Protocol * FTP over SSL * FTP over SSH* SSH file transfer protocol...
- Curl-loader
curl-loader is an open-source software performance testing tool written in the C programming language.- Features :curl-loader is capable of simulating application behavior of hundreds of thousands of HTTP/HTTPS and FTP/FTPS clients, each with its own source IP-address...
- FTP/S loading/testing open-source SW
- File eXchange Protocol
File eXchange Protocol and is a method of data transfer which uses FTP to transfer data from one remote server to another without routing this data through the client's connection. Conventional FTP involves a single server and a single client; all data transmission is done between these two...
(FXP)
- File Service Protocol
File Service Protocol is a UDP-based replacement for the File Transfer Protocol, designed for anonymous access with lower hardware and network requirements than FTP...
(FSP)
- FTAM
FTAM, ISO standard 8571, is the OSI Application layer protocol for File Transfer Access and Management.The goal of FTAM is to combine into a single protocol both file transfer, similar in concept to the Internet FTP, as well as remote access to open files, similar to NFS...
- FTPFS
FTPFS refers to file systems that support access to a File Transfer Protocol server through standard file system application programming interfaces ....
- List of file transfer protocols
- List of FTP server return codes
- Managed File Transfer
Managed file transfer ' refers to software solutions that facilitate the secure transfer of data, in flight and at rest, from one computer to another through a network . MFT solutions are often built to support the FTP network protocol...
- OBEX
OBEX is a communications protocol that facilitates the exchange of binary objects between devices. It is maintained by the Infrared Data Association but has also been adopted by the Bluetooth Special Interest Group and the SyncML wing of the Open Mobile Alliance...
- Shared file access
- TCP Wrapper
TCP Wrapper is a host-based networking ACL system, used to filter network access to Internet Protocol servers on operating systems such as Linux or BSD...
Further reading
- RFC 959 – (Standard) File Transfer Protocol (FTP). J. Postel, J. Reynolds. October 1985.
- RFC 1579 – (Informational) Firewall-Friendly FTP.
- RFC 2228 – (Proposed Standard) FTP Security Extensions.
- RFC 2389 – (Proposed Standard) Feature negotiation mechanism for the File Transfer Protocol. August 1998.
- RFC 2428 – (Proposed Standard) Extensions for IPv6, NAT, and Extended passive mode. September 1998.
- RFC 2640 – (Proposed Standard) Internationalization of the File Transfer Protocol.
- RFC 3659 – (Proposed Standard) Extensions to FTP. P.Hethmon. March 2007.
- RFC 5797 – (Proposed Standard) FTP Command and Extension Registry. March 2010.
- RFC 697 - CWD Command of FTP
- RFC 1639 - FTP Operation Over Big Address Records (FOOBAR)
- RFC 5797 - FTP Command and Extension Registry
External links