Networking

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

Command

Purpose

ls

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

cd

Changes the working directory on the remote host.

lcd

Changes the working directory on the local host.

put

Uploads a single file to the remote host.

get

Downloads a single file from the remote host.

mput

Uploads multiple files to the remote host.

mget

Downloads multiple files from the remote host.

binary

Switches transfers into binary mode.

ascii

Switches transfers into ASCII mode (the default).