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