FTP应答码

FTP协议

1.  文件传输

 

文件传输服务是网络互联环境所必需的一种服务,当前网络中文件传输最主要的传输方式是使用FTP协议。

 

FTP,全称File Transfer Protocol,中文名为文件传输协议,它可以在网络中传输电子文档、图片、声音、影视、程序及程序等多种类型的文件。如果用户需要将文件从自己的计算机上发送到另一台计算机上,可使用FTP上传(upload)或(put)操作,而更多种的情况是用户使用FTP下载(download)或获取(get)操作从FTP服务器上下载文件。

 

2.  FTP工作原理

一个完整的FTP文件传输需要建立两种类型的连接,一种为文件传输下命令,称为控制连接,另一种实现真正的文件传输,称为数据连接。

1)      控制连接

客户端希望与FTP服务器建立上传下载的数据传输时,它首先向服务器的TCP 21端口发起一个建立连接的请求,FTP服务器接受来自客户端的请求,完成连接的建立过程,这样的连接就称为FTP控制连接。

2)      数据连接

FTP控制连接建立之后,即可开始传输文件,传输文件的连接称为FTP数据连接。FTP数据连接就是FTP传输数据的过程,它有两种传输模式:主动传输模式(PORT)和被动传输模式(PASSIVE,简称PASV)。主动传输模式下,FTP服务器使用20端口与客户端的暂时端口进行连接,并传输数据,客户端只是处于接收状态。被动传输模式下,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可以良好的工作。

?

 

区别在于:

主动模式是client bind a port,然后server从server的20port把数据写道client开的port上来。

被动模式是client要求server开一个port,然后client连那个port把数据取回来。

 

简明一点就是:

主动模式是server把数据写道client。

被动模式是client去server端把数据去回来.

 

 

3.  FTP命令

FTP常见的命令如表1所示。

 

命令

描述

USER

为用户验证提供用户名

PASS

为用户验证提供密码

PWD

输出FTP服务器的当前工作目录

TYPE

设置传输的文件类型

SYST

获取FTP服务器的操作系统

LIST

获取FTP服务器上当前目录的文件列表

PORT

指定使用主动模式进行数据传输

PASV

指定使用被动模式进行数据传输

HELP

从FTP服务器上获取帮助文件

STOR

从客户端上传指定的文件到FTP服务器

RETR

从FTP服务器下载指定的文件到客户端

DELE

删除FTP服务器上指定的文件

MKD

在FTP服务器上新建目录

 

RMD

 

删除FTP服务器上的指定目录

 

QUIT

 

退出关闭FTP连接

(表1 FTP常见命令)

4.  FTP应答

从上面的分析及截图中我们可以知道,对客户端发出的所有命令,FTP服务器都会对其做出应答,

ftp应答码及其意义 110      重新启动标记应答。在这种情况下文本是确定的,它必须是:MARK yyyy=mmmm,其中yyyy是用户进程数据流标记,mmmm是服务器标记。 120      服务在nnn分钟内准备好 125      数据连接已打开,准备传送 150      文件状态良好,打开数据连接 200      命令成功 202      命令未实现 211      系统状态或系统帮助响应 212      目录状态 213      文件状态 214      帮助信息,信息仅对人类用户有用 215      名字系统类型 220      对新用户服务准备好 221      服务关闭控制连接,可以退出登录 225      数据连接打开,无传输正在进行 226      关闭数据连接,请求的文件x作成功 227      进入被动模式 230      用户登录 250      请求的文件x作完成 257      创建"PATHNAME" 331      用户名正确,需要口令 332      登录时需要帐户信息 350      请求的文件x作需要进一步命令 421      不能提供服务,关闭控制连接 425      不能打开数据连接 426      关闭连接,中止传输 450      请求的文件x作未执行 451      中止请求的x作:有本地错误 452      未执行请求的x作:系统存储空间不足 500      格式错误,命令不可识别 501      参数语法错误 502      命令未实现 503      命令顺序错误 504      此参数下的命令功能未实现 530      未登录 532      存储文件需要帐户信息 550      未执行请求的x作 551      请求x作中止:页类型未知 552      请求的文件x作中止,存储分配溢出 553      未执行请求的x作:文件名不合法

原文地址:https://www.cnblogs.com/zhulinyixuan/p/2776117.html