This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations .(August 2023) |
Below is a list of FTP commands that may be sent to a File Transfer Protocol (FTP) server. It includes all commands that are standardized by the Internet Engineering Task Force (IETF) in RFC 959, plus extensions. Note that most command-line FTP clients present their own non-standard 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 | Description |
---|---|---|
ABOR | RFC 959 | Abort an active file transfer. |
ACCT | RFC 959 | Account information. |
ADAT | RFC 2228 | Authentication/Security Data |
ALLO | RFC 959 | Allocate sufficient disk space to receive a file. |
APPE | RFC 959 | Append (with create) |
AUTH | RFC 2228 | Authentication/Security Mechanism |
AVBL | Streamlined FTP Command Extensions | Get the available space |
CCC | RFC 2228 | Clear Command Channel |
CDUP | RFC 959 | Change to Parent Directory. |
CONF | RFC 2228 | Confidentiality Protection Command |
CSID | Streamlined FTP Command Extensions | Client / Server Identification |
CWD | RFC 697 | Change working directory. |
DELE | RFC 959 | Delete file. |
DSIZ | Streamlined FTP Command Extensions | Get the directory size |
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 | RFC 959 | Returns usage documentation on a command if specified, else a general help document is returned. |
HOST | RFC 7151 | Identify desired virtual host on server, by name. |
LANG | RFC 2640 | Language Negotiation |
LIST | RFC 959 | 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. |
MFCT | The 'MFMT', 'MFCT', and 'MFF' Command Extensions for FTP | Modify the creation time of a file. |
MFF | The 'MFMT', 'MFCT', and 'MFF' Command Extensions for FTP | Modify fact (the last modification time, creation time, UNIX group/owner/mode of a file). |
MFMT | The 'MFMT', 'MFCT', and 'MFF' Command Extensions for FTP | Modify the last modification time of a file. |
MIC | RFC 2228 | Integrity Protected Command |
MKD | RFC 959 | Make directory. |
MLSD | RFC 3659 | Lists the contents of a directory in a standardized machine-readable format. |
MLST | RFC 3659 | Provides data about exactly the object named on its command line in a standardized machine-readable format. |
MODE | RFC 959 | Sets the transfer mode (Stream, Block, or Compressed). |
NLST | RFC 959 | Returns a list of file names in a specified directory. |
NOOP | RFC 959 | No operation (dummy packet; used mostly on keepalives). |
OPTS | RFC 2389 | Select options for a feature (for example OPTS UTF8 ON ). |
PASS | RFC 959 | Authentication password. |
PASV | RFC 959 | Enter passive mode. |
PBSZ | RFC 2228 | Protection Buffer Size |
PORT | RFC 959 | 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 | RFC 959 | Disconnect. |
REIN | RFC 959 | Re initializes the connection. |
REST | RFC 3659 | Restart transfer from the specified point. |
RETR | RFC 959 | Retrieve a copy of the file |
RMD | RFC 959 | Remove a directory. |
RMDA | Streamlined FTP Command Extensions | Remove a directory tree |
RNFR | RFC 959 | Rename from. |
RNTO | RFC 959 | Rename to. |
SITE | RFC 959 | Sends site specific commands to remote server (like SITE IDLE 60 or SITE UMASK 002 ). Inspect SITE HELP output for complete list of supported commands. |
SIZE | RFC 3659 | Return the size of a file. |
SMNT | RFC 959 | Mount file structure. |
SPSV | FTP Extension Allowing IP Forwarding (NATs) | Use single port passive mode (only one TCP port number for both control connections and passive-mode data connections) |
STAT | RFC 959 | Returns information on the server status, including the status of the current connection |
STOR | RFC 959 | Accept the data and to store the data as a file at the server site |
STOU | RFC 959 | Store file uniquely. |
STRU | RFC 959 | Set file transfer structure. |
SYST | RFC 959 | Return system type. |
THMB | Streamlined FTP Command Extensions | Get a thumbnail of a remote image file |
TYPE | RFC 959 | Sets the transfer mode (ASCII/Binary). |
USER | RFC 959 | 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 | RFC 959 |
XRMD | RFC 775 | Remove the directory |
XRSQ | RFC 743 | RFC 959 |
XSEM | RFC 737 | Send, mail if cannot |
XSEN | RFC 737 | Send to terminal |
The Domain Name System (DNS) is a hierarchical and distributed naming system for computers, services, and other resources in the Internet or other Internet Protocol (IP) networks. It associates various information with domain names assigned to each of the associated entities. Most prominently, it translates readily memorized domain names to the numerical IP addresses needed for locating and identifying computer services and devices with the underlying network protocols. The Domain Name System has been an essential component of the functionality of the Internet since 1985.
Internet Relay Chat (IRC) is a text-based chat system for instant messaging. IRC is designed for group communication in discussion forums, called channels, but also allows one-on-one communication via private messages as well as chat and data transfer, including file sharing.
The Simple Mail Transfer Protocol (SMTP) is an Internet standard communication protocol for electronic mail transmission. Mail servers and other message transfer agents use SMTP to send and receive mail messages. User-level email clients typically use SMTP only for sending messages to a mail server for relaying, and typically submit outgoing email to the mail server on port 587 or 465 per RFC 8314. For retrieving messages, IMAP is standard, but proprietary servers also often implement proprietary protocols, e.g., Exchange ActiveSync.
The Secure Shell Protocol (SSH) is a cryptographic network protocol for operating network services securely over an unsecured network. Its most notable applications are remote login and command-line execution.
Telnet is a client/server application protocol that provides access to virtual terminals of remote systems on local area networks or the Internet. Telnet consists of two components: (1) the protocol itself which specifies how two parties are to communicate and (2) the software application that provides the service. User data is interspersed in-band with Telnet control information in an 8-bit byte oriented data connection over the Transmission Control Protocol (TCP). Telnet was developed in 1969 beginning with RFC 15, extended in RFC 855, and standardized as Internet Engineering Task Force (IETF) Internet Standard STD 8, one of the first Internet standards. Telnet transmits all information including usernames and passwords in plaintext so it is not recommended for security-sensitive applications such as remote management of routers. Telnet's use for this purpose has waned significantly in favor of SSH. Some extensions to Telnet which would provide encryption have been proposed.
Uploading refers to transmitting data from one computer system to another through means of a network. Common methods of uploading include: uploading via web browsers, FTP clients], and terminals (SCP/SFTP). Uploading can be used in the context of clients that send files to a central server. While uploading can also be defined in the context of sending files between distributed clients, such as with a peer-to-peer (P2P) file-sharing protocol like BitTorrent, the term file sharing is more often used in this case. Moving files within a computer system, as opposed to over a network, is called file copying.
Network address translation (NAT) is a method of mapping an IP address space into another by modifying network address information in the IP header of packets while they are in transit across a traffic routing device. The technique was originally used to bypass the need to assign a new address to every host when a network was moved, or when the upstream Internet service provider was replaced, but could not route the network's address space. It has become a popular and essential tool in conserving global address space in the face of IPv4 address exhaustion. One Internet-routable IP address of a NAT gateway can be used for an entire private network.
The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network. FTP is built on a client–server model architecture using separate control and data connections between the client and the server. FTP users may authenticate themselves with a clear-text sign-in protocol, normally in the form of a username and password, but can connect anonymously if the server is configured to allow it. For secure transmission that protects the username and password, and encrypts the content, FTP is often secured with SSL/TLS (FTPS) or replaced with SSH File Transfer Protocol (SFTP).
WebDAV is a set of extensions to the Hypertext Transfer Protocol (HTTP), which allows user agents to collaboratively author contents directly in an HTTP web server by providing facilities for concurrency control and namespace operations, thus allowing Web to be viewed as a writeable, collaborative medium and not just a read-only medium. WebDAV is defined in RFC 4918 by a working group of the Internet Engineering Task Force (IETF).
Extensible Messaging and Presence Protocol is an open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance. Based on XML, it enables the near-real-time exchange of structured data between two or more network entities. Designed to be extensible, the protocol offers a multitude of applications beyond traditional IM in the broader realm of message-oriented middleware, including signalling for VoIP, video, file transfer, gaming and other uses.
In computing, the SSH File Transfer Protocol is a network protocol that provides file access, file transfer, and file management over any reliable data stream. It was designed by the Internet Engineering Task Force (IETF) as an extension of the Secure Shell protocol (SSH) version 2.0 to provide secure file transfer capabilities. The IETF Internet Draft states that, even though this protocol is described in the context of the SSH-2 protocol, it could be used in a number of different applications, such as secure file transfer over Transport Layer Security (TLS) and transfer of management information in VPN applications.
Secure copy protocol (SCP) is a means of securely transferring computer files between a local host and a remote host or between two remote hosts. It is based on the Secure Shell (SSH) protocol. "SCP" commonly refers to both the Secure Copy Protocol and the program itself.
The Extensible Provisioning Protocol (EPP) is a flexible protocol designed for allocating objects within registries over the Internet. The motivation for the creation of EPP was to create a robust and flexible protocol that could provide communication between domain name registries and domain name registrars. These transactions are required whenever a domain name is registered or renewed, thereby also preventing domain hijacking. Prior to its introduction, registries had no uniform approach, and many different proprietary interfaces existed. While its use for domain names was the initial driver, the protocol is designed to be usable for any kind of ordering and fulfilment system.
File eXchange Protocol is a method of data transfer which uses FTP to transfer data from one remote server to another (inter-server) 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. In the FXP session, a client maintains a standard FTP connection to two servers, and can direct either server to connect to the other to initiate a data transfer. The advantage of using FXP over FTP is evident when a high-bandwidth server demands resources from another high-bandwidth server, but only a low-bandwidth client, such as a network administrator working away from location, has the authority to access the resources on both servers.
FTPS is an extension to the commonly used File Transfer Protocol (FTP) that adds support for the Transport Layer Security (TLS) and, formerly, the Secure Sockets Layer cryptographic protocols.
This article lists communication protocols that are designed for file transfer over a telecommunications network.
An application-level gateway is a security component that augments a firewall or NAT employed in a computer network. It allows customized NAT traversal filters to be plugged into the gateway to support address and port translation for certain application layer "control/data" protocols such as FTP, BitTorrent, SIP, RTSP, file transfer in IM applications. In order for these protocols to work through NAT or a firewall, either the application has to know about an address/port number combination that allows incoming packets, or the NAT has to monitor the control traffic and open up port mappings dynamically as required. Legitimate application data can thus be passed through the security checks of the firewall or NAT that would have otherwise restricted the traffic for not meeting its limited filter criteria.
HTTP 403 is an HTTP status code meaning access to the requested resource is forbidden. The server understood the request, but will not fulfill it.