FTP主动模式及被动模式

合集下载

FTP协议中的主动模式与被动模式详解

FTP协议中的主动模式与被动模式详解

FTP协议中的主动模式与被动模式详解FTP(File Transfer Protocol,文件传输协议)是一种用于在网络上进行文件传输的标准协议。

在FTP协议中,主动模式(Active Mode)和被动模式(Passive Mode)是两种常见的连接方式。

本文将详细解释FTP协议中的主动模式与被动模式的原理、特点和使用场景。

一、主动模式(Active Mode)主动模式是FTP协议中最早的一种连接方式。

在主动模式下,客户端主动发起控制连接,并通过数据连接与服务端进行数据传输。

在主动模式中,客户端首先与FTP服务器的默认端口(端口号为21)建立控制连接。

控制连接的建立过程涉及到三次握手,以确保双方正常通信。

建立成功后,客户端发送PORT命令,通知服务器客户端的数据传输端口。

服务器接收到PORT命令后,通过控制连接向客户端发起数据连接。

客户端接收到服务器的连接请求后,通过数据连接进行文件的传输。

主动模式的优点是连接的主动性强,适用于FTP客户端位于防火墙后的情况。

然而,主动模式也存在一些缺点。

首先,由于服务器需要主动向客户端发起连接请求,因此必须允许服务器主动连接客户端的数据端口,这在某些情况下可能会被防火墙拦截。

其次,在主动模式下,FTP服务器必须确定客户端的IP地址和端口,这对服务器的资源消耗较大。

因此,在现代网络环境下,被动模式逐渐成为了主流。

二、被动模式(Passive Mode)被动模式是FTP协议中现代化的一种连接方式。

在被动模式下,客户端与服务器之间的控制连接和数据连接都是由客户端发起。

在被动模式中,客户端首先与FTP服务器的默认端口(端口号为21)建立控制连接,控制连接的建立过程同样包括三次握手。

建立成功后,客户端发送PASV命令,通知服务器切换至被动模式。

服务器接收到PASV命令后,随机选择一个端口,将该端口号返回给客户端。

客户端通过控制连接接收到服务器返回的端口号后,便通过该端口与服务器建立数据连接。

FTP主动模式(Port)和被动模式(Passive)的区别

FTP主动模式(Port)和被动模式(Passive)的区别

FTP主动模式(Port)和被动模式(Passive)的区别
1、FTP的PORT(主动模式):
PORT中⽂称为主动模式,⼯作的原理: FTP客户端(1024以上端⼝)连接到FTP服务器的21端⼝,发送⽤户名和密码登录,
登录成功后要list列表或者读取数据时,客户端随机开放⼀个端⼝(1024以上),发送 PORT命令到FTP服务器,告诉服务器客户端采⽤主动模式并开放端⼝;
FTP服务器收到PORT主动模式命令和端⼝号后,通过服务器的20端⼝和客户端开放的端⼝连接,发送数据,原理如下图:
2、PASV(被动模式):
PASV是Passive的缩写,中⽂成为被动模式,⼯作原理:FTP客户端(1024以上端⼝)连接到FTP服务器的21端⼝,发送⽤户名和密码登录,登录成功后要list列表或者读取数据时,
发送PASV命令到FTP服务器,服务器在本地随机开放⼀个端⼝(1024以上),然后把开放的端⼝告诉客户端,客户端再连接到服务器开放的端⼝进⾏数据传输,原理如下图:
两种模式的⽐较:
从上⾯的运⾏原来看到,主动模式与被动模式,建⽴连接的过程是⼀样的,差别在于数据传输。

主动模式传送数据时是“服务器(20端⼝)连接到客户端的端⼝,进⾏数据传输;
 被动模式传送数据是客户端连接到服务器的端⼝(1024以上端⼝),然后再进⾏数据传输。

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

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

FTP主动模式和被动模式

FTP主动模式和被动模式

FTP主动模式和被动模式基于Centos7、vsftpd3.0.20、前导:ftp通信中存在两种连接:控制连接:⽤于传递控制命令及其他⼩数据量通信。

数据连接:⽤于传输⽂件数据流。

根据数据连接的建⽴⽅式分为主动模式(active mode)和被动模式(passive mode),主动和被动都是以ftp服务端为中⼼来说的。

主动模式:顾名思义,主动模式就是ftp-erver主动发起通向ftp-client的数据连接。

被动模式:同理,被动模式就是ftp-erver不发起连接,⽽是被动接受ftp-client发起的数据连接。

ftp仍然属于tcp连接,故需三次握⼿。

