首页 Windows FTP 正文

FTP主被动模式

xiaojia头像 xiaojia FTP 2021-12-11 08:12:00 0 3449
导读:【一】主被动模式原理PORT(主动模式)工作原理:FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,客户端随机开放一个端口(1...

【一】主被动模式原理

  1. PORT(主动模式)

    工作原理:

    FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,客户端随机开放一个端口(1024以上),发送 PORT命令到FTP服务器,告诉服务器客户端采用主动模式并开放端口;

    FTP服务器收到PORT主动模式命令和端口号后,通过服务器的20端口和客户端开放的端口连接,发送数据。

    原理如下图:

    主动模式.jpg

  2. PASV(被动模式)

    PASV是Passive的缩写,中文成为被动模式

    工作原理:

    FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,发送PASV命令到FTP服务器, 服务器在本地随机开放一个端口(1024以上),然后把开放的端口告诉客户端, 客户端再连接到服务器开放的端口进行数据传输。

    原理如下图:

    被动模式.jpg

【二】两种模式的区别

  1. 主动模式传送数据时是“服务器”连接到“客户端”的端口;

    被动模式传送数据是“客户端”连接到“服务器”的端口;

  2. 主动模式需要客户端必须开放端口给服务器,很多客户端都是在防火墙内,开放端口给FTP服务器访问比较困难;

    被动模式只需要服务器端开放端口给客户端连接即可。

【三】不同工作模式的网络设置

经常碰到的问题:

  1. FTP的客户端和服务器分别在不同网络,两个网络之间有至少4层的防火墙,服务器端只开放了21端口, 客户端机器没开放任何端口。

  2. FTP客户端连接采用的被动模式,结果客户端能登录成功,但是无法LIST列表和读取数据。很明显,是因为服务器端没开放被动模式下的随机端口导致。

    由于被动模式下,服务器端开放的端口随机,但是防火墙不能全部开放

    解决的方案:

    被动模式下:在FTP服务器配置下开放随机端口在 5000-6000之间(范围在ftp服务器软件设置,可以设置任意1024上的端口段),然后在防火墙设置规则,开放服务器端5000-6000之间的端口端。

    主动模式下,客户端的FTP软件设置主动模式开放的端口段,在客户端的防火墙开放对应的端口段。

【四】如何设置工作模式

       实际上FTP服务器一般都支持主动和被动模式,连接采用何种模式是有FTP客户端软件决定


本文地址:https://ayxjh.com/post/13.html
若非特殊说明,文章均属本站原创,转载请注明原链接。
广告3

欢迎 发表评论:

  • 请填写验证码
小珈博客 没有故事的相片屋

退出请按Esc键