Skip to main content

FTP Server: Functions, Examples, and Services

Published on:
.
16 min read
.
For German Version

File Transfer Protocol, or FTP, is a standard network protocol used to transfer files between a client and a server over the Internet or a network. An FTP server provides the FTP service to manage files remotely by connecting to an FTP address. This is an IP or a domain name. FTP servers connect users and file storage systems for better file sharing and management. An FTP server can be reached through an FTP client by providing credentials or sometimes anonymously, depending on the server’s configuration. The FTP server handles file transfers and directory management and supports creating directories, changing directories, and listing files.

FTP operates through two channels: one for commands and another for data transfer. The FTP server supports two modes, active and passive, to establish these channels, with passive mode often preferred to bypass firewalls. FTP was not designed with security in mind when it emerged. Standard FTP transmits credentials in plain text like normal data. This then came to be a vulnerability for packet sniffing and unauthorized access attempts, like brute force attacks. Secure alternatives like FTP over SSL/TLS (FTPS) and SSH File Transfer Protocol (SFTP) are the recommended alternatives. FTP servers enable fast and efficient transfer of large files and multiple files simultaneously. They support resuming interrupted transfers to prevent data loss. FTP servers are accessible across different hosts and platforms, and they have automated file scheduling and backup. Bulk file transfers and directory management are key features for FTP servers. Files can be organized into folders, and new directories can be created and managed, including the permissions with directory management on FTP servers. Bulk file transfer is essential for businesses that need to move large volumes of data regularly. Software updates, backups, or multimedia files are some examples. FTP supports queuing and scheduling for reliable and timely data exchange. Multi-user accounts can be configured on the server, often associating each with a dedicated home directory and access rights to maintain security and organization. Directory management functionality is for large-scale file storage systems to ensure easy retrieval, backup, and security of files.

Meanwhile, the lack of inherent encryption in standard FTP exposes data to interception. They can be vulnerable to attempts like brute-force attacks. Additional security is mandatory, or monitoring user activity and securing it will remain at your own risk. Users may experience connection instability and face the potential risk of accidental file deletion or modification. The following topics are going to be discussed and covered in this article.

  • What is FTP server?
  • How does FTP Work
  • Does FTP Server Function as File Servers?
  • What is an FTP server Example?
  • What is the Use of FTP server?
  • What are the Advantages of FTP Servers?
  • What are the Disadvantages of FTP Servers?
  • How Secure are FTP Servers?
  • Is the FTP Port 21 Not Safe?
  • How to Connect to an FTP server?
  • What are FTP services?
  • What are the Alternatives to FTP Servers?
  • How to Set up An FTP Server?
  • Which Port Number Is Used for FTP?
  • Do Print Servers support FTP-based printing?

What is FTP server?

An FTP server, or File Transfer Protocol server, is a computer software that enables the transfer of files between computers over a network via the FTP protocol. Today, this type of server is an essential part of our daily internet usage. FTP server serves as a central repository for files to be stored. Accessing, transferring, and managing the files remotely by authorized users becomes possible in a client-server architecture.

The primary role of an FTP server is to facilitate the secure and efficient exchange of files between a client and the server over a TCP/IP network. The FTP server supports two essential operations.

  • Put: Uploading files from the client to the server.
  • Get: Downloading files from the server to the client.

Why is the FTP server used?

FTP servers are widely used for the following purposes.

  • Exchange large files that are difficult to share via email.
  • Provide secure file transfers using protocols like FTP Secure (FTPS ) and SSH File Transfer Protocol (SFTP ), which add encryption and protect data while it is being transferred.
  • Optimize workflows by enabling bulk file transfers, scheduled transfers, and centralized file storage.
  • Improve control over data by managing user permissions on files.
  • Provide reliable disaster recovery through automated continuous backups.

What are the features of FTP servers?

Key features of FTP servers are listed below.

  • FTP servers operate in a client-server model where clients initiate requests and servers respond by managing files and directories
  • Users must typically provide credentials to access the server, along with permissions for their roles.
  • Besides standard FTP, many servers support secure variants such as FTPS and SFTP to enhance security through encryption.
  • FTP servers support ASCII mode for text files and binary mode for non-text files like images, videos, and executables. This becomes handy for proper file transfer without corruption.
  • Users can navigate directories, create or delete folders, rename files, and manage file permissions remotely.
  • Modern FTP servers may provide access via FTP clients, web browsers, and even secure HTTPS links. This means flexibility in how users work on files.
  • FTP supports active and passive modes to work effectively across firewalls and NAT gateways. This means a compatible network and connectivity in various network environments are ensured.