⼀、主动模式:vim /etc/vsftpd/vsftpd.confpasv_enable=NO #1.关闭passive模式port_enable=YES #2.启⽤active模式connect_from_port_20=YES #3.允许从20端⼝连接,主动模式使⽤20端⼝进⾏数据传输pasv_min_port=3000 #active模式下属⽆效配置pasv_max_port=4000 #active模式下属⽆效配置systemctl restart vsftpd #重启ftp服务ftp -A 192.168.50.87 #以active模式连接ftp-server,⼀定要加参数【-A】连接过程:1. client⽤⼤于1024的任意端⼝(如1025)连接server的21端⼝,建⽴控制连接(controll-connection),⽤于控制通信。

2. client另起⼀个⼤于1024的端⼝(如1026),并通过控制连接将此端⼝告诉server,server使⽤其20端⼝主动与此端⼝建⽴数据连接(data-connection)。

⼆、被动模式:vim /etc/vsftpd/vsftpd.confpasv_enable=YES #1.开启被动模式,如果不配置pasv_enable=NO,默认是passive模式#默认值为0,表⽰取任意(1024 – 65535端⼝),把端⼝范围设在⽐较⾼的⼀段范围内,⽐如3000-4000pasv_min_port=3000 #2.指定数据连接端⼝下界pasv_max_port=4000 #3.指定数据连接端⼝上界systemctl restart vsftpd #重启ftp服务ftp -p 192.168.50.87 #以passive模式连接ftp-server,【-p】为可选参数连接过程:1. client⽤⼤于1024的任意端⼝(如1025)连接server的21端⼝,建⽴控制连接(controll-connection),⽤于控制通信。

FTP主动模式与被动模式

FTP主动模式与被动模式

FTP主动模式与被动模式FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。

相比于HTTP,FTP协议要复杂得多。

复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。

FTP 有两种工作模式:PORT方式和Passive方式中文意思为主动模式和被动模式。

这两种模式的主要区别在于数据连接的发起方和数据连接的端口号。

在主动模式(Port)下,数据连接由服务器发起,也就是三次握手的第一次是服务器先来的,端口号服务器端20,客户端随机。

这时只要放行20 和21 就可以。

在被动模式(Passive)下,数据连接由客户端发起,也就是三次握手的第一次是客户端先来的,端口号服务器端和客户端都是随机。

被动模式解决了防火墙阻止从服务器到客户端的传入数据端口连接的问题。

主动模式的FTP服务器数据端口固定在20,而被动模式(Passive)则在1025-65535之间随机主动模式原理在主动模式下,FTP 客户端首先从一个随机的非特殊端口(N > 1024)连接到FTP 服务器的命令端口(21 端口)。

然后客户端在N+1 端口监听,并通过N+1 端口发送命令给FTP 服务器。

服务器接收到客户端的命令后,会从20 端口连接到客户端指定的数据端口(N+1 端口),然后开始传输数据。

这意味着,在主动模式下,数据连接是由服务器发起的。

被动模式原理在被动模式下,FTP 客户端首先从一个随机的非特殊端口(N > 1024)连接到FTP 服务器的命令端口(21 端口)。

然后客户端发送PASV 命令,告诉服务器它希望使用被动模式。

服务器接收到PASV 命令后,会打开一个随机的非特殊端口(P > 1024),并将P 端口号发送给客户端。

客户端接收到P 端口号后,会从N+1 端口连接到服务器的P 端口,然后开始传输数据。

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

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

FTP的主动模式和被动模式的区别(在使用网站搬家功能的时候也会提到选择模式是主动还是自动,这个最好联系主机提供商,问清楚了再操作。

下面我们了解一下FTP 主动模式和被动模式的区别)FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。

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

当需要传送数据时,客户端在命令链路上用PORT 命令告诉服务器:“我打开了XXXX端口,你过来连接我”。

于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。

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

当需要传送数据时,服务器在命令链路上用PASV 命令告诉客户端:“我打开了XXXX端口,你过来连接我”。

于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。

从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同。

而FTP的复杂性就在于此。

在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令。

服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。

在被动模式下,FTP库户端随机开启一个大于1024的端口N 向服务器的21号端口发起连接,同时会开启N+1号端口。

然后向服务器发送PASV命令,通知服务器自己处于被动模式。

服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。

客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。

总的来说,主动模式的FTP是指服务器主动连接客户端的数据端口,被动模式的FTP是指服务器被动地等待客户端连接自己的数据端口。

FTP服务2种工作方式详解,PORT方式和PASV方式,(即主动模式和被动模式)

