


FTP active mode and passive mode - Why can't I connect to the FTP server?
FTP is different from general services. This service needs to open two ports at the same time. One port is the command channel and the other port is the data transmission channel. According to the different establishment of data transmission channels, it is divided into active mode and passive mode. Here, we describe in detail the workflow of active mode and how to solve problems when encountering them.
Active mode process
Establishment of command channel. The client will randomly select a port greater than 1024 to establish a connection with the server's port 21. Once the connection is established, the client can use the connection to execute commands on the ftp service, such as querying file names, uploading files, downloading files, etc. Commands are executed through this channel.
Notify the server to use active mode. Port 21 is only used for command execution. For files that really need to be transferred, a different port needs to be opened. The client will randomly open another port for file transfer, and then notify the ftp server of two pieces of information through port 21. The client user's file transfer port uses active mode for file transfer.
The ftp server actively establishes a connection to the client. When the ftp server knows the two pieces of information, it will actively establish a connection with the client through port 20. Once the connection is established, files can be transferred through the connection.
Problems you may encounter in active mode
If you cannot connect to the ftp server in active mode, there may be the following situations:
The server port is not started
Server firewall
-
The LAN where the client is located has NAT conversion
In active mode, the generally opened ports are 21 (command channel) and 20 (file transfer channel). Both ports are indispensable. In addition, the firewall also needs to allow these two ports. For the client host, you can use telnet to test whether these two ports are open.
Problems with ports and firewalls are relatively easy to solve, but NAT conversion problems are difficult to solve. Let's look at how NAT conversion causes problems. Because the establishment of the command channel is initiated by the client, the channel can be successfully established. However, when the server actively establishes a data channel to the client, the server knows the NAT IP, not the client's IP. Therefore, the server will send an active connection request to one of the NAT ports (for example, port 1042) using port 20. However, NAT did not open that port, so the active connection establishment failed. So, how to solve this problem? Just use passive mode.
Passive mode process
Establishment of command channel. This stage is the same as active mode.
The client issues a PASV link request. The client sends a PASV passive mode request to the server through the command channel and waits for the server's response.
The server starts the data port and informs the client. When the server receives the client's PASV request, it will start a port for data transmission. This port can be random (1024~65535) or specified. Then, tell the client through the command channel.
The client starts the data port and establishes a connection with the server. The client receives the information from the server and knows the port used by the server for data transmission. At this time, the client will randomly open a port greater than 1024, and then establish a connection with the server through this port.
For more related technical articles, please visit the linux system tutorial column!
The above is the detailed content of FTP active mode and passive mode - Why can't I connect to the FTP server?. For more information, please follow other related articles on the PHP Chinese website!

Shell scripts are powerful tools for automated execution of commands in Linux systems. 1) The shell script executes commands line by line through the interpreter to process variable substitution and conditional judgment. 2) The basic usage includes backup operations, such as using the tar command to back up the directory. 3) Advanced usage involves the use of functions and case statements to manage services. 4) Debugging skills include using set-x to enable debugging mode and set-e to exit when the command fails. 5) Performance optimization is recommended to avoid subshells, use arrays and optimization loops.

Linux is a Unix-based multi-user, multi-tasking operating system that emphasizes simplicity, modularity and openness. Its core functions include: file system: organized in a tree structure, supports multiple file systems such as ext4, XFS, Btrfs, and use df-T to view file system types. Process management: View the process through the ps command, manage the process using PID, involving priority settings and signal processing. Network configuration: Flexible setting of IP addresses and managing network services, and use sudoipaddradd to configure IP. These features are applied in real-life operations through basic commands and advanced script automation, improving efficiency and reducing errors.

The methods to enter Linux maintenance mode include: 1. Edit the GRUB configuration file, add "single" or "1" parameters and update the GRUB configuration; 2. Edit the startup parameters in the GRUB menu, add "single" or "1". Exit maintenance mode only requires restarting the system. With these steps, you can quickly enter maintenance mode when needed and exit safely, ensuring system stability and security.

The core components of Linux include kernel, shell, file system, process management and memory management. 1) Kernel management system resources, 2) shell provides user interaction interface, 3) file system supports multiple formats, 4) Process management is implemented through system calls such as fork, and 5) memory management uses virtual memory technology.

The core components of the Linux system include the kernel, file system, and user space. 1. The kernel manages hardware resources and provides basic services. 2. The file system is responsible for data storage and organization. 3. Run user programs and services in the user space.

Maintenance mode is a special operating level entered in Linux systems through single-user mode or rescue mode, and is used for system maintenance and repair. 1. Enter maintenance mode and use the command "sudosystemctlisolaterscue.target". 2. In maintenance mode, you can check and repair the file system and use the command "fsck/dev/sda1". 3. Advanced usage includes resetting the root user password, mounting the file system in read and write mode and editing the password file.

Maintenance mode is used for system maintenance and repair, allowing administrators to work in a simplified environment. 1. System Repair: Repair corrupt file system and boot loader. 2. Password reset: reset the root user password. 3. Package management: Install, update or delete software packages. By modifying the GRUB configuration or entering maintenance mode with specific keys, you can safely exit after performing maintenance tasks.

Linux network configuration can be completed through the following steps: 1. Configure the network interface, use the ip command to temporarily set or edit the configuration file persistence settings. 2. Set up a static IP, suitable for devices that require a fixed IP. 3. Manage the firewall and use the iptables or firewalld tools to control network traffic.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Linux new version
SublimeText3 Linux latest version

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 English version
Recommended: Win version, supports code prompts!

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft
