ftp切换被动模式
主动式有利于服务器端管理
但是可能会被客户端防火墙拦截
被动式由于数据传输由客户端发起出所有不会被客户端防火墙拦截
但是不利于服务器管理
使用windows
server搭建完毕
双击FTP防火墙
填写端口和IP即可
例如填写5000-5100,即为允许100个被动连接(此时可能为灰色需要开通防火墙)
如果端口位置为灰色,需执行以下命令添加防火墙策略
允许ftp
netsh
advfirewall
firewall
add
rule
name="FTP
Service"
action=allow
service=ftpsvc
protocol=TCP
dir=in
netsh
advfirewall
firewall
set
global
StatefulFTP
disable
添加完毕再看端口可以输入数值
输入数值
和外部连接的IP地址
点击应用
此时再次使用被动式连接
即可成功连接
按:
测试发现关闭防火墙无效,填写被动式端口依然为灰色.
必须添加2条命令
B. FTP主动模式和被动模式!
FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
默认情况下FTP协议使用TCP端口中的 20 和 21 这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。
FTP支持两种模式,它在工作运行时也主要是这两种模式,一种模式叫作Standard也被称为PORT方式和 主动方式 ,另一种模式叫作Passive也叫作PASV, 被动方式 。Standard模式FTP的客户端发出PORT命令到服务器,Passive模式FTP的客户端发送PASV命令到FTP Server中,从而保证文件相互传输正常。
我们使用华为的模拟器Ensp来做一个小实验。
FTP三次握手有两次,第一次的TCP三次握手是控制层的握手,第二次是数据层的TCP三次握手
(1)服务器打开端口 21,等待连接;
(2)客户端(100.1.12.1)发起控制连接的建立请求,服务器响应连接,控制连接建立,使用TCP 三次握手(第一次TCP三次握手);
随机端口的计算
可以看到PORT为 10,0,0,2,8,6
随机端口计算为: 8*256+6=2054
(3)客户端通过控制连接发送 PORT 命令(在应用层数据中带有自己的 ip 地址和临时端口),将客户端数据连接的临时端口号告诉服务器
(4)服务器的 20 号端口与客户端建立起数据连接,使用TCP 三次握手(第二次TCP三次握手);
点击登出后控制端口断开连接
FTP三次握手有两次,第一次的TCP三次握手是控制层的握手,第二次是数据层的TCP三次握手
(1)服务器打开端口 21,等待连接
(2)客户端发起控制连接的建立请求,服务器响应连接,控制连接建立,使用TCP 三次握手(第一次TCP三次握手);
(3)客户端通过控制连接发送命令字 PASV,告知服务器处于被动模式;
(4)服务器回应,将服务器数据连接的临时端口号(2060)告诉客户端;
(5)客户端与服务器的临时端口建立起数据连接,使用TCP 三次握手(第二次TCP三次握手);
C. 如何设置FTP的主动模式和被动模式
可以简单概括为以下两点:
1、主动FTP:
命令连接:客户端 >1024端口 -> 服务器 21端口
数据连接:客户端 >1024端口 <- 服务器 20端口
2、被动FTP:
命令连接:客户端 >1024端口 -> 服务器 21端口
数据连接:客户端 >1024端口 -> 服务器 >1024端口
D. CMD里的FTP命令,怎么切换FTP的主被动模式
cmd.exe和ftp.exe是两个程序,你在cmd里面调用ftp.exe,而cmd命令本身是不会变成ftp.exe的输入的如果需要自动执行ftp命令的话,应该用-s:filename参数传递ftp命令。比如,你可以建立两个文件,一个是command.cmd,内容是ftp-s:d:\用户名密码.txt10.4.40.5另一个文件就是你上面的“d:\用户名密码.txt”,但是里面除了用户名、密码之外,还可以加上其它ftp命令,比如在最后追加一句megt*.*换句话说,-s:后面的文件可不仅仅是让你放用户名密码的。.
E. 什么是ftp主动模式和被动模式
FTP是文件传输协议的简称,ftp传输协议有着众多的优点所以传输文件时使用ftp协议的软件很多,ftp协议使用的端口是21(也称为控制端口),其实还有一个数据端口20,根据FTP工作方式的不同,数据端口也不都是20,主动模式的被动模式使用的数据端口是不一样的,下面我就一步一步介绍主动ftp模式和被动ftp模式的区别:
一、什么是主动FTP
主动模式的FTP工作原理:客户端从一个任意的非特权端口N连接到FTP服务器的命令端口,也就是21端口。然后客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。
针对FTP服务器前面的防火墙来说,必须允许以下通讯才能支持主动方式FTP:
1、 任何大于1024的端口到FTP服务器的21端口。(客户端初始化的连接)
2、 FTP服务器的21端口到大于1024的端口。 (服务器响应客户端的控制端口)
3、 FTP服务器的20端口到大于1024的端口。(服务器端初始化数据连接到客户端的数据端口)
4、 大于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:
1、 从任何大于1024的端口到服务器的21端口(客户端初始化的连接)
2、 服务器的21端口到任何大于1024的端口(服务器响应到客户端的控制端口的连接)
3、 从任何大于1024端口到服务器的大于1024端口(客户端初始化数据连接到服务器指定的任意端口)
4、 服务器的大于1024端口到远程的大于1024的端口(服务器发送ACK响应和数据到客户端的数据端口)
以上关于主动和被动FTP的解释,可以简单概括为以下两点:
1、主动FTP:
命令连接:客户端 >1024端口 -> 服务器 21端口
数据连接:客户端 >1024端口 <- 服务器 20端口
2、被动FTP:
命令连接:客户端 >1024端口 -> 服务器 21端口
数据连接:客户端 >1024端口 -> 服务器 >1024端口
三、主动模式ftp与被动模式FTP优点和缺点:
主动FTP对FTP服务器的管理和安全很有利,但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉。被动FTP对FTP客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。
F. 如何设置windows自带的ftp使用被动模式上传
主动式有利于服务器端管理 但是可能会被客户端防火墙拦截
被动式由于数据传输由客户端发起出所有不会被客户端防火墙拦截 但是不利于服务器管理
使用windows server搭建完毕 双击FTP防火墙
按: 测试发现关闭防火墙无效,填写被动式端口依然为灰色. 必须添加2条命令
G. 什么是ftp主动模式和被动模式
一、什么是主动FTP 主动模式的FTP工作原理:客户端从一个任意的非特权端口N连接到FTP服务器的命令端口,也就是21端口。然后客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。 针对FTP服务器前面的防火墙来说,必须允许以下通讯才能支持主动方式FTP: 1、 任何大于1024的端口到FTP服务器的21端口。(客户端初始化的连接) 2、 FTP服务器的21端口到大于1024的端口。 (服务器响应客户端的控制端口) 3、 FTP服务器的20端口到大于1024的端口。(服务器端初始化数据连接到客户端的数据端口) 4、 大于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: 1、 从任何大于1024的端口到服务器的21端口(客户端初始化的连接) 2、 服务器的21端口到任何大于1024的端口(服务器响应到客户端的控制端口的连接) 3、 从任何大于1024端口到服务器的大于1024端口(客户端初始化数据连接到服务器指定的任意端口) 4、 服务器的大于1024端口到远程的大于1024的端口(服务器发送ACK响应和数据到客户端的数据端口) 以上关于主动和被动FTP的解释,可以简单概括为以下两点: 1、主动FTP: 命令连接:客户端 >1024端口 -> 服务器 21端口 数据连接:客户端 >1024端口 <- 服务器 20端口 2、被动FTP: 命令连接:客户端 >1024端口 -> 服务器 21端口 数据连接:客户端 >1024端口 -> 服务器 >1024端口 三、主动模式ftp与被动模式FTP优点和缺点: 主动FTP对FTP服务器的管理和安全很有利,但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉。被动FTP对FTP客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。
H. 如何设置windows自带的ftp使用被动模式上传数据
被动模式:
1、客户端打开命令端口X(X>1024)到服务器21端口。
2、客户端在该命令通道中,发送“PASV”命令给服务器。
3、服务器在监听该端口后,将会开启一个任意的非特权端口Z(Z>1024),返回并发送给客户端。
4、客户端建立数据通道,并从本地端口X+1发送到服务器Z端口。
5、服务器接受该数据通道。