频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

文件传输协议(File Transfer Protocol, FTP)(3)

作者: 出处:网络世界  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2005-12-06 06:04
关 键 词:协议
阅读提示:FTP的目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。虽然我们也可以手工使用它,但是它的主要作用是供程序使用的。在阅读本文之前最好能够阅读TCP协议标准规范和Telnet协议标准规范。
5.3. 命令
本节主要讨论命令格式。命令对大小写不敏感。命令通常由命令码和相应的参数组成。中间由一个或几个空格分开。参数域由结束,服务器在未接收到行结束符时不会采取任何动作。下面描述的格式是以NVT-ASCII以准的,方括号代表可选的参数域,如果未选择可选的参数域则采用默认值。
5.3.1. FTP命令
下面是FTP命令,其中username代表用户名,password代表口令,pathname代表路径名,host-port代表主机端口, account-information代表帐户信息,typecode代表类型代码,decimal-integer代表十进制整数,marker代表标记,string代表字符串:
USER
PASS
ACCT
CWD
CDUP
SMNT
QUIT
REIN
PORT
PASV
TYPE
STRU
MODE
RETR
STOR
STOU
APPE
ALLO
[ R ]
REST
RNFR
RNTO
ABOR
DELE
RMD
MKD
PWD
LIST [ ]
NLST [ ]
SITE
SYST
STAT [ ]
HELP [ ]
NOOP
5.3.2. FTP命令参数
下面是用BNF范式表示的参数格式:
::=
::=
::=
::= |
::= 除和外的所有ASCII字符
::=
::= |
::= 可打印ASCII字符,从33到126
::=
::= ,
::= ,,,
::= ,
::= 从1到255的十进制整数
::= N | T | C
::= A [ ]| E [ ]| I| L
::= F | R | P
::= S | B | C
::=
::= 任何十进制整数
5.4. 命令和响应序列
服务器和用户之间的通信是对话的过程,用户发送FTP命令,然后等待服务器的一个(或多个)响应,根据响应再发送新命令。
连接时的响应带有许多信息,通常情况下,服务器会返回220应答,等待输入,用户在接收到此响应后才发送新命令,如果服务器不能立即接收输入,会在220后面返回120。有些信息如服务器将在15分钟后停止工作是要服务器发向用户的,但是服务器却不能直接发向用户,处理的方法是将消息缓冲,在下一个响应中返回给用户。下面列出命令的应答,第一个是预备应答,第二个是确定完成,第三个是拒绝完成,最后是中间应答。这些应答是构成状态图的基础,状态图会在下节中给出:
建立连接
120
220
220
421
登录
USER
230
530
500, 501, 421
331, 332
PASS
230
202
530
500, 501, 503, 421
332
ACCT
230
202
530
500, 501, 503, 421
CWD
250
500, 501, 502, 421, 530, 550
CDUP
200
500, 501, 502, 421, 530, 550
SMNT
202, 250
500, 501, 502, 421, 530, 550
退出登录
REIN
120
220
220
421
500, 502
QUIT
221
500
传输参数
PORT
200
500, 501, 421, 530
PASV
227
500, 501, 502, 421, 530
MODE
200
500, 501, 504, 421, 530
TYPE
200
500, 501, 504, 421, 530
STRU
200
500, 501, 504, 421, 530
文件操作命令
ALLO
200
202
500, 501, 504, 421, 530
REST
500, 501, 502, 421, 530
350
STOR
125, 150
(110)
226, 250
425, 426, 451, 551, 552
532, 450, 452, 553
500, 501, 421, 530
STOU
125, 150
(110)
226, 250
425, 426, 451, 551, 552
532, 450, 452, 553
500, 501, 421, 530
RETR
125, 150
(110)
226, 250
425, 426, 451
450, 550
500, 501, 421, 530
LIST
125, 150
226, 250
425, 426, 451
450
500, 501, 502, 421, 530
NLST
125, 150
226, 250
425, 426, 451
450
500, 501, 502, 421, 530
APPE
125, 150
(110)
226, 250
425, 426, 451, 551, 552
532, 450, 550, 452, 553
500, 501, 502, 421, 530
RNFR
450, 550
500, 501, 502, 421, 530
350
RNTO
250
532, 553
500, 501, 502, 503, 421, 530
DELE
250
450, 550
500, 501, 502, 421, 530
RMD
250
500, 501, 502, 421, 530, 550
MKD
257
500, 501, 502, 421, 530, 550
PWD
257
500, 501, 502, 421, 550
ABOR
225, 226
500, 501, 502, 421
获得信息命令
SYST
215
500, 501, 502, 421
STAT
211, 212, 213
450
500, 501, 502, 421, 530
HELP
211, 214
500, 501, 502, 421
其它命令
SITE
200
202
500, 501, 530
NOOP
200
500 421
6. 状态图
下面是一个简单实现的FTP的状态图,只用到响应码的首位。对于所有命令或命令序列有三种可能性:成功(S),失败(F)或错误(E)。在状态图中B代表开始,W代表等待响应。下面我们给出一个总图,总图可以包括的命令有:
ABOR,ALLO,DELE,CWD,CDUP,SMNT,HELP,MODE,NOOP,PASV,QUIT,SITE,PORT,SYST,STAT,RMD,MKD,PWD,STRU和TYPE
而下图可以包括的命令有:APPE,LIST,NLST,REIN,RETR,STOR和STOU。
第一幅图和第二幅图差别不大,第一幅图中如果出现了100系列响应会是错误,而在第二幅图中不会。下面是重命名过程:
下面是重新启动命令,其中cmd代表APPE,STOR或RETR。
下图代表登录过程:
7. 典型FTP过程
假设位于U的用户希望从S上(下)传文件,通常用户需要使用用户FTP进程和服务器通信,下面就是一个例子:
用户发出的本地命令
解释
ftp (host) multics
连接到S的端口L,建立控制连接
<---- 220 Service ready .
用户名 Doe
need password.
USER Doe---->
<---- 331 用户名正确
口令
PASS 口令---->
<---- 230 User logged in.
retrieve (local type) ASCII
(local pathname) test 1
(for. pathname) test.pl1
User-FTP opens local file in ASCII.
RETR test.pl1 ---->
<---- 150 文件状态正常,将打开数据连接
服务器于端口U建立数据连接
文件传输中
  <---- 226 关闭数据连接,文件传输正确
type Image
TYPE I ---->
<---- 200 Command OK
store (local type) image
(local pathname) file dump
(for.pathname) >udd>cn>fd
User-FTP opens local file in Image.
STOR >udd>cn>fd ---->
<---- 550 访问拒绝
中止
QUIT ---->
服务器关闭所有连接
FTP控制连接通过用户进程端口U和服务器端口L建立,这里默认的L=21。

共3页: 上一页 [1] [2] 3
【内容导航】
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·IIS 专题频道 (查看19810次)
·中间件应用技术专题 (查看16166次)
·FTP协议应用专题 (查看16093次)
·140个电脑小知识、小技巧 (查看14425次)
·Apache技术专题 (查看12971次)
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有