FTP access refers to the ability to connect to an FTP server for file transfer or management. It usually requires authentication. Anonymous FTP servers, where some or all files may be accessible without credentials, are exceptions. FTP client software or web browsers configured to communicate with the FTP server establish the FTP access. Users remotely perform file operations through an FTP server. Security and efficiency are provided by the security protocols and access controls to the server.

How does FTP Work?

FTP operates on a client-server model. The client initiates a connection to the FTP server, which listens for incoming requests, typically on port 21. FTP includes dual connection channels.

  • Control Channel: Used for sending commands (like login, change directory, and list files) and receiving server responses. This channel remains open throughout the session.
  • Data Channel: Used exclusively for transferring file contents or directory listings. This channel opens as needed and closes after the transfer is complete.

The FTP session flow is as follows.

  1. Client establishes a control connection to the server.
  2. Authentication occurs.
  3. Client sends commands; server responds.
  4. A data connection is created when a file transfer or directory listing is requested.
  5. The data connection is closed after the transfer. The control channel remains for possible upcoming commands.

FTP remains a core protocol for file transfers, but its security depends heavily on the authentication method and transfer mode chosen. For secure operations, it is recommended to prefer encrypted authentication and passive mode in firewall-restricted environments.

What are the FTP server authentication methods?

FTP supports authentication methods based on different security levels. Here is a lis of FTP authentication methods

  • Anonymous Authentication: Allows users to log in with a generic username and an email address as a password. The username is usually "anonymous". This is widely employed for public file repositories, but meanwhile comes with security risks if not restricted.
  • Basic Authentication: Requires a unique username and password. Credentials are sent in plain text. This method is not recommended for sensitive data. It has a risk of being vulnerable to interception.
  • Digest Authentication: Hashing algorithm is employed for credentials in case of the risk of interception. Makes it safer compared to the basic authentication.
  • SSL/TLS (Secure FTP or FTPS): All data is encrypted with SSL/TLS protocols, credentials included. Strongly recommended for secure transfers involving confidential information.
  • Key-Based Authentication: Public/private key pairs for authentication instead of passwords. Users with the matching private key can only reach the server.

What are the FTP server modes?

FTP supports two modes for establishing the data connection, impacting firewall compatibility and security:

  1. Active Mode: A command channel to the server is opened via port 21 by the user. The server then opens a data channel back to the client (from port 20 to a client-specified port). It may be blocked by client-side firewalls, as it requires the client to accept incoming connections.
  2. Passive Mode: The client opens both the command and data channels to the server. The server specifies a random high port for data transfer, and the client connects to it. Preferred when clients are behind restrictive firewalls, as all connections are outbound from the client.
FeatureActive ModePassive Mode
Who initiates data connectionServer initiates connection to clientClient initiates connection to server
Server ports usedCommand: 21, Data: 20Command: 21, Data: random high port
Client ports usedRandom (for both command and data)Random (for both command and data)
Firewall compatibilityCan be blocked by client-side firewallsMore compatible with client-side firewalls
SecurityEasier to target due to fixed portsMore secure due to random data ports

Table 1. Active-Passive FTP Modes

Does FTP Server Function as File Servers?

Yes, an FTP server can function as a file server. Its primary purpose is to allow clients to store, upload, download, delete, rename, move, and manage files on the server. Here’s how FTP server works as a file server.

  • File Storage: FTP servers let users upload and store files in designated directories. Other users access it with assigned permissions.
  • File Sharing: Users can download, upload, and manage files remotely. This is the main function of file servers.
  • Access Control: FTP servers support user authentication and permissions.
  • Network Accessibility: FTP servers can be accessed from different operating systems and locations. Local and remote file management is provided.

While FTP servers are a type of file server, not all file servers use FTP. File servers may use other protocols like SMB (Windows), CIFS, NFS (Unix/Linux), or SFTP. FTP is one of the oldest and most widely supported methods for network-based file sharing. The lack of encryption is a risk for sensitive data. Secure alternatives like SFTP or FTPS are recommended.

What is an FTP server Example?

Here are some popular FTP server software examples, along with their uses and typical system/frameworks.

  1. FileZilla Server: FileZilla Server is an open-source FTP and FTPS server for Windows. Its user-friendly graphical interface is easy to set up and manage. It works on various Windows versions, desktop and server editions. Uses include;

    FileZilla shares files easily with a proper firewall configuration.

    Web developers and admins employ FileZilla Server on their hosting environments so clients can upload files like HTML, CSS, and images to web servers.

    Businesses use it for internal file exchange. Larger organizations prefer more robust Managed File Transfer (MFT) solutions.

    For basic backup scenarios, users can configure automated scripts to upload files to a FileZilla Server.

    FileZilla is written in C++ and uses standard Windows APIs. It's a standalone application that doesn't rely on complex web server frameworks.

  2. Very Secure FTP Daemon (Vsftpd): Vsftpd is an open-source FTP server for Unix systems, popular for Linux. Given the name, its focus is security, stability, and performance. It's mostly the default FTP server in many Linux distributions like Ubuntu, Red Hat, and Debian. It's widely used on Linux servers, often for website content, development files, or general server administration. While its core is FTP, vsftpd strongly supports FTPS. It is secure when properly configured. Can be configured to host anonymous FTP access for public file distribution, like software archives and documentation, though this use case has decreased due to web-based downloads. Supports virtual users. FTP accounts can be created that don't correspond to actual system user accounts. This brings better security and management. It's written in C and is a lightweight daemon to run efficiently on Linux, Unix, BSD. The config file example is /etc/vsftpd.conf.

  3. Pure-FTPd: Pure-FTPd is an open-source and secure FTP server for Unix-like systems. Its focus is to be secure, simple, and efficient. Its security-first design and features like chroot environments restrict users to their home directories. Popular among web hosting providers.

    Like vsftpd, it supports FTPS and robust virtual user management. User isolation is flexible. Lightweight and suitable for embedded or low-resource environments. Pure-FTPd comes with features like MySQL or LDAP authentication backends. ISPs manage large numbers of users. It works with Linux, macOS, OpenBSD, NetBSD, FreeBSD, Solaris, and Unix systems. Pure-FTPd is written in C. Command-line arguments or a wrapper script that reads a configuration file are employed for configuration.

  4. Microsoft IIS FTP Server: Microsoft's Internet Information Services (IIS) is a flexible and manageable web server for Windows with an integrated secure FTP server role. Windows servers can host both web content (HTTP/HTTPS) and FTP/FTPS services.

    Web servers on Windows can enable the FTP role for uploading website files.

    Supports FTPS within a Windows-centric network and the internet.

    Can integrate with Windows Server's Active Directory for user authentication and authorization. This is useful for easy management for enterprises.

    Developers often use it on their local Windows machines for testing web application deployments that involve FTP.

    It works with Windows Server like Windows Server 2016, 2019, 2022 and certain Windows client versions like Windows 10/11 Pro, for local development and testing.

    It's an integral component of the IIS web server, which is part of the Windows operating system. Configuration is typically done through the IIS Manager graphical interface.

Below is a table of some of the widely used FTP server software, their platforms, and key features:

FTP Server SoftwarePlatform(s)Key Features & Protocols SupportedNotable Uses
FileZilla ServerWindowsFTP, FTPS (TLS), user management, loggingBasic internal file sharing
Wing FTP ServerWindows, Linux, MacFTP, FTPS, SFTP, HTTP/S, web admin interfaceSecure, multi-protocol support
Cerberus FTP ServerWindowsFTP, SFTP, FTPS, HTTP/S, SCP, 2FA, auditingEnterprise, compliance
Titan FTP ServerWindowsFTP, SFTP, FTPS, web interface, securityBusiness, advanced control
CompleteFTPWindowsFTP, FTPS, SFTP, SCP, web client, automationEnterprise, automation

Table 2. Examples of widely employed FTP server software

What is the Use of FTP server?

