File Transfer Protocol (FTP)

The FTP protocol is an application layer protocol that provides a method for uploading and downloading files from a remote system running FTP server software. FTP uses the TCP transport protocol to guarantee the delivery of data packets.

FTP has some basic security capabilities, such as a capability to authenticate users. However, rather than create a user account for every user, you can configure FTP server software to accept anonymous logons. When you do this, the username is anonymous, and the password is normally the user's email address. Most FTP servers that offer files to the general public operate in this way.

FTP is popular for distributing files over the Internet but is also used within organizations that need to frequently exchange large files with other people or organizations that find it impractical to use regular email.

FTP Security Concerns

One significant issue with FTP is that usernames and passwords are communicated between client and host in clear text. This is a potential security concern. For this reason, secure methods of copying files such as SFTP, discussed later, are becoming more commonly used.

FTP is platform independent, meaning that all the common network operating systems offer FTP server capabilities. In addition, all commonly used client operating systems offer FTP client functionality. Alternatively, third-party utilities such as SmartFTP and CuteFTP are often used.

There are several commands that can be used with FTP. Table 5 lists the commands that are used with the FTP protocol.

Table 5 FTP Commands




Lists the files in the current directory on the remote system.


Changes the working directory on the remote host.


Changes the working directory on the local host.


Uploads a single file to the remote host.


Downloads a single file from the remote host.


Uploads multiple files to the remote host.


Downloads multiple files from the remote host.


Switches transfers into binary mode.


Switches transfers into ASCII mode (the default).

by BrainBellupdated