3.1.4 FTP命令与FTP响应信息(1)
FTP服务在应用层采用的是FTP协议。1971年,RFC 114文档定义了FTP协议的最初版本。1985年,RFC 959文档定义了FTP协议的新版本,它是目前FTP服务仍遵循的协议标准。简单文件传输协议(Trivial File Transfer Protocol,TFTP)也可以用于实现文件传输,但是它不提供任何安全性方面的保证。FTP协议详细规定了FTP服务的工作流程,以及命令与响应的具体格式。FTP客户机在进行文件传输之前,需要通过控制连接定义文件类型、数据结构与传输模式。
在FTP服务的执行过程中,FTP客户机与服务器之间需要传输控制信息,这些信息用于完成某个具体的FTP操作,它们可以分为两种类型:FTP命令与FTP响应。其中,FTP命令是FTP客户机向服务器发送的操作请求,FTP响应是FTP服务器根据操作情况向客户机返回的信息。图3-3给出了FTP 命令与FTP响应的关系。FTP协议详细规定了每种协议命令的顺序--首先需要顺序发送USER与PASS命令,最后需要发送QUIT命令,其他命令的顺序没有特殊要求。
|
| 图3-3 FTP命令与FTP响应的关系 |
FTP命令由两部分组成:命令名与参数。其中,命令名是由3或4个大写字母组成的字符串,它是对该命令的英文描述的缩写,例如USER是用户名的缩写;参数是完成命令需要使用的附加信息,例如USER的参数为具体的用户名。FTP命令的标准格式为:- 命令名 <参数>
FTP命令中的命令名是必须有的,参数是由命令来决定是否需要的。例如,USER命令必须有参数,LIST命令可以没有参数。其中最为常用的FTP命令如表3-1所示。
表3-1 FTP的常用命令
|
命 令< xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> |
格 式 |
描 述 |
|
用户名(USER) |
USER ×××××× |
参数是标记用户的Telnet串。
Telnet是一种Internet远程终端访问标准,
它真实地模仿远程终端但不具有图形
功能,只提供基于字符界面的访问。Telnet
允许任何合法用户提供远程访问权,且不
需特殊约定 |
|
口令(PASS) |
PASS ×××××× |
参数是标记用户口令的Telnet串。在访问
非匿名FTP服务器时,该命令是必需的 |
|
账号(ACCT) |
ACCT ×××××× |
参数是标记用户账户的Telnet串 |
|
重新初始化
(REIN) |
REIN |
该命令终止USER,将所有I/O和账户信
息写入,但不许进行中的数据传输完成。
重置所有参数,控制连接打开,可以再次
开始USER命令 |
|
退出登录
(QUIT) |
OUIT |
该命令终止USER,如果没有数据传输,
服务器关闭控制连接;如果有数据传输,
在得到传输响应后服务器关闭控制连接 |
|
放弃(ABOR) |
ABOR |
该命令用于通知服务中止以前的FTP命令
和与之相关的数据传送 |
|
改变工作目录
(CWD) |
CWD目录名 |
该命令使用户可以在不同的目录或数据集
下工作而不用改变它的登录或账户信息 |
|
回到上一层目
录(CDUP) |
CDUP |
该命令要求系统回到上一级目录 |
|
删除(DELE) |
DELE文件名 |
该命令删除指定路径下的文件 |
|
列举子目录或
文件(LIST) |
LIST目录名 |
该命令列举指定目录下的子目录或文件 |
|
列举子目录或
文件(NLST) |
NLST目录名 |
该命令列举指定目录下的子目录或文件 |