The real world applications of FTP are as follows.

  • Website Management: FTP provides direct access to the files and directories on a web server. It is a foundational tool for website admins and developers. They employ FTP to upload website assets , themes, and plugins directly to the server. Content management dashboards are bypassed when needed. When a website is inaccessible, direct modification or file replacement is possible for fast recovery. FTP supports batch uploads and downloads.

  • Remote File Access: FTP servers provide secure, remote access to files on a central server from any location. Teams spread across different networks and they can edit or share files. Redundancy is reduced and everyone works with the latest versions. Admins can set access rights.

  • Data Backup & Recovery: FTP servers are widely used for automated or manual backup of important data. Incremental and full backups are possible. Usual backups to an FTP server let's data be quickly restored. Many backup solutions use FTP to schedule and automate backups. FTP servers can back up data from various operating systems and devices.

  • Software Distribution: Software vendors use FTP servers to distribute software packages, updates, and patches to users or clients. FTP handles large files and bulk distributions more reliably than email or simple file-sharing apps. Multiple versions of software can be stored and accessed. FTP servers provide a consistent, reliable method for users to access software resources from anywhere. Global distribution is supported.

Despite the rise of cloud-based file sharing, FTP servers are still widely used because they are reliable, support large and automated transfers, and integrate well with legacy systems. Industries such as web development, engineering, media production, and IT rely on FTP for its speed, control, and compatibility.

What are the Advantages of FTP Servers?

FTP is a standard network protocol used for transferring computer files from a server to a client or vice versa, and they are widely used in networks. While it has been a workhorse for many years, its advantages and disadvantages should be understood in the context of modern networking and security practices. Here are the main advantages of FTP servers.

  • Efficient File Transfer: FTP servers allow fast and reliable transfer of large files over the internet or local networks. Multiple directories as well. It is preferable for bulk transfers and better than email attachments.
  • Resume Capability: Many FTP clients support resumes if interrupted. No need to rebegin large uploads or downloads. Time and bandwidth are saved.
  • Batch Processing: Supports batch file transfers. Multiple files or entire directories to be transferred at once.
  • Platform Independence: FTP works across different operating systems. It comes with a universal solution for file sharing.
  • Access Control: Admins can manage permissions and restrict user access to specific files or folders if needed. Users have good control over their transfers. They can pause, resume, and manage transfer queues.
  • Automation Support: Scripts and automated workflows can be automated. Scheduled backups, synchronization, and other repetitive file transfer tasks are examples.
  • **Adoption and Compatibility: FTP is a well-established protocol that is compatible with most operating systems and network types. It is supported by many client and server applications. It is a widely supported and mature protocol. A wide range of FTP clients is available. Web developers often employ FTP to manage website files on hosting servers directly. A centre of location for storing and managing files is provided by the FTP Server. Teams can collaborate and access shared resources. Many FTP providers offer robust backup and disaster recovery solutions.

What are the Disadvantages of FTP Servers?

Despite their benefits, FTP servers have several limitations listed below.

  • Lack of Inherent Security: Traditional FTP transmits data in plain text. The user credentials are the same. No encryption is its most significant disadvantage and comes with the vulnerability to interception and attacks, especially in public networks.
  • Complex Configuration: If the case is to implement securely, setting up and maintaining FTP servers can be complex.
  • Firewall and NAT Traversal Issues: Multiple port employment in FTP can cause difficulties with firewalls and NAT devices. In "active mode", the server tries a connection back to the client. This can be an issue with firewalls and Network Address Translation (NAT) devices. Incoming connections to the client may be blocked. "Passive mode" may help solve this with some remaining challenges.
  • Limited Error Handling and Logging: FTP servers come with limited logging and monitoring features compared to modern transfer solutions. It might not provide detailed information about why a transfer failed. This means troubleshooting will be more difficult.
  • No Integrity Checking: Built-in file integrity verification is not an FTP feature. The risk of corrupted transfers may go up.
  • Obsolete for Sensitive Data: FTP is not recommended for confidential data if a more secure FTPS or SFTP does not exist. Authentication happens over the network, so FTP servers are at risk for brute-force attacks where attackers repeatedly try to guess login credentials.
  • Lack of File Synchronization or Compression: Basic FTP does not inherently offer synchronization or data compression. More advanced file transfer solutions may inherit these.
  • Complexity for Beginners: Basic FTP server settings can be straightforward. When the aim is to configure it securely, especially with firewalls and different modes, it can be challenging for inexperienced users.

