FTP主动模式(port)和被动模式(PASV)有什么区别

FTP的SocketERROR通常与模式选择和端口设置有关。主动模式下,服务器使用20端口连接客户端的指定端口,而被动模式则是客户端连接服务器的随机高位端口。当服务器未开放被动模式所需端口时,会导致无法列表或读取数据。解决方法包括在FTP服务器上配置被动模式的端口范围,并在防火墙中开放相应端口。
摘要由CSDN通过智能技术生成

FTP是我们日常建站中使用频率很高的一款软件了,我们在使用FTP的时候经常会遇到Socket ERROR,那么这种错误我们应该如何解决?

首先我们来了解一下FTP的两种模式(主动模式和被动模式):
在这里插入图片描述

主动模式:

FTP客户端使用N(N>1023)端口连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,客户端开放N+1端口,发送 PORT命令到FTP服务器,告诉服务器客户端采用主动模式并开放端口;FTP服务器收到PORT主动模式命令和端口号后,通过服务器的20端口和客户端开放的端口连接,发送数据.

被动模式:

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

当我们连接FTP时,无法显示目录列表,这个时候又可能就是模式选择的问题,相同的软件,版本不同,设置方法也略有不同,因此需要根据实际情况进行设置。

区别对比

二者的区别主要在于建立数据传输连接的时候,主模式的连接发起方为服务器端,使用20号端口连接客户端的N+1端口建立数据连接;被动模式连接发起方为客户端,客户端使用端口号+1去连接服务器的某一高位端口;

网络设置区别

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

有一种常见问题是:服务器端只开放了21端口, 客户端机器没开放任何端口。FTP客户端连接采用的被动模式,结果客户端能登录成功,但是无法LIST列表和读取数据。很明显,是因为服务器端没开放被动模式下的随机端口导致。

由于被动模式下,服务器端开放的端口随机,但是防火墙要不能全部开放,解决的方案是,在ftp服务器配置被动模式下开放部分随机高位端口(范围在ftp服务器软件设置,可以设置任意1024上的端口段),然后在防火墙设置规则,开放服务器端相应的端口号即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

优质网络系统领域创作者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值