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)的区别
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主动模式和被动模式基于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是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方式,(即主动模式和被动模式)
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两种链接模式:主动模式(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的配置和区别共同点: 客户端先发起命令连接。
不同点: 主动模式:服务端发起数据连接。
客户端⽣成随机数据端⼝ 被动模式:客户端发起数据连接。
客户端和服务端都是随机数据端⼝。
客户端与服务器的命令连接 服务器返回命令"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的连接⼀般是有两个连接的,⼀个是客户程和服务器传输命令的,另⼀个是数据传送的连接。
报文解析FTP主动被动模式和FTP结合NAT使用
.FTP模式介绍FTP的主动模式和被动模式的区别:主动模式:(也叫Standard模式,PORT方式)FTP服务器主动去连接FTP客户端。
FTP客户端告诉FTP服务器使用什么端口进行侦听,FTP服务器和FTP客户端的这个端口进行连接,源端口是20。
被动模式:(也叫Passive模式,也叫PASV方式)FTP服务器被动的等待FTP客户端连接自己。
FTP服务器打开指定范围内的某个端口(也叫自由端口,1024--65535之间),被动的等待客户端进行连接。
主被动模式报文解析建立控制连接的过程登录的时候客户端是44.1.1.44服务器是33.1.1.33,用户名1密码111111通过命令行登录Client:syn 我请求跟你进行连接Server:ack+syn 可以,我也请求跟你连接Client:ack 可以(上面是三次握手)Server:response 我这ready准备好了Client:ack 好的Client:request 我使用的user是1Server:response 请输入密码Client:ack 好的,收到Client:request 我用的密码是111111Server: response 用户名1 ,密码111111,正确,logged in,允许进入Client:ack 好的上面是进行的连接控制的简单过程,FTP服务器使用的端口号是21,FTP客户端使用的端口号是64023。
主动连接:客户端通过PORT命令告诉服务器自己要使用的数据端口号,然后在客户端主动建立起这个端口的监听。
进行文件传输的时候,服务器来连接客户端的这个数据接口,进行数据传输。
FTP客户端想要下载文件,get hfs.exe..Client:request 我发送了PORT命令要使用主动连接,使用64024进行侦听Server:response 主动连接的指令成功Client:request 我想要hfs.exe文件Server:response 为hfs.exe打开数据连接Server:syn 主动请求建立数据连接,源端口号20,目的端口号64024Client:ack+syn 可以,请求与服务器建立连接,sport:64024,dport:20Server:ack 可以之后就是server和client之间传输数据的过程,一直到文件传完Server:response 给client发送一条命令,文件传输okClient:ack 好的以上是主动模式的过程被动连接:FTP客户端发送PASV命令到FTP服务器,想使用PASV方式传输数据。
关于FTP的主动模式和被动模式的区分
关于FTP的主动模式和被动模式的区分什么叫做PASV mode(被动模式传送)?他是如何工作的?FTP的连接一般是有两个连接的,一个是客户程和服务器传输命令的,另一个是数据传送的连接。
FTP服务程序一般会支持两种不同的模式,一种是Port模式,一种是Passive模式(Pasv Mode),我先说说这两种不同模式连接方式的分别。
先假设客户端为C,服务端为S.Port模式:当客户端C向服务端S连接后,使用的是Port模式,那么客户端C会发送一条命令告诉服务端S(客户端C 在本地打开了一个端口N在等着你进行数据连接),当服务端S收到这个Port命令后就会向客户端打开的那个端口N进行连接,这种数据连接就生成了。
Pasv模式:当客户端C向服务端S连接后,服务端S会发信息给客户端C,这个信息是(服务端S在本地打开了一个端口M,你现在去连接我吧),当客户端C收到这个信息后,就可以向服务端S的M端口进行连接,连接成功后,数据连接也建立了。
从上面的解释中,大家可以看到两种模式主要的不同是数据连接建立的不同,对于Port模式,是客户端C 在本地打开一个端口等服务端S去连接建立数据连接;而Pasv模式就是服务端S打开一个端口等待客户端C去建立一个数据连接。
我需要把传送模式设置成PASV mode吗?如果您连接到INTERNET的方式如下图,你需要设置成为PASV mode模式传送从上图中我们可以看出,路由上有两个ip一个是内网ip(也就是你的网关地址)另外一个是外网IP,你所有LAN中的计算机都是共享这个218.63.1.5访问INTERNET的(中间通过了192.168.1.1这个网关),让我们来看一个连接的详细过程,以便您更进一步了解为什么需要设置成为PASV mode 传送:当您通过下载工具或使用浏览器下载影片的时候就开始连接FTP服务器, 当FTP服务收到你的连接请求后发送应答信息给客户并开始等待用户的认证信息,-->认证通过后开始建立数据连接如果你不是设置成为pasv模式,那么客户段(下载工具)会在本地计算机开一个数据端口,然后发送一条“命令”给FTP服务段,(我已打开了n端口你现在可以连接我),那么FTP服务器段就开始连接你ip地址的N端口,(但是连接是失败的) 因为你是通过192.168.1.1 这个网关(你的路由设备)访问internet的ftp服务段他实际上是同你的外网地址为218.63.1.5的路由设备连接,根本就连接不上你下载工具中打开的端口,例如你使用的是192.168.1.2 这个客户机,FTP服务段此时无法同你计算机(192.168.1.2)监听端口N连接上,所以此时你会看到服务器反馈的错误信息,提示你192.168.1.2打开的端口无法连接之类的, 信息此时你就需要把传送模式设置成为PASV模式,而如果你使用的是PASV模式那么当你ftp通过认证后,客户段首先向服务器发送一条PASV命令,服务段接受到命令后打开一个端口并告诉客户段“我已打开了一个端口,你此时可以来连接了" 客户段(下载工具)接受到信息后,就去连接服务段已经打开了的端口,从而完成数据连接,所有ftp下载的数据流都将通过这个端口传送###############################一次完整的FTP会话,包含有两个连接,一个称之为命令通道,一个称之为数据通道。
FTP传输的两种模式
FTP传输的两种模式主动模式(active):我们知道,FTP是由TCP封包的模式连接,TCP 这种封包由于需要经过Server 端与Client 端两边的『三次握手』之后,才能确定联机,也就是需要执行ACK 确认的动作,需要经过以下几个动作。
Client 端主动向Server 端发送联机需求:首先client端会随机选取1024以上的端口来主动联机到server端提供的21端口,也就是会主动发送一个封包到server。
Server 端接受后,响应给Client 端:当Server 接收到Client 的要求之后,会响应Client 端的需求,此时Server 端会建立等待联机的资源,并且将一带有SYN 与确认(ACK) 的封包送回Client 端;Client 端回应确认封包:在Client 端接收到来自Server 端告知的封包后,会再次的发送一个确认封包给主机,此时,两边才会正式的建立起联机的通道,这个步骤 1 ~ 3 就是Three-Way Handshake(三次握手)。
需要注意的是,这个已经建立联机的通道(通常是port 21)仅能进行FTP 的『指令』而已,如果该指令涉及到数据的传送(data transfer)时,例如上传或下载等等,那么就需要额外建立一条数据传输的通道才行( ftp-data )!而数据传输的通道建立则需要继续底下的步骤;Client 端发送数据传输要求的命令给Server:当需要进行数据的传输时,Client 端会启用另一个高于1024 的端口来做为联机的准备(这个高于1024 的端口与步骤 1 那个端口不是同一个!),并且Client 端会主动的利用刚刚已经建立的指令信道(通常是port 21)发送一个命令告诉Server 说:『我已经准备好一个数据传输的端口了,请准备进行传输吧』!Server 端以ftp-data 端口主动联机到Client :收到命令之后的Server 会『主动』的以ftp-data 端口(一般为port 20)向Client 端通知的那个高于1024 的端口进行联机。
IEFTP(主动与被动)
IEFTP(主动与被动)本文介绍了如何配置Internet Explorer,以使用文件传输协议(FTP) PORT 模式和 PASV 模式。
FTP 支持两种模式。
这两种模式被分别称为“标准”(或PORT 或“主动”)和“被动”(或PASV)。
“标准”模式FTP 客户端向FTP 服务器发送 PORT 命令。
“被动”模式客户端向 FTP 服务器发送PASV 命令。
这些命令是在建立 FTP 会话时通过 FTP 命令通道进行发送的。
“标准”模式 FTP 客户端首先建立一个到 FTP 服务器上 TCP 端口21 的连接。
此连接会建立 FTP 命令通道。
当 FTP 客户端需要发送或接收数据(如文件夹列表或文件)时,客户端会通过FTP 命令通道发送 PORT 命令。
PORT 命令包含 FTP 客户端在哪个端口上接收数据连接的相关信息。
在“标准”模式下,FTP 服务器总是从TCP 端口20 开始数据连接。
FTP 服务器在发送或接收数据时,必须打开一个新的到客户端的连接,FTP 客户端会通过再次使用PORT 命令对此发出请求。
“被动”模式 FTP 客户端也是首先建立一个到 FTP 服务器上 TCP 端口 21 的连接,以创建控制通道。
当客户端通过命令通道发送 PASV 命令时,FTP 服务器会打开一个短暂端口(在 1024 到 5000 之间),并在请求数据传输之前通知FTP 客户端连接到此端口。
与“标准”模式一样,FTP 客户端必须在每个新传输之前,发送一个新的PASV 命令,FTP 服务器将在每个传输的新端口等候每个连接。
根据FTP 客户端或者服务器防火墙配置的不同,您可能必须更改该 FTP 客户端使用的模式。
Microsoft Internet Explorer 5 及更高版本可支持“标准”和“被动”这两种模式。
如何更改 Internet Explorer FTP 客户端模式1. 启动 Internet Explorer。
FTP的主动被动模式
FTP 是仅基于 TCP 的服务,不支持 UDP。 与众不同的是 FTP 使用 2 个端口, 一个数据端口和一个命令端口(也可叫做控制端口)。通常来说这两个端口是 21-命令端口和 20-数据端口。但当我们发现根据(FTP 工作)方式的不同数 据端口并不总是 20 时,混乱产生了。
主动 FTP
主 动方式的 FTP 是这样的:客户端从一个任意的非特权端口 N(N>;1024)连 接到 FTP 服务器的命令端口,也就是 21 端口。然后客户端开始监听端 口 N+1, 并发送 FTP 命令“port N+1”到 FTP 服务器。接着服务器会从它自己的数据端 口(20)连接到客户端指定的数据端口(N+1)。
仔细考虑这个对话过程我们会发现一些有趣的事情。我 们可以看到 当 PORT 命令被提交时,它指定了客户端(192.168.150.80)上的一个端口 而不是服务器的。当我们用被动 FTP 时我们会看到相 反的现象。我们再 来关注 PORT 命令的格式。就象你在下面的例子看到的一样,它是一个 由六个被逗号隔开的数字组成的序列。前四个表示 IP 地址,后两个组成 了用于数据连接的端口号。用第五个数乘以 256 再加上第六个数就得到 了实际的端口号。下面例子中端口号就是 ( (14*256) + 178) = 3762。 我们可以用 netstat 来验证这个端口信息。
注意此例中的 PORT 命令与主动 FTP 例子的不同。这里,我们看
到是服务器(192.168.150.90)而不是客户端的一个端口被打开了。 可以跟上面的主动 FTP 例子中的 PORT 命令格式对比一下。
testbox1: {/home/p-t/slacker/public_html} % ftp -d testbox 2 Connected to . 220 FTP server ready. Name (testbox2:slacker): slacker ---> USER slacker 331 Password required for slacker. Password: TmpPass ---> PASS XXXX 230 User slacker logged in. ---> SYST 215 UNIX Type: L8 Remote system type is UNIX. Using binary mode to transfer files. ftp> passive Passive mode on. ftp> ls ftp: setsockopt (ignored): Permission denied ---> PASV
FTP协议的主动模式和被动模式的区别
FTP协议的主动模式和被动模式的区别⼀、什么是FTP协议FTP的中⽂名称是“⽂件传输协议”,是File Transfer Protocol三个英⽂单词的缩写。
FTP协议是TCP/IP协议组中的协议之⼀,其传输效率⾮常⾼,在⽹络上传输⼤的⽂件时,经常采⽤该协议。
⼀个完整的FTP由FTP服务器和FTP客户端组成,客户端可以将服务器上的⽂件通过FTP协议下载到本地,也可以将本地数据通过FTP协议上传到服务器上。
(1)服务器端需要安装FTP服务软件,常⽤的有FileZilla Server、IIS、Serv-U、OSSFTP等等。
不同的FTP软件对FTP协议标准⽀持有所差别,从我的使⽤经验感觉FileZilla Server是对FTP协议⽀持最好的软件,它具有以下⼏个特点:体积⼩(2M左右)、免费开源、操作简单、功能完善(我们所需要的有功能它基本都⽀持)。
IIS对FTP协议的⽀持也很不错。
Serv-U有⼏个命令⽀持不是很好,这个软件也是收费软件,没感觉⽐FileZilla Server好多少。
OSSFTP是阿⾥云对象存储提供的FTP Server,对FTP标准协议⽀持就更差了。
(2)FTP客户端软件就⽐较多了,常⽤的有FileZilla、FlashFXP、WinSCP、甚⾄在浏览器和windows资源管理器中输⼊FTP地址都可以当做FTP客户端来使⽤。
我们的FtpCopy也属于FTP客户端。
⼆、FTP协议的两个TCP连接 左侧为客户端,右侧为FTP服务器,⽆论是上传还是下载,客户端与服务器之间都会建⽴2个TCP连接会话,绿⾊是控制连接,红⾊的是数据连接。
其中,控制连接⽤于传输FTP命令,如:删除⽂件、重命名⽂件、下载⽂件、列取⽬录、获取⽂件信息等。
真正的数据传输时通过数据连接来完成的。
默认情况下,服务器21端⼝作为命令端⼝,20端⼝为数据端⼝。
但被动模式下就有所差别了。
刚接触FTP的朋友,经常搞不清楚FTP的主动模式和被动模式,造成连接被防⽕墙拦截,下⾯我们就详细了解下FTP的这两种模式:三、FTP主动模式 ⾸先,来了解下FTP的主动模式,主动模式是FTP的默认模式,也称为PORT模式。
FTPCIFS和NFS工作模式对比
FTPCIFS和NFS工作模式对比FTP、CIFS和NFS是文件传输协议,用于在计算机网络中进行文件的传输和共享。
下面将分别介绍它们的工作模式。
1.FTP(文件传输协议)FTP是一个客户端-服务器协议,用于在计算机网络中进行文件的传输。
它有两种工作模式:主动模式和被动模式。
主动模式下,FTP客户端主动地发起连接,并传输数据。
它发送一个PORT命令,告诉FTP服务器使用哪个端口来连接数据,然后服务器使用该端口来与客户端建立数据连接。
这种模式需要FTP服务器能够与客户端建立数据连接,并且需要设置防火墙规则来允许数据连接。
被动模式下,FTP客户端发送PASV命令,告诉FTP服务器在哪个端口监听数据连接。
然后,FTP服务器打开一个监听端口,并返回该端口给客户端。
接下来,客户端使用该端口来与服务器建立数据连接。
这种模式通常适用于客户端位于防火墙后的情况,因为所有的数据连接都是由客户端发起的。
2.CIFS(通用互联网文件系统)CIFS是一种用于在计算机网络中进行文件共享的协议。
它是基于SMB (Server Message Block)协议的,也被称为SMB或Samba。
CIFS使用客户端-服务器模式进行工作。
客户端通过发送请求到服务器来访问和操作共享文件。
服务器接收请求并相应地进行处理,并将结果返回给客户端。
CIFS支持多种操作,如文件的读取、写入、创建、删除和重命名等。
它还支持身份验证和访问控制,以确保只有授权用户可以访问共享文件。
3.NFS(网络文件系统)NFS也是一种用于在计算机网络中进行文件共享的协议。
它是基于RPC(远程过程调用)的,允许客户端像访问本地文件一样访问远程文件。
NFS采用客户端-服务器模式进行工作。
客户端通过发送请求到服务器来访问远程文件。
服务器接收请求,并相应地进行处理,然后将结果返回给客户端。
NFS使用基于文件和目录的操作模式,如读取、写入、创建、删除和重命名等。
它支持文件和文件夹的共享,使得多个用户可以同时访问和操作同一个文件。
FTP主动模式
FTP主动模式FTP(File Transfer Protocol,文件传输协议)是互联网上用于文件传输的一种标准化网络协议。
主动模式(Active Mode)是FTP连接模式中的一种,它指的是在文件传输过程中,数据连接的建立由客户端(即上传方)发起,而服务器端(即接收方)被动地接收传输数据。
FTP主动模式的工作原理如下:1. 客户端发送一个PORT(端口)命令给服务器端,告知服务器端数据连接将要使用的端口号。
2. 服务器端向客户端指定的端口号发起连接,在此之前,服务器端会开放一个临时端口,用于数据传输。
3. 客户端和服务器端通过建立的数据连接进行文件的传输。
FTP主动模式的优点是流行、广泛支持,适用于大部分网络环境。
然而,它也存在一些问题和局限性。
首先,由于服务器端需要主动地向客户端发起连接,所以FTP主动模式在防火墙后面的客户端可能无法正常工作。
现代网络中通常有多层防火墙保护,这会导致服务器端无法建立与客户端的数据连接。
此外,FTP主动模式还存在一些安全风险。
由于服务器端需要主动连接客户端,一些不法分子可能利用这一点进行攻击。
因此,在使用FTP主动模式时,需要额外的安全措施来保护服务器端和客户端的安全。
为了解决FTP主动模式面临的问题,引入了FTP被动模式(Passive Mode)。
被动模式与主动模式相比,更适用于现代网络环境,并且更容易在防火墙背后工作。
在FTP被动模式中,服务器端开放一个固定的端口,等待客户端的连接请求。
客户端通过发送PASV(被动)命令给服务器端,获取服务器端的地址和端口信息,然后在此地址和端口上建立数据连接进行文件传输。
综上所述,FTP主动模式是FTP协议中的一种传输模式。
虽然在现代网络环境中存在一些问题和局限性,但它仍然是广泛使用的文件传输方式之一。
为了更好地适应不同的网络环境,我们也可以选择使用FTP被动模式进行文件传输。
FTP的主动模式和被动模式(FileZillaServer)
FTP的主动模式和被动模式(FileZillaServer)疑问:怎么设置FileZilla Server的主动模式?-------------------------------------------------------------------------------------------------------------------------------------------------------设置被动FTP(PASV),是指定端口,还是随机端口。
FileZilla Server只有设置被动FTP的选项,朋友们就要问了,那主动FTP (PORT)到哪里去了?我折腾了很久才明白,决定FTP是PORT(主动),还是PASV (被动),关键是看客户端发送的命令。
换句话说,决定权在客户端。
服务器端开启20和21端口,客户端只要选择的是主动模式,服务器端,自动把连接设定为PORT(主动);服务器端开启21端口,并且设置PASV是指定端口,还是随机端口,并打通这些端口;客户端设置为被动模式,这个连接自动设置为PASV。
不管是PORT(主动),还是PASV(被动),必须要打开21端口。
-------------------------------------------------------------------------------------------------------------------------------------------------------被动FTP(PASV,指定端口)——推荐1)FTP服务器端,开放指定端口的PASV模式,需额外指定至少10个连续的端口,并在防火墙中打开这些端口。
2)10个连续的端口,均为高位端口(大于1024)3)在Windows防火墙和第三方安全软件中,务必打通这些端口。
4)经过实测,PASV(被动FTP)不强制要求打开20端口,但必须要打开21端口。
FTP协议
FTP协议
FTP(File Transfer Protocol)即文件传输协议,是一种用于在网络中将文件从一个计算机传输到另一个计算机的标准通信协议。
最初FTP是为交换文件而设计,它依赖于
TCP/IP协议,使用客户端-服务器模式,客户端利用FTP客户端软件与FTP服务器建立连接,通过FTP服务器提供的服务进行文件的上传、下载、删除以及重命名等操作。
FTP 主要有两种工作模式:主动模式和被动模式。
其中,主动模式是首选的模式。
当主动模式启用时,客户端发送命令到FTP服务器,并会在本地进行数据端口的监听。
被动模式则是相反的,在被动模式中,FTP服务器会开放一个指定的端口来监听传输数据的连接请求。
FTP获得了广泛使用的原因是其简单易用,允许匿名进行文件传输以及可靠性高等特点。
FTP支持多种文件的类型,包括文本文件和二进制文件。
同时,FTP还可以支持断点续传功能,让用户在网络不稳定的情况下也能够完成文件的传输,非常便捷。
尽管FTP协议已经被一些更加先进的协议所替代,但它仍然被广泛使用。
FTP在各种网站、服务器,以及电子商务中都有广泛的应用。
在许多情况下,用户并不需要付费就可以下载FTP服务器上的文件,这也是FTP受到欢迎的一个原因。
总的来说,FTP是一种非常好用的文件传输协议,它为用户提供了强大而灵活的文件传输服务。
尽管有一些隐私和安全问题,但它仍然是网络中不可或缺的一部分。
未来,随着许多
公司转向更加安全的协议,如SFTP和FTPS,FTP将逐渐减少其使用量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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文件传输操作。