A. FTP服务的工作机制
FTP(File Tranfer Protocol) 文本传输协议,主要用于internet上文件的双向传输,同时ftp也是一种应用程序。
一、特性
基于C/S 结构
双通道协议:数据和命令连接
数据传输格式:二进制(默认)和文本格式
端口:基于tcp服务,数据端口(20)和控制端口(21)
二、模式支持
1、主动模式
主动模式FTP:(服务器主动连接)客户端从任意的一个非特权端口N,连接到FTP服务器的命令端口,也就是21端口。让后客户端开始监听端口N+1,并发送FTP命令“port
N+1” 到ftp服务器。接着服务器会从自己的数据端口(20)主动连接到客户端指定的数据端口(N+1)
以上描述可以在实验环境下查看
主要方法以上文中已有所描述,下面是在wondows上查看端口的命令
netstat -ant|findstr :21
针对FTP服务器前面的防火墙雷说,必须允许以下通信才能支持主动方式FTP。
1、 允许任何大于1024的端口到FTP服务器的21端口。 (客户端初始化连接)
2、 允许FTP服务器的21端口到大于1024的端口。(服务器响应客户端的控制端口)
3、 允许FTP服务器的20端口到大于1024端口。(服务器初始化数据连接到客户端的数据端口)
4、 允许大于1024端口到ftp服务器的20端口。(客户端发送ack响应到服务器的数据端口)
2、被动模式
为了解决服务器发起到客户端的连接问题,人们开发了一种不同的ftp连接方式。这就是所谓的被动方式,或成为PASV,当客户端通知服务器它处于被动模式时才启用。
在被动模式ftp中,命令连接和数据连接由客户端发起,这样就可以解决从服务器到客户端的数据端口入方向连接被防火墙过滤掉的问题。
当开启FTP连接时,客户端打开两个任意非特权本地端口N,N+1。第一个端口连接服务器的21端口,但与主动模式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交PASV命令。这样做的结果是服务器会开启一个任意的非特权端口
P,并发送port P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传输数据。
对于服务器端的防火墙来说,必须允许下面的通讯才能只是被动方式的FTP:
1、 允许从任何大于1024的端口到服务器的21端口(客户端初始化连接)
2、 允许服务器的21端口到任何大于1024的端口(服务器响应到客户端的控制端口的连接)
3、 从任何大于1024端口到服务器的大于1024的端口(客户端初始化数据连接到服务器的指定端口)
4、 服务器的大于1024端口到客户端的大于1024 的端口(服务器发送ack响应和数据到客户端的数据端口。)
三、简述解释及抓包分析过程
1、主动模式
命令连接:客户端任意大于1024端口 N —> 服务器21端口
数据连接:服务器20端口 -----> 客户端 N端口。
2、被动模式
命令连接:客户端任意大于1024端口N ------> 服务器21端口
数据连接:客户端任意大于1024端口N+1 --------> 服务器端口P
服务器被动模式数据端口示例:
227 Entering Passive Mode (172,16,0,1,239,20)
服务器的数据端口为239*256+20=61204 服务器端口P为61204
四、FTP连接响应码
1XX:信息 125:数据连接打开
2XX:成功类状态 200:命令OK 230:登录成功
3XX:补充类 331:用户名OK
4XX:客户端错误 425:不能打开数据连接
5XX:服务器错误 530:不能登录
B. 被动FTP模式是什么模式
在被动方式FTP中,命令连接和数据连接都由客户端,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题。
当开启一个FTP连接时,客户端打开两个任意的非特权本地端口。第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交PASV命令。
这样做的结果是服务器会开启一个任意的非特权端口,并发送PORT P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。
(2)ftp被动模式为什么要区间扩展阅读
FTP的传输有两种方式:ASCII、二进制。
1、ASCII传输方式
假定用户正在拷贝的文件包含的简单ASCII码文本,如果在远程机器上运行的不是UNIX,当文件传输时ftp通常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。
但是常常有这样的情况,用户正在传输的文件包含的不是文本文件,它们可能是程序,数据库,字处理文件或者压缩文件。在拷贝任何非文本文件之前,用binary 命令告诉ftp逐字拷贝。
2、二进制传输模式
在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位一一对应的。即使目的地机器上包含位序列的文件是没意义的。例如,macintosh以二进制方式传送可执行文件到Windows系统,在对方系统上,此文件不能执行。
如在ASCII方式下传输二进制文件,即使不需要也仍会转译。这会导致损坏数据。
C. 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客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。
D. FTP主动模式和被动模式的区别
(一)主动FTP
主动方式的FTP是这样的:客户端从一个任意的非特权端口N(N>1024)连接到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
1、为了解决服务器发起到客户的连接的问题,人们开发了一种不同的FTP连接方式。这就是所谓的被动方式,或者叫做PASV,当客户端通知服务器它处于被动模式时才启用。
2、在被动方式FTP中,命令连接和数据连接都由客户端发起,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题。
3、当开启一个 FTP连接时,客户端打开两个任意的非特权本地端口(N >
1024和N+1)。第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交
PASV命令。这样做的结果是服务器会开启一个任意的非特权端口(P > 1024),并发送PORT
P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。
E. ftp的两种模式
一种是模式是一种主动连接,被动则相反.
F. 如何配置FTP的主动模式和被动模式
在使用ftp的时侯,经常遇到ftp链接后出现文件列表错误的情况,只是因为ftp的模式不正确,如何设置ftp的工作模式,什么是主动模式,什么又是被动模式,主动模式和被动模式有什么区别,今天搜集了相关资料和常用ftp软件工作模式的设置的方法:
一、什么是PASV和PORT方式
(1)PORT其实是Standard模式的另一个名字,又称为Active模式。中文意思是“主动模式。
(2)PASV也就是Passive的简写。中文就是“被动模式。
二、两者不同
不同之处是由于PORT(主动)这个方式需要在接上TCP 21端口后,服务器通过自己的TCP 20来发出数据。并且需要建立一个新的连接来传送档案。而PORT的命令包含一些客户端没用的资料,所以有了PASv的出现。而PASV模式拥有PORT模式的优点,并去掉一些PORT的缺点。PASV运行方式就是当服务器接收到客户端连接请求时,就会自动从端口1024到5000中随机选择一个和客户端建立连接传递数据。由于被动且自动建立连接,容易受到攻击,所以安全性差。
三、常见的FTP客户端软件PORT方式与PASV方式的切换方法
大部分FTP客户端默认使用PASV方式。IE默认使用PORT方式。 在大部分FTP客户端的设置里,常见到的字眼都是“PASV”或“被动模式”,极少见到“PORT”或“主动模式”等字眼。因为FTP的登录方式只有两种:PORT和PASV,取消PASV方式,就意味着使用PORT方式。
(1)IE:工具 -> Internet选项 -> 高级 -> “使用被动FTP”(需要IE6.0以上才支持)。
(2)CuteFTP:Edit -> Setting -> Connection -> Firewall -> “PASV Mode” 或File -> Site Manager,在左边选中站点 -> Edit -> “Use PASV mode” 。
(3)FlashGet:工具 -> 选项 -> 代理服务器 -> 直接连接 -> 编辑 -> “PASV模式”。
(4)FlashFXP:选项 -> 参数选择 -> 代理/防火墙/标识 -> “使用被动模式” 或 站点管理 -> 对应站点 -> 选项 -> “使用被动模式”或快速连接 -> 切换 -> “使用被动模式”。
G. 什么是ftp的主动模式,被动模式,如何设
在使用ftp的时侯,经常遇到ftp链接后出现文件列表错误的情况,只是因为ftp的模式不正确,如何设置ftp的工作模式,什么是主动模式,什么又是被动模式,主动模式和被动模式有什么区别,今天搜集了相关资料和常用ftp软件工作模式的设置的方法:
一、什么是PASV和PORT方式
(1)PORT其实是Standard模式的另一个名字,又称为Active模式。中文意思是“主动模式。
(2)PASV也就是Passive的简写。中文就是“被动模式。
二、两者不同
不同之处是由于PORT(主动)这个方式需要在接上TCP
21端口后,服务器通过自己的TCP
20来发出数据。并且需要建立一个新的连接来传送档案。而PORT的命令包含一些客户端没用的资料,所以有了PASv的出现。而PASV模式拥有PORT模式的优点,并去掉一些PORT的缺点。PASV运行方式就是当服务器接收到客户端连接请求时,就会自动从端口1024到5000中随机选择一个和客户端建立连接传递数据。由于被动且自动建立连接,容易受到攻击,所以安全性差。
三、常见的FTP客户端软件PORT方式与PASV方式的切换方法
大部分FTP客户端默认使用PASV方式。IE默认使用PORT方式。
在大部分FTP客户端的设置里,常见到的字眼都是“PASV”或“被动模式”,极少见到“PORT”或“主动模式”等字眼。因为FTP的登录方式只有两种:PORT和PASV,取消PASV方式,就意味着使用PORT方式。
(1)IE:工具
->
Internet选项
->
高级
->
“使用被动FTP”(需要IE6.0以上才支持)。
(2)CuteFTP:Edit
->
Setting
->
Connection
->
Firewall
->
“PASV
Mode”
或File
->
Site
Manager,在左边选中站点
->
Edit
->
“Use
PASV
mode”
。
(3)FlashGet:工具
->
选项
->
代理服务器
->
直接连接
->
编辑
->
“PASV模式”。
(4)FlashFXP:选项
->
参数选择
->
代理/防火墙/标识
->
“使用被动模式”
或
站点管理
->
对应站点
->
选项
->
“使用被动模式”或快速连接
->
切换
->
“使用被动模式”。
H. ftp下载时的被动模式是什么意思,为什么有时候要去掉
FTP中的两种工作方式--Standard(PORT)和Passive
FTP是一种文件传输协议,它支持两种模式,一种方式叫做Standard
(也就是
Active,主动方式),一种是
Passive
(也就是PASV,被动方式)。
Standard模式
FTP的客户端发送
PORT
命令到FTP
server。Passive模式FTP的客户端发送
PASV命令到
FTP
Server。
下面介绍一个这两种方式的工作原理:
Standard模式FTP:客户端首先和FTP
Server的TCP
21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。
PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP
20端口发送数据。
FTP
server必须和客户端建立一个新的连接用来传送数据。
Passive模式:在建立控制通道的时候和Standard模式类似,当客户端通过这个通道发送PASV
命令的时候,FTP
server打开一个位于1024和5000之间的随机端口并且通知客户端在这个端口上传送数据的请求,然后FTP
server
将通过这个端口进行数据的传送,这个时候FTP
server不再需要建立一个新的和客户端之间的连接。