Subscribe to AfterDawn's weekly newsletter.
File Transfer Protocol (FTP) is an Internet protocol used to transfer data from one computer to another through a network. More specifically, FTP is a protocol used for exchanging data over any network that supports the Transfer Control Protocol/Internet Protocol (TCP/IP) protocol.
In a standard FTP session, there are two computers involved in the transfer: the server and the client. The FTP server runs an FTP server software and listens to the network for anyone who wants to connect to its specific IP address or name. The client runs an FTP client software and initiates the connection with the server by either inputting the IP address or name of the FTP server. Once the connection takes place, the client can do a number of operations such as file manipulation (rename, delete, move, etc), upload files to the server, download files from the server, and so on. The FTP protocol is an open standard protocol which means any individual or software company can create their own FTP software. Virtually every computer supports the FTP protocol natively. This allows any one computer to connect to another over the network regardless of what type of operating system either is running. FTP servers can be setup anywhere between game servers, voice servers, internet hosts and other physical servers.
By default, FTP operates on port 21 of the TCP protocol. An FTP server will listen to port 21 for any computers who wish to initiate a connection with it. The connection from the FTP client forms a control stream on which commands are passed to the FTP server, and occasionally from the FTP server to the client.
FTP uses authentication via username and password, yet these passwords are sent over the network in clear text. This means that anyone who happens to be "listening" to packets on a network could intercept the password and gain access.
Many sites that run FTP servers enable anonymous FTP. With anonymous FTP, users do not need a username or password on the server in order to login. The username is typically anonymous and the password is blank. Often times an FTP server will ask for the user's email address for verification, however this method usually is trivial and goes through no verification, depending on the configuration.