FTP服务2种工作方式详解,PORT方式和PASV方式,(即主动模式和被动模式)

2种模式都是从服务器角度出发的,主动就是服务器主动连接客户机,被动就是服务器做监听,等客户机来连接PORT主动模式:命令发送后是由client建立N+1端口监听,然后让Server的N-1端口(默认为20)来连接这个端口,所以client需要开放1024以上端口。

Flashfxp可以指定port端口范围,方便设置防火墙PASV被动模式:命令发送后是由server建立1024以上端口监听(serv-u可以指定PASV监听端口范围),client用1024以上端口来连接。

整个过程server没有用到20(N-1)端口一、ftp的port和pasv模式的工作方式FTP使用2个TCP端口,首先是建立一个命令端口(控制端口),然后再产生一个数据端口。

国内很多教科书都讲ftp 使用21命令端口和20数据端口,这个应该是教书更新太慢的原因吧。

实际上FTP分为主动模式和被动模式两种,ftp工作在主动模式使用tcp 21和20两个端口,而工作在被动模式会工作在大于1024随机端口。

FTP最权威的参考见RFC 959,有兴趣的朋友可以仔细阅读ftp:///documents/rfc/rfc0959.txt的文档了解FTP详细工作模式和命令。

目前主流的FTP Server服务器模式都是同时支持port和pasv两种方式,但是为了方便管理安全管理防火墙和设置ACL了解FTP Server的port和pasv模式是很有必要的。

1.1 ftp port模式(主动模式)主动方式的FTP是这样的:客户端从一个任意的非特权端口N(N>1024)连接到FTP服务器的命令端口(即tcp 21端口)。

紧接着客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。

最后服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1),这样客户端就可以和ftp服务器建立数据传输通道了。

ftp port模式工作流程如下图所示:针对FTP服务器前面的防火墙来说,必须允许以下通讯才能支持主动方式FTP:1、客户端口>1024端口到FTP服务器的21端口(入:客户端初始化的连接S<-C)2、FTP服务器的21端口到客户端>1024的端口(出:服务器响应客户端的控制端口S->C)3、FTP服务器的20端口到客户端>1024的端口(出:服务器端初始化数据连接到客户端的数据端口S->C)4、客户端>1024端口到FTP服务器的20端口(入:客户端发送ACK响应到服务器的数据端口S<-C)如果服务器的ip为192.168.10.1在H3C 8500的GigabitEthernet 2/1/10 上创建in acl策略允许ftp 主动模式其他禁止:rule permit tcp source 192.168.10.1 0 source-port eq 21 destination-port gt 1024rule permit tcp source 192.168.10.1 0 source-port eq 20 destination-port gt 1024rele deny ip1.2 ftp pasv模式(被动模式)在被动方式FTP中,命令连接和数据连接都由客户端。

FTP的两种链接工作模式—主动模式和被动模式

FTP的两种链接工作模式—主动模式和被动模式

文汇建站: FTP的两种链接工作模式—主动模式和被动模式写这篇文章主要是因为在使用ftp的时候有时候上传文件会失败,然后就卡住很久,原因就是默认主动模式受限于客户端防火墙的限制,有时候会导致上传文件失败所以整理了区别了一下两种。

一、FTP的两种工作模式FTP两种链接模式:主动模式(Active FTP)和被动模式(Passive FTP)在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令。

服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。

在被动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。

然后向服务器发送PASV命令,通知服务器自己处于被动模式。

服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。

客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。

总的来说,主动模式的FTP是指服务器主动连接客户端的数据端口,被动模式的FTP 是指服务器被动地等待客户端连接自己的数据端口。

被动模式的FTP通常用在处于防火墙之后的FTP客户访问外界FTP服务器的情况,因为在这种情况下,防火墙通常配置为不允许外界访问防火墙之后的主机,而只允许由防火墙之后的主机发起的连接请求通过。

因此,在这种情况下不能使用主动模式的FTP传输,而被动模式的FTP可以良好的工作。

文汇建站: 一般连接FTP客户端软件的连接模式默认为Passive(被动连接)。

即FTP客户端向服务端口(默认是21)发出连接请求,服务端接到请求后建立命令链路。

然后服务端通过命令链路发消息告诉客户端,服务端某个端口位于(1025—65535)之间开放,与客户端建立起数据链路,从而客户端可以进行数据上传与下载。

ftp的主动模式activemode和被动模式passivemode的配置和区别

ftp的主动模式activemode和被动模式passivemode的配置和区别

ftp的主动模式activemode和被动模式passivemode的配置和区别共同点: 客户端先发起命令连接。