How Secure are FTP Servers?

Traditional FTP servers are not secure for transmitting sensitive data. They are useful for basic file transfers, but their initial design lacks fundamental security features for today. The main reason FTP is insecure is its plaintext transmission of information. This causes several vulnerabilities on FTP servers:

  • When a user logs in to an FTP server, their credentials are sent in unencrypted, readable text. A packet sniffer can easily intercept.
  • The actual files are transmitted without any encryption. Sensitive info like personal docs and images, and financial data are at risk.
  • No encryption leads to security gaps between the client and the server. They can then intercept, view, and even modify while the client or server does not have a clue.
  • Brute-force attacks, like systematically trying to guess login credentials, is another risk. There's no inherent protection against repeated login attempts. The exception is to manually configure on the server.
  • The integrity of the files is not validated. There's no built-in way to detect if a file has been tampered with during transit.
  • The firewall/NAT traversal issues are in active mode. It is not strictly a security risk, but active mode FTP's requirement for the server to initiate a connection back to the client often causes issues with firewalls and NAT devices. This is less reliable and sometimes leads to workarounds that can inadvertently open security holes.
  • If anonymous access is not secured well, files are at risk including malicious content. Read-only access to an isolated directory will reduce the risk.

Is the FTP Port 21 Not Safe?

Yes, using FTP Port 21 is not safe for sensitive data. It is the default control port for FTP. It’s functional for the initial connection and commands. The insecurity comes from the design of the FTP protocol itself. Port 21 for standard FTP is vulnerable because it transmits any data unencrypted in readable text. Anyone with access to network traffic can easily intercept and read these credentials as well as data. This can be made through a packet sniffer or by monitoring network activity on a Wi-Fi hotspot. It is a compromise. Data is also transferred without encryption. This means that if you're transferring sensitive documents, financial records, personal photos, or any other private information, an attacker can intercept and read the entire content of these files. Eavesdropping/sniffing, man-in-the-middle (MitM) attack, and session hijacking are the risks with this design. For instance, by capturing the session credentials, an attacker could potentially take over an active FTP session.

Protocols that encrypt both the control connection and the data transfer should be employed for the solution.

How to Connect to an FTP server?

Several methods to connect to an FTP server depend on your OS and preferences. Below is a structured overview of common connection methods with step-by-step guides. Connection methods to FTP server are listed below.

  • Using a dedicated FTP client software like FileZilla and Total Commander
  • Using command-line FTP clients. They are built-in terminal or command prompt FTP commands
  • File explorer or browser for simple access
  • Programmatically via code by FTPWebRequest in C#

A step-by-step guide for each method is as follows.

Using Dedicated FTP Client Software

You may connect to the FTP server using FileZilla by following the next steps.

  1. Download and install FileZilla Client from the official website.
  2. Gather your FTP credentials: server address, username, password, and port.
  3. Open FileZilla and enter the FTP server address, username, password, and port in the Quickconnect bar.
  4. Click "Quickconnect" to establish the connection.
  5. After connection, upload, download, and managing files on the server now is possible.

You may connect to the FTP server using Total Commander by following the next steps.

  1. Download and install Total Commander.
  2. In the “Network” menu select “Connect to FTP server.”
  3. Click “Add” to create a new connection.
  4. Enter the host name, connection name, username, and password.
  5. Save and select the connection from the list to connect to the FTP server.

Using Command-Line FTP Client

You may connect to the FTP server using a command-line ftp client by following the next steps.

  1. Open your terminal (Linux/macOS) or command prompt (Windows).
  2. Type the command – ftp ftp.serveraddress.com
  3. or for secure FTP – sftp ftp.serveraddress.com
  4. When prompted, enter your username and password.
  5. Use FTP commands such as ls , cd , get, and put to manage files.
  6. Type bye or quit to disconnect.

Using File Explorer or Browser (Windows)

You may connect to the FTP server using file explorer by following the next steps.

  1. Open file explorer and type ftp://serverIP in the address bar.
  2. Give username and password when asked.
  3. Browse and manage files as if they were local folders.

Programmatically Connecting via C# Code

