FTP (File Transfer Protocol) is a standard protocol for uploading, downloading and managing files on a remote server. It uses a control connection on TCP port 21 for commands and a separate data connection for each file transfer or directory listing.
Why it matters
FTP is still found on legacy hosting accounts, devices and automated exchanges. Its big weakness is that credentials and file contents travel in plain text, so anyone on the path can read them. Modern setups use SFTP, which runs over SSH, or FTPS, which wraps FTP in TLS.
The two-connection design also complicates firewalls and NAT. In active mode the server connects back to the client; in passive mode the client opens both connections to ports the server announces.
Example
ftp> open files.example.com
ftp> user deploy
ftp> passive
ftp> put index.html
If the login works but directory listings hang, the data connection is usually blocked, often because passive-mode ports are not open on the server firewall.
Common mistakes
- Sending passwords over plain FTP on public or shared networks.
- Opening port 21 but not the passive port range.
- Confusing FTPS with SFTP; they are different protocols that need different clients and ports.
Related
Get notified when this term updates
Plus occasional practical tips on uptime and monitoring, nothing else. Unsubscribe anytime.
This page is general information written by our editorial team and updated when documentation changes. Servers and providers differ, so test changes safely first. See our editorial policy and disclaimer.