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/cpcpc/archive/2011/01/25/2123074.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值