You may connect to the FTP server programmatically by following the next steps.

  1. Use the FTPWebRequest class in .NET.
  2. Create an FTP request object with the FTP server URI.
  3. Set the method like WebRequestMethods.Ftp.DownloadFile.
  4. Provide credentials.
  5. Execute the request and handle the response stream to download or upload files

What are FTP services?

FTP services refer to the functionalities and capabilities provided by an FTP server that enable users to interact with files on a remote system using the File Transfer Protocol. These services are more than just simple transfers; they cover the full lifecycle of remote file management. Here are the core FTP services:

  • File Uploading and Downloading: This is the most fundamental service of an FTP server. It allows users to transfer files from their local to the FTP server and to retrieve files from the FTP server to their local. This is for website updates, software distribution, and sharing large files.
  • Directory Management: Users can interact with the directory or folder structure on the remote FTP server. This includes creating, deleting, and renaming directories. Organizing and managing files on the server efficiently brings structured storage, project organization, and cleanup when needed.
  • Authentication and Access Control: Users need to authenticate before accessing files. Access control then dictates what authenticated users are allowed to do, like read-only, write, delete, create directories in parts of the server's file system. Some servers also support anonymous access for public files. This is crucial for data security, integrity and file permissions.
  • Secure File Transfers: Traditional FTP (on Port 21) is insecure due to plaintext transmission. Modern FTP services can perform secure file transfers using encrypted protocols like FTPS or SFTP. These protocols encrypt both the authentication credentials and the data in transit. This is vital for compliance, sensitive data exchange, and preventing cyber threats.
  • Logging File Transfers: FTP servers keep detailed records of all activities, including successful and failed login attempts, file uploads, downloads, deletions, and other commands executed are examples. Many modern servers also provide real-time monitoring capabilities. To provide an audit trail, troubleshooting, and better security. The aim is accountability, security auditing, and compliance reporting.

What are the Alternatives to FTP Servers?

Lack of encryption and security vulnerabilities forced the emergence of modern FTP alternatives. If the aim is secure, reliable file transfers, alternatives with encryption and robust authentication must be employed. The common and recommended FTP server alternatives are listed below.

  1. SSH File Transfer Protocol (SFTP): SFTP runs over the SSH protocol. SSH comes with an encrypted tunnel for all communication, both authentication and file data transfer. It offers strong encryption for both credentials and data, uses a single port (typically 22), and supports various strong authentication methods, including password and public-key authentication. It's considered the de facto standard for secure file transfers.
  2. FTP Secure / FTP over SSL/TLS (FTPS): FTPS adds a layer of SSL/TLS encryption on top of the standard FTP protocol. It encrypts both the control channel, commands, and credentials, and the data channel file contents. It can operate in implicit mode and is always encrypted from the start, often on Port 990. An alternative is explicit mode, and encryption is explicitly requested over Port 21. It is more firewall-friendly than active FTP, but the configuration can be more complex than SFTP as it operates dual-channel.
  3. Secure Copy Protocol (SCP): Employs SSH for secure transfers. The aim is direct file copying between hosts. Comes with strong encryption and authentication from SSH. It provides more limited features than SFTP. No directory listing support or resuming interrupted transfers.
  4. HTTP Secure for File Transfers (HTTPS): Encrypts HTTP traffic using SSL/TLS for web apps. Encryption for data in transit and server authentication is provided. It's widely used and generally easy to use in browsers.
  5. Managed File Transfer (MFT) Solutions: Enterprise-grade software platforms that often support SFTP, FTPS, and other secure protocols. They add features for complex business needs. Robust auditing, workflow automation, guaranteed delivery, and enhanced security controls are some features provided. Advanced encryption, strong authentication, and detailed logging for compliance are security features.

Below is a list of safer prominent FTP alternatives with key features:

FTP AlternativeDefinitionKey Features
SFTP (Secure File Transfer Protocol)A secure file transfer protocol built on SSH (Secure Shell) that encrypts both commands and data, ensuring confidentiality and integrity during transmission.-SSH for encryption -Password and public key authentication - Operates on port 22 - Allows secure file operations (upload, download, rename, delete) - Supports automation and scripting - Cross-platform compatibility
FTPS (File Transfer Protocol Secure)An extension of FTP that adds support for SSL/TLS encryption to secure file transfers. It can operate in explicit or implicit mode.- Encrypts control and data channels with SSL/TLS - Supports client certificates for authentication - Works well with firewalls using standard ports - Operates on FTP ports 21 (explicit) or 990 (implicit)
SCP (Secure Copy Protocol)A protocol based on SSH that allows secure file transfers between hosts on a network. It is simpler than SFTP but less flexible.- Uses SSH for encryption - Command-line based - Suitable for quick, secure file copies
WebDAV (Web Distributed Authoring and Versioning)An extension of HTTP. Useful for editing and managing files on remote web servers in collaboration.- Works over HTTP/HTTPS - Supports file locking and metadata - Integrates with web servers and clients
SMB/CIFS (Server Message Block/Common Internet File System)A network file sharing protocol. Sharing files, serial ports and printers is the main goal inside local networks.- Enables file and resource sharing over LAN - Integrated with Windows environments - Supports authentication and access control
HTTPSSecure HTTP, widely used for secure web communication and file transfers via web interfaces or APIs.- SSL/TLS encryption - Ubiquitous and firewall-friendly - Web-based file sharing and APIs supported
Applicability Statement 2(AS2)A protocol for securely and reliably exchanging business data.Often for Electronic Data Interchange. - HTTPS with encryption and digital certificates - Message integrity and non-repudiation - Common in supply chain and business transactions
Managed File Transfer(MFT)A comprehensive solution that automates and secures file transfers with encryption, auditing, and compliance support.- Centralized management - SFTP, FTPS, HTTPS supported - Automation, reporting, and compliance tools
Cloud Storage Services (ShareFile, Files.com)Cloud-based platforms.Secure file sharing, syncing, and collaboration Replacement for FTP - Secure, encrypted transfers - User-friendly web interfaces - Integration with enterprise workflows and compliance

Table 4. Prominent FTP alternatives with their key features

How to Set up An FTP Server?

Setting up an FTP server means the right software, configuration, and access rights. The steps depend on your OS and the chosen FTP server software. Here's a general guide, using FileZilla Server for Windows, as it is popular and relatively straightforward. You may also set up a Linux FTP server easily. General prerequisites are as follows:

  • A physical or virtual computer that will host the FTP server.
  • For internet accessibility, the server should have a static public IP. A dynamic DNS service can be employed if the public IP changes.
  • The server's local firewall and the router/gateway's firewall should be set to FTP traffic.
  • Admin or root privileges on the server host.

