FTP has two data connection modes, active mode and passive mode.
PORT (active) mode: client sends connection request to FTP port of server (default is 21), server accepts connection and establishes a command link. When data needs to be transmitted, the client tells the server on the command link with the PORT command: “I opened the XXXX port, you come to connect me”. So the server sends connection requests from port 20 to port XXXX of client, and establishes a data link to transmit data.
The connection process of PASV (passive) mode is as follows:
The client sends a connection request to the FTP port of the server (default is 21), the server accepts the connection and establishes a command link. When data needs to be transmitted, the server uses the PASV command on the command link to tell the client, “I opened the XXXX port, you come to connect me”. So the client sends a connection request to the XXXX port of the server and establishes a data link to transmit data.
FTP defaults to port active mode, if the client PC network has a firewall, then FTP server can not connect to client when data is transmitted.
Resolvent:
Modification mode
Windows Cmd defaults to active mode and changes Ftp to passive mode:
ftp> quote PASV
Under the Linux Ftp command, it defaults to passive mode and changes to active mode:
ftp> passive