不同点: 主动模式:服务端发起数据连接。

客户端⽣成随机数据端⼝ 被动模式:客户端发起数据连接。

客户端和服务端都是随机数据端⼝。

客户端与服务器的命令连接 服务器返回命令"PORT 2024",告诉客户端(服务器)⽤哪个端⼝侦听数据连接 客户端初始化⼀个从⾃⼰的数据端⼝到服务器端指定的数据端⼝的数据连接。

最后服务器在第4 步中给客户端的数据端⼝返回⼀个"ACK"响应。

1.ftp连接服务度ftp> ls500 Illegal PORT command.ftp: bind: Address already in use然后解决如下ftp> quote pasv227 Entering Passive Mode (192,168,0,112,164,248).ftp> passivePassive mode on.ftp> ls227 Entering Passive Mode (192,168,0,112,169,241).425 Security: Bad IP connecting.这个原因是因为服务器本⾝设置了两个ip地址解决办法是vim /etc/vsftpd/vsftpd.conf添加:pasv_promiscuous=YESftp> quote pasv227 Entering Passive Mode (192,168,0,112,143,83).ftp> passivePassive mode on.ftp> ls227 Entering Passive Mode (192,168,0,112,85,218).150 Here comes the directory listing.drwx------ 2 1001 1001 4096 Mar 06 01:46 test######################################什么叫做PASV mode(被动模式传送)?他是如何⼯作的?FTP的连接⼀般是有两个连接的,⼀个是客户程和服务器传输命令的,另⼀个是数据传送的连接。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

FTP主动模式及被动模式
FTP(文件传输协议)是一种用于在网络上传输文件的标准协议。

它允许用户通过网络将文件从一台计算机传输到另一台计算机。


FTP中,有两种常见的数据传输模式,即主动模式和被动模式。

本文
将介绍这两种模式的工作原理和应用场景。

主动模式(Active Mode)
在FTP主动模式中,客户端首先与服务器的端口21建立控制连接。

当需要传输文件时,客户端会随机选择一个高于1024的端口号,并通
过控制连接向服务器发送PORT命令,指定该端口号。

服务器收到PORT命令后,会主动在端口20上建立一个数据连接,并通过该连接
发送文件给客户端。

主动模式的优点是服务器主动连接客户端,无需过多配置客户端的
防火墙或路由器。

然而,由于主动模式需要在客户端和服务器之间建
立两个连接(控制连接和数据连接),并且需要动态分配端口号,因
此其配置和维护相对较为复杂。

被动模式(Passive Mode)
在FTP被动模式中,客户端同样首先与服务器的端口21建立控制
连接。

当需要传输文件时,客户端发送PASV命令给服务器。

服务器
收到PASV命令后,会在一个高于1024的端口号范围内,随机选择一
个端口号,并将该端口号作为响应返回给客户端。

客户端收到服务器返回的端口号后,会在该端口上主动建立一个数
据连接,并通过该连接与服务器进行文件传输。

被动模式下,服务器
充当被动接收数据的角色,而客户端则主动连接服务器。

被动模式相对于主动模式来说,更加适用于在网络环境较为复杂的
情况下进行文件传输。

由于被动模式下只需要建立一个连接,且无需
动态分配端口号,因此在防火墙和路由器后面的客户端可以更方便地
与服务器进行通信。

主动模式与被动模式的对比
主动模式和被动模式在文件传输过程中的工作原理有所不同,因此
它们适用的网络环境也不同。

主动模式适用于位于防火墙后面的客户端。

由于主动模式需要服务
器主动连接客户端,因此需要开放防火墙的一些端口,以允许服务器
建立数据连接。

在企业内部网络中使用主动模式更为常见,因为可以
更好地控制服务器和客户端之间的通信。

被动模式适用于位于防火墙或路由器后面的服务器。

在被动模式下,服务器只需要在一个事先指定的端口范围内监听,无需开放防火墙的
端口。

这种模式适用于在云服务器、虚拟专用服务器等场景下进行文
件传输。

总结
FTP主动模式和被动模式是文件传输过程中常用的两种模式。

主动
模式适用于客户端位于防火墙后面的情况,而被动模式适用于服务器
位于防火墙或路由器后面的情况。

了解和掌握不同模式的工作原理和使用场景,可以帮助我们更好地配置FTP服务器和客户端,确保文件传输的可靠性和安全性。

FTP主动模式及被动模式的工作原理和应用场景,希望本文能给您带来帮助。

通过合理选择适合自己需求的模式,您可以更高效地进行FTP文件传输操作。

相关文档
最新文档