Steps for setting up an FTP Server are as follows:

  1. Choose and Download FTP Server Software: Download FileZilla Server from the official site. It is widely used and for free. Windows has a built-in FTP server feature that you can enable.
  2. Install the FTP Server: Run the installer and follow the steps. For FileZilla, the admin interface port can be left at the default (14147) or choose a not common port between 1024 to 65535 range. To enable Windows FTP server, go to Control Panel > Programs and Features > Turn Windows features on or off > Internet Information Services > FTP Server and install required components.
  3. Configure the FTP Server: Open the FTP server application.
    1. For FileZilla, set an administrative password if desired.
    2. Create user groups and assign read/write permissions.
    3. Create individual user accounts, assign them to groups with passwords.
    4. For Windows IIS FTP server, create an FTP site by specifying the site name, directory path like %SystemDrive%\ftp\ftproot, IP address, and default port 21. Configure basic or anonymous authentication and permissions.
  4. Set Folder Permissions: The folder you wanted to be shared should have the right and enough permissions for FTP user access. For security, you can lock users to their home directory to prevent browsing outside it.
  5. Configure Network Settings: Open and forward default FTP port 21 on your router to the server's local IP address. Allow FTP traffic through your firewall.
  6. Test the FTP Server: FTP client or file explorer is needed to connect to the FTP server using its IP or hostname (ftp://your-server-ip). Log in to verify file access.
  7. Secure FTP Server Option: SSL/TLS for encrypted connections if sensitive data exists. Windows IIS FTP supports SSL configuration. For internet-facing servers, encryption is recommended, if not for local networks.

Which Port Number Is Used for FTP?

The main port numbers used for FTP are Port 21 and Port 20. FTP is able to operate in different modes, and its port usage is a bit more complex than many other protocols. Common FTP ports and their uses are as follows:

  1. Port 21 - FTP Control Port: This is the primary and most commonly known port for FTP. Port 21 is for the control connection between the FTP client and the FTP server. Note that Port 21 handles the commands for file transfer, but it does not handle the actual data transfer of the files themselves in standard FTP. It handles all the commands exchanged between the client and server. This includes login credentials. Commands like USER, PASS, LIST are issued to get a directory listing. GET is for download, PUT for upload, CWD for changing working directory, PORT for active mode, and PASV for passive mode. Receiving server responses to these commands.
  2. Port 20 - FTP Data Port (Active Mode): Port 20 is employed by the FTP server as the data port in Active Mode FTP. In active mode, when a client requests a file transfer like the GET or PUT command through the control connection on Port 21, the server initiates a new connection from its Port 20. It aims at a dynamically chosen, high-numbered port on the client side. This is where the actual file data is transferred. This is the content of the uploaded or downloaded file. Active mode FTP may collide with firewalls and NAT on the client side. The reason would be the server attempting to create an incoming connection to the client. But this connection is frequently blocked for security reasons.
  3. Port 22 - SSH File Transfer Protocol(SFTP): SFTP is a completely different protocol from FTP. It serves the same purpose as file transfer with the SSH protocol for both control and data. All communication, including authentication and file data, is encrypted within the single SSH tunnel established over Port 22. This makes SFTP a highly secure choice and the preferred method for many modern applications.
  4. Port 990 - FTPS (Implicit Mode): FTPS adds SSL/TLS encryption to the FTP protocol. In implicit mode FTPS, the client connects directly to Port 990, and the SSL/TLS handshake begins immediately as soon as the connection is set. Both the control and data connections are encrypted from the start. Port 21 can also be used for explicit mode FTPS, where encryption is requested after the initial connection. Port 990 signifies a connection that is secure by default from the outset.

In Active Mode FTP, the client connects from a random high port to the server port 21. The server connects from server port 20 to a random high port on the client. This mode is problematic for clients behind firewalls, as the firewall might block the incoming connection from the server's Port 20.

In Passive Mode FTP, the client connects from a random high port to the server port 21 for control. For data, the client connects from a different random high port to a dynamically chosen high-numbered port on the server. This is typically above 1023 and often in the 49152-65535 range. Configurable by the server admin. This mode is generally preferred today because the client initiates both the control and data connections. It is easier to traverse client-side firewalls and NAT devices. The server informs the client which dynamic port to connect to for data transfer via the control connection.

Do Print Servers support FTP-based printing?

Yes, print servers support FTP-based printing. An FTP server is registered on the printer or print server for printing from the FTP location via the printer’s interface panel. FTP can be used to update print server firmware in integration with print server management. Meanwhile, it's not the most common method for general network printing due to security concerns. More modern printing protocols prevail today. Traditional print servers use protocols like LPR/LPD, IPP, and SMB/CIFS for managing printing. But some older or specialized print server configurations. Even modern multifunction printers sometimes have the capability to interact with FTP. Here's how FTP-based printing works in general:

  1. A user or an application uploads a print-ready file, like PDF or, PostScript to a specific directory on an FTP server.
  2. The print server monitors the FTP directory for new files. Automation scripts, or specialized software, are employed at this stage.
  3. Following the detection, the print server retrieves and processes it as a print job. It is then sent to the designated printer.
  4. Moving files from the FTP server to the print server's queue is mostly automated.

Is FTP-based printing common?

No, FTP-based printing is less common now due to the following reasons today:

  • Security: FTP itself is considered insecure, as data like credentials is transmitted in plain text. This makes Modern printing protocols like IPP offer better security, like encryption.
  • Dedicated Protocols: Protocols like IPP and LPR/LPD are specifically designed for printing. They bring features like job status monitoring, cancellation, and better error handling.
  • Direct-to-Printer Functionality: Many modern printers have built-in network interfaces and support protocols like IPP or Port 9100 (RAW) directly. This eliminates the need for a separate print server for basic functions most of the time. Direct printing from an FTP server configured on the printer itself is provided by some.

FTP can be integrated into a printing workflow; it's typically not the primary protocol used by a print server to communicate with printers or clients in most contemporary network environments.