FTP Basics

Learn to run a local FTP server and perform basic GET, PUT, LS operation to upload/download files with FTP CLI command

227 Participants 30 Minutes Beginner

The File Transfer Protocol (FTP) is a widely used protocol for transferring files between a client and a server over a network. It provides a simple and standard way to upload and download files, making it an essential tool for file sharing and management in computer networks. In this exercise, we will explore FTP by setting up an FTP server and client using Docker images and using the FTP Command Line Interface (CLI) for file transfer.



There are no prerequisites for this lab, but if you want to learn more about docker you can refer to this lab on “Docker Basics”.



Key Concepts Related to FTP:

1. FTP Server: An FTP server is a computer or software application that stores files and allows authorized clients to access and download them. It listens on specific ports (usually 21 for control and 20 for data).

2. FTP Client: An FTP client is a software application that connects to an FTP server to upload, download, and manage files on the server.

3. Passive and Active Mode: FTP supports both passive and active modes for data transfer. In passive mode, the client initiates the data connection, while in active mode, the server initiates the connection.

4. Authentication: FTP servers typically require authentication, often using a username and password, to ensure only authorized users can access files.

5. Commands: FTP operates with a set of commands such as ls, get, put, and cd to navigate directories and transfer files.


Advantages of FTP:

1. Widely Supported: FTP is supported by various operating systems and is available on almost all platforms.

2. Simple and Standard: It offers a straightforward way to transfer files, making it easy to use and understand.

3. Authentication: FTP provides user authentication, ensuring secure access to files.

4. Binary and ASCII Modes: It supports both binary and ASCII file transfer modes, suitable for various file types.


Disadvantages of FTP:

1. Lack of Encryption: Traditional FTP transmits data in plain text, which can be a security concern. Consider using FTPS or SFTP for secure transfers.

2. Port Configuration: FTP may require port forwarding and firewall configurations to work correctly, which can be complex.

3. No Resume: FTP does not support resuming interrupted transfers by default.


Refer to these links for more info:

1. File Transfer Protocol - Wikipedia

2. File Transfer Protocol (FTP) - GeeksforGeeks



FTP is a fundamental protocol for file transfer in computer networks. By setting up an FTP server and client using Docker images and using the FTP CLI, we can explore its functionality and understand its importance in data sharing and management. Let’s get started with the lab to dive into FTP in more detail.


Have a doubt? Got stuck somewhere?



Related Labs


Bus vs Hybrid Topology

Computer Networking

  • 30 m
  • Beginner
  • 132
Learn and compare Bus and Hybrid networking topology.

ARP Basics

Computer Networking

  • 30 m
  • Beginner
  • 116
Learn what is ARP and how it works in Packet Tracer exercise

DNS Basics with nslookup

Computer Networking

  • 30 m
  • Beginner
  • 31
Learn DNS basics by exploring different types of records (i.e. A, AAAA, CNAME, TXT)

DNS Basics (Packet Tracer)

Computer Networking

  • 30 m
  • Beginner
  • 297
Learn how DNS queries work when a new website is opened on pre-built Packet Tracer setup