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

如题所述

FTP是仅基于TCP的服务,不支持UDP。与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口)。通常来说这两个端口是21(命令端口)和20(数据端口)。但FTP工作方式的不同,数据端口并不总是20。这就是主动与被动FTP的最大不同之处。

(一)主动FTP
主动方式的FTP是这样的:客户端从一个任意的非特权端口N(N>1024)连接到FTP服务器的命令端口,也就是21端口。然后客户端开始监听端口N+1,并发送FTP命令“port
N+1”到FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。

针对FTP服务器前面的防火墙来说,必须允许以下通讯才能支持主动方式FTP:  

    任何大于1024的端口到FTP服务器的21端口。(客户端初始化的连接)  

    FTP服务器的21端口到大于1024的端口。 (服务器响应客户端的控制端口)   

    FTP服务器的20端口到大于1024的端口。(服务器端初始化数据连接到客户端的数据端口)

    大于1024端口到FTP服务器的20端口(客户端发送ACK响应到服务器的数据端口)

(二)被动FTP
为了解决服务器发起到客户的连接的问题,人们开发了一种不同的FTP连接方式。这就是所谓的被动方式,或者叫做PASV,当客户端通知服务器它处于被动模式时才启用。在被动方式FTP中,命令连接和数据连接都由客户端发起,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题。

当开启一个 FTP连接时,客户端打开两个任意的非特权本地端口(N >
1024和N+1)。第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交PASV命令。这样做的结果是服务器会开启一个任意的非特权端口(P > 1024),并发送PORT

P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。 
对于服务器端的防火墙来说,必须允许下面的通讯才能支持被动方式的FTP:     

    从任何大于1024的端口到服务器的21端口(客户端初始化的连接)  

    服务器的21端口到任何大于1024的端口(服务器响应到客户端的控制端口的连接)  

    从任何大于1024端口到服务器的大于1024端口(客户端初始化数据连接到服务器指定的任意端口)

    服务器的大于1024端口到远程的大于1024的端口(服务器发送ACK响应和数据到客户端的数据端口)


以上关于主动和被动FTP的解释,可以简单概括为以下两点:

1、主动FTP:

命令连接:客户端 >1024端口 -> 服务器 21端口

数据连接:客户端 &gt;1024端口 <- 服务器 20端口

2、被动FTP:

命令连接:客户端 >1024端口 -&gt; 服务器 21端口

数据连接:客户端 &gt;1024端口 -&gt; 服务器 &gt;1024端口

(三)主动与被动FTP优缺点:      

主动FTP对FTP服务器的管理有利,但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉。被动FTP对FTP客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-09-29
FTP主动模式就是FTP会用自己的20端口去主动得跟客户端建立连接,当客户端网络做NAT的时候会发生错误。把NAT的端口认为是客户端与FTP 20端口建立连接的

被动模式就是当建立ftp连接后,客户端发送一个被动模式请求给服务器,服务器选择一个数据端口监听,并把端口告诉客户端,客户端直接向数据端口发起连接,这样,即使中间有做NAT也不影响FTP数据传输通道建立
第2个回答  2019-07-01
  如何设置FTP的主动模式和被动模式?下面我们以FileZilla工具为例讲解。  在FileZilla工具的站点管理中,我们选中要修改的站点,然后点击传输设置,就可以看到传输模式的设置选项了。如下图所示:

什么是ftp主动模式和被动模式
三、主动模式ftp与被动模式FTP优点和缺点:主动FTP对FTP服务器的管理和安全很有利,但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉。被动FTP对FTP客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,...

FTP主动模式和被动模式的区别
FTP是仅基于TCP的服务,不支持UDP。与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口)。通常来说这两个端口是21(命令端口)和20(数据端口)。但FTP工作方式的不同,数据端口并不总是20。这就是主动与被动FTP的最大不同之处。(一)主动FTP 主动方式的FTP是这样的:...

ftp采用什么服务模式
在实际应用中,FTP通常采用主动模式进行文件上传和下载操作,被动模式则更多地用于网络监视和安全审计。但请注意,不同FTP客户端或服务器可能会采用不同的工作模式,因此具体操作方式可能因软件而异。

ftp使用模式
FTP有两种使用模式:主动模式和被动模式。主动模式要求客户端和服务器端同时打开并且监听一个端口以建立连接。被动模式只要求服务器端产生一个监听相应端口的进程。主动模式下,客户端打开一个随机端口并连接至服务器的21号命令端口。随后,客户端监听端口(x+1)并向服务器发送端口命令以告知其正在监听的端...

什么是ftp主动模式和被动模式
FTP主动模式就是FTP会用自己的20端口去主动得跟客户端建立连接,当客户端网络做NAT的时候会发生错误。把NAT的端口认为是客户端与FTP 20端口建立连接的 被动模式就是当建立ftp连接后,客户端发送一个被动模式请求给服务器,服务器选择一个数据端口监听,并把端口告诉客户端,客户端直接向数据端口发起连接,...

什么是ftp主动模式和被动模式
从上面的运行原来看到,主动模式和被动模式的不同简单概述为: 主动模式传送数据时是“服务器”连接到“客户端”的端口;被动模式传送数据是“客户端”连接到“服务器”的端口。主动模式需要客户端必须开放端口给服务器,很多客户端都是在防火墙内,开放端口给FTP服务器访问比较困难。被动模式只需要服务器端...

在Linux中FTP的主动模式和被动模式是什么?有何区别?
Linux中的FTP传输模式分为两种主要类型:主动模式(PORT模式)和被动模式(PASV模式)。它们的核心区别在于数据连接的建立方式。在主动模式下,FTP客户端首先向服务器发起一个数据连接请求,服务器作为数据连接的接收端。这种方式对于客户端的网络环境要求较高,因为客户端需要穿透防火墙,可能遇到访问限制。相比...

主动FTP和被动FTP
FTP协议在实际应用中分为两种模式:主动模式和被动模式。这两种模式的关键区别在于数据连接的发起方和端口号。在主动模式中,数据连接由服务器发起。在这个模式中,服务器端使用的端口号是20,而客户端端口号随机。因此,为了使主动模式正常工作,需要开放20端口以及客户端的随机端口。主动模式的控制连接端口...

独家:主动模式FTP与被动模式FTP该如何选择
被动操作模式在建立命令连接通道的时候,跟主动操作模式是相同的。两者主要的差异就在于数据传输通道的建立上面。但是如果用户需要进行数据传输的时候,则FTP客户端会通过命令通道告诉FTP服务器,如会向服务器发出一个PASV指令。这个指令就是告诉服务期,要采用被动模式建立连接。如果采用被动操作模式,服务期会...

FTP主动模式和被动模式的区别
主动FTP对FTP服务器的管理有利,但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉。被动FTP对FTP客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能...

相似回答