文件传输协议(FTP)使得主机间可以共享文件。 FTP 使用 TCP 生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连接用于数据传输。控制连接使用类似 TELNET 协议在主机间交换命令和消息。
FTP 的主要功能如下:
- 提供文件的共享(计算机程序 / 数据);
- 支持间接使用远程计算机;
- 使用户不因各类主机文件存储器系统的差异而受影响;
- 可靠且有效的传输数据。
FTP ,尽管可以直接被终端用户使用,但其应用主要还是通过程序实现。 FTP 控制帧即指 TELNET 交换信息,包含 TELNET 命令和选项。然而,大多数 FTP 控制帧是简单的 ASCII 文本,可以分为 FTP 命令或 FTP 消息。 FTP 消息是对 FTP 命令的响应,它由带有解释文本的应答代码构成。
| 协议结构
|
命令
| 描述
|
ABOR
| 中断数据连接程序
|
ACCT
| 系统特权帐号
|
ALLO
| 为服务器上的文件存储器分配字节
|
APPE
| 添加文件到服务器同名文件
|
CDUP
| 改变服务器上的父目录
|
CWD
| 改变服务器上的工作目录
|
DELE
| 删除服务器上的指定文件
|
HELP
| 返回指定命令信息
|
LIST
| 如果是文件名列出文件信息,如果是目录则列出文件列表
|
MODE
| 传输模式(S=流模式,B=块模式,C=压缩模式)
|
MKD
| 在服务器上建立指定目录
|
NLST
| 列出指定目录内容
|
NOOP
| 无动作,除了来自服务器上的承认
|
PASS
| 系统登录密码
|
PASV
| 请求服务器等待数据连接
|
PORT
| IP 地址和两字节的端口 ID
|
PWD
| 显示当前工作目录
|
QUIT
| 从 FTP 服务器上退出登录
|
REIN
| 重新初始化登录状态连接
|
REST
| 由特定偏移量重启文件传递
|
RETR
| 从服务器上找回(复制)文件
|
RMD
| 在服务器上删除指定目录
|
RNFR
| 对旧路径重命名
|
RNTO
| 对新路径重命名
|
SITE
| 由服务器提供的站点特殊参数
|
SMNT
| 挂载指定文件结构
|
STAT
| 在当前程序或目录上返回信息
|
STOR
| 储存(复制)文件到服务器上
|
STOU
| 储存文件到服务器名称上
|
STRU
| 数据结构(F=文件,R=记录,P=页面)
|
SYST
| 返回服务器使用的操作系统
|
TYPE
| 数据类型(A=ASCII,E=EBCDIC,I=binary)
|
USER >
| 系统登录的用户名
|
标准 FTP 信息如下:
|
响应代码
| 解释说明
|
110
| 新文件指示器上的重启标记
|
120
| 服务器准备就绪的时间(分钟数)
|
125
| 打开数据连接,开始传输
|
150
| 打开连接
|
200
| 成功
|
202
| 命令没有执行
|
211
| 系统状态回复
|
212
| 目录状态回复
|
213
| 文件状态回复
|
214
| 帮助信息回复
|
215
| 系统类型回复
|
220
| 服务就绪
|
221
| 退出网络
|
225
| 打开数据连接
|
226
| 结束数据连接
|
227
| 进入被动模式(IP 地址、ID 端口)
|
230
| 登录因特网
|
250
| 文件行为完成
|
257
| 路径名建立
|
331
| 要求密码
|
332
| 要求帐号
|
350
| 文件行为暂停
|
421
| 服务关闭
|
425
| 无法打开数据连接
|
426
| 结束连接
|
450
| 文件不可用
|
451
| 遇到本地错误
|
452
| 磁盘空间不足
|
500
| 无效命令
|
501
| 错误参数
|
502
| 命令没有执行
|
503
| 错误指令序列
|
504
| 无效命令参数
|
530
| 未登录网络
|
532
| 存储文件需要帐号
|
550
| 文件不可用
|
551
| 不知道的页类型
|
552
| 超过存储分配
|
553
| 文件名不允许
|
相关协议
| TELNET
|
组织来源
| FTP 由 IETF(http://www.ietf.org)在 RFC 959 中,并由2228、2640 和 2773 重新更新。
|