FTP 主被动模式

     ftp分为主动(PORT)和被动(PASV)两种工作模式,工作方式如下:

  主动 FTP :
    命令连接:客户端 >1024 端口 >>>服务器 21 端口
    数据连接:客户端 >1024 端口 <<< 服务器 20 端口

  被动 FTP :
    命令连接:客户端 >1024 端口 >>> 服务器 21 端口
    数据连接:客户端 >1024 端口 <<< 服务器 >1024 端口

     数据建立过程通俗版:

  PORT(主动)方式的连接过程是:

客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。

当需要传送数据时, 客户端在命令链路上用PORT命令告诉服务器:“我打开了xxx端口,你过来连接我”。于是服务器从20端口向客户端的xxx端口发送连接请求,建立一条数据链路来传送数据。

  PASV(被动)方式的连接过程是:

客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。

当需要传送数据时, 服务器在命令链路上用PASV命令告诉客户端:“我打开了xxx端口,你过来连接我”。于是客户端向服务器的xxx端口发送连接请求,建立一条数据链 路来传送数据。

     主被动模式常见故障:

ftp> dir
227 Entering Passive Mode (10,110,97,66,13,162).
ftp: connect: Connection refused
ftp>

  由于本地FTP服务器只开启了两个端口(20,21),所以无法使用PASV方式,解决此问题的办法也很简单,关闭客户端的PASV方式,强制其用PORT方式访问服务器,登录FTP服务器后用passive命令关闭客户端的PASV方式,如下:

  ftp> passive
  Passive mode off.

  ftp> passive (再次运行命令可打开)

  Passive mode on.

原文地址:https://www.cnblogs.com/wudtime/p/8567378.html