ftp传输中的主动模式和被动模式

leayrainy leayrainy     2022-08-12     590

关键词:

  最近做一个项目用到FTP和其它系统进行文件传输,结果在FTP网络连接的问题上花了很多时间,由于太久没搞多FTP,忘记了FTP不单单开放21端口,客户端采用不同连接模式对网络有不同。在此重温一下FTP的主动模式和被动模式的相关知识。

    在使用FTP时,如果客户端机器和FTP服务器双方之间的所有端口都是开放的,那连接不存在问题。如果客户端与服务器之间有防火墙,如果没配置好防火策略和采用合适的连接模式,会导致登录成功,但无法List列表的问题。要避免出现这样的问题,首先要了解FTP的工作模式。

    1.FTP的PORT(主动模式)和PASV(被动模式)

    (1) PORT(主动模式)

    PORT中文称为主动模式,工作的原理: FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,客户端随机开放一个端口(1024以上),发送 PORT命令到FTP服务器,告诉服务器客户端采用主动模式并开放端口;FTP服务器收到PORT主动模式命令和端口号后,通过服务器的20端口和客户端开放的端口连接,发送数据,原理如下图:

    (2) PASV(被动模式)

    PASV是Passive的缩写,中文成为被动模式,工作原理:FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,发送PASV命令到FTP服务器, 服务器在本地随机开放一个端口(1024以上),然后把开放的端口告诉客户端, 客户端再连接到服务器开放的端口进行数据传输,原理如下图:

 

    2.两种模式的比较

     从上面的运行原来看到,主动模式和被动模式的不同简单概述为: 主动模式传送数据时是“服务器”连接到“客户端”的端口;被动模式传送数据是“客户端”连接到“服务器”的端口。

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

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

    3.不同工作模式的网络设置

    我在实际项目中碰到的问题是,FTP的客户端和服务器分别在不同网络,两个网络之间有至少4层的防火墙,服务器端只开放了21端口, 客户端机器没开放任何端口。FTP客户端连接采用的被动模式,结果客户端能登录成功,但是无法LIST列表和读取数据。很明显,是因为服务器端没开放被动模式下的随机端口导致。

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

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

 

    4.如何设置 工作模式?

    哈哈,有人可能会问FTP服务器如何设置工作模式?实时上FTP服务器一般都支持主动和被动模式,连接采用何种模式是有FTP客户端软件决定。

ftp服务的主动模式和被动模式

FTP在传输文件时有两种传输模式:被动模式和主动模式。1.主动模式FTP控制指令通过21/TCP端口传向服务器,文件下载通过大于1024/TCP的随机端口进行传输。下载文件时,FTP服务器(源端口为20/TCP)主动连接FTP客户端的随机端口进... 查看详情

ftp的主动模式和被动模式,你应该用那种?

FTP文件传输分为两种模式,主动(PORT)模式和被动(Passive)模式,用户应该用哪种?-简单粗暴,直接上答案1)如果不是必须需要,不要使用FTP服务,主动/被动模式,命令/数据端口,初学者很容易一下子就被搞蒙。2)如果一定要使... 查看详情

ftp主动模式和被动模式!(代码片段)

FTP简介FTP(FileTransferProtocol,文件传输协议) 是TCP/IP协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议... 查看详情

ftp的主动模式与被动模式

...个网络端口与FTP客户端进行通信。FTP服务器的21端口用于传输FTP的控制命令,20端口用于传输文件数据。1.1FTP主动模式:FTP客户端向服务器的FTP控制端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路;当需要传送数据时... 查看详情

什么是ftp主动模式和被动模式

参考技术AFTP是文件传输协议的简称,ftp传输协议有着众多的优点所以传输文件时使用ftp协议的软件很多,ftp协议使用的端口是21(也称为控制端口),其实还有一个数据端口20,根据FTP工作方式的不同,数据端口也不都是20,主... 查看详情

ftp两种工作模式:主动模式(activeftp)和被动模式

...端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。    在被动模式下,FTP库户端随机开启一个大于102 查看详情

ftp两种工作模式:主动模式(activeftp)和被动模式

...端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。650)this.width=650;"src="https://s3.51cto.com/oss/201711/22/1fee26268c59 查看详情

ftp主动模式和被动模式的比较

总是记不住FTP主动和被动模式的区别。放在这里,以备日后查阅。 FTP是仅基于TCP的服务,不支持UDP。与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口)。通常来说这两个端口是21(命令端口)... 查看详情

ftp的主动模式和被动模式的相关知识(代码片段)

FTP的主动模式和被动模式的相关知识。在使用FTP时,如果客户端机器和FTP服务器双方之间的所有端口都是开放的,那连接不存在问题。如果客户端与服务器之间有防火墙,如果没配置好防火策略和采用合适的连接模式,会导致登... 查看详情

请问用iis搭建ftp服务器,在哪里设置"主动模式"和"被动模式"?

...端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。在被动模式下,FTP库户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后向服务器发送PASV命令,通知服务器自己处于被动模... 查看详情

主动模式ftp与被动模式ftp该如何选择

...   无论是主动模式还是被动模式,其要进行文件传输都必须依次建立两个连接,分别为命令连接与数据连结。而主动模式与被动模式的差异主要体现在数据连结通道上。为了说明两者的差异,我将主要对这个数据连结进... 查看详情

ftp协议与nfs协议

...与HTTPS协议的区别FTP简介FTP(FileTransportprotocol),即文件传输协议,可有效地提高文件的共享和数据可靠高效地传输。FTP协议与前面几节介绍的Http协议更复杂,建立FTP连接时,需要同时开启两个端口,一个用于命令控制,另一个... 查看详情

ftp主动模式和被动模式的区别(转)

...行连接一个ftp服务器时,没有指定模式,它默认使用的是主动模式(默认模式是哪种根据操作系统的不同而不同),导致登录时出错“ftp:bind:Addressalreadyinuse”,显 查看详情

ftpport主动模式passive被动模式区别-filezillaserver设置passive被动模式

...FTP服务器端的数据端口会连接FTP客户端的端口并进行数据传输。被动模式:FTP客户端向FTP服务器端的命令端口请求,告知自己是被动模式,FTP服务 查看详情

ftp协议主动和被动两种模式模式

   查看详情

ftp主动模式和被动模式在vrp上实现(实验报文和理论解析)(代码片段)

...连接的主要步骤图1-19FTP主动模式示意图基本原理FTP(文件传输协议)的特殊性:大多数的TCP服务是使用单个的连接,一般是客户向服务器的一个周知端口发起连接,然后使用这个连接进行通讯。但是,FTP协议却有所不同,它使用双... 查看详情

网络操作系统第十十三章习题

...被动模式,则由服务器端和客户端协商而定。2.简述FTP的传输模式。  答:FTP的传输模式包括ASCII传输模式和二进制模式。ASCII传输模式适合用于文本传输,二进制传输模式适合用于 查看详情

ftp主动模式和被动模式的区别

...口)。通常21端口是命令端口,20端口是数据端口。当混入主动/被动模式的概念时,数据端口就有可能不是20了。 主动模式FTP 查看详情