FTP (File Transfer Protocol)

Definition – What is FTP (File Transfer Protocol)

The term FTP is short of File Transfer Protocol commonly used for exchanging files/media between a client and server on a computer network. Basically, it is an Internet Protocol/Network Protocol and it works in the application layer. The architecture of the File Transfer Protocol can be compared with HTTP. HTTP also works with a client and server. HTTP client requests for web pages to the server and the server response to the request by sending the data to the requested client. So it is such kind of data transfer.

In the same way, the client request for data to a specific server. Often an FTP server is SSL/TSL secured for data privacy and protection. Most of the time you will need Username and password with the hostname to access a server. It is because of the security of data. Although the FTPs client and server can be configured for Anonymous data transfer.

FTP for Command Line

File Transfer Protocol was developed when the Operating System is not developed yet. So basically there was no Graphical User Interface (GUI) for sending a request to connect an FTP server. And that’s why the first FTP server was command line based. After developing the operating system it was shifted in the most popular Operating System such as Windows, Linux, Unix etc.

Some widely used commands for FTP client and server:

Commands Action
USER Authentication username – Checks the username is correct or not
PASS Authentication password – Check the password is correct or not
ABOR Disconnect a localhost from an active server
ACCT Retrieve the Account and server information
DELE Deletes a file

See List of Commands here

Uses of FTP

FTP primarily used for transferring files and data between client and server. Most of the time webmasters use this server to download the website data or uploading a new file to the hosting server. But indirectly it is used for many purposes over the Internet.

Logging in

To log in into an FTP server it uses normal clear-text username and password. The username sent to the server using USER command on the local machine’s command line over an internet connection and in the same way, the username sent to the server using PASS command. The username and password also can be sent using a GUI (Graphical User Interface) from a web browser.

If the username and password are accepted by the server, the server will respond with a greeting. Then the user can transfer, upload, download, modify and delete data from the server either using the command line or GUI. Here the server works as a remote desktop and the client machine works as a local desktop.

Security Issues

While developing FTP, the developers were not much concerned about its security. It has many security weakness. The potential can occur on an FTP protocol including Bounce attack, Brute-force attack, Port stealing, Packet capture, Spoofing Attack, Username enumeration etc.

To avoid these security issues developers have been developed the derivatives of FTPs. The most common derivatives are FTPS, FTP over SSH, Trivial File Transfer Protocol, Simple File Transfer Protocol etc.

Popular FTPs Client

  • Filezilla Server for windows
  • Pure FTPD for Linux
  • ProFTPD for Unix
  • Vsftpd for Unix
  • CrushFTP Windows, Linux and Mac