FTP协议简介

http://www.flyingporket.com/blog/petmastiff/archives/cat_1002934762.html



文件传输协议(File Transfer Protocol, FTP)是TCP/IP提供的用来将文件从一个主机拷贝到另一个主机的标准机制。

FTP需要在主机之间建立两个连接,一个用来传输数据,另一个用于控制信息(命令和响应)。命令和数据的分离使得FTP更有效率。控制连接使用非常简单的 通信规则,一次只需传送一行命令或者一行响应,数据连接则复杂得多。控制连接在整个FTP会话过程中保持连接,数据连接在每次文件传输时打开和关闭。 FTP使用两个知名TCP端口:端口21用于控制连接,端口20用于数据连接。

命令

由FTP客户端发送给FTP服务器的指令,ASCII码大写形式,某些命令包含参数,命令由回车符和换行符结束。命令可以分为6类:访问命令、文件管理命令、数据格式命令、端口定义命令、文件传输命令、杂项命令。

访问命令

命令

参数

描述

USER

User ID

用户名

PASS

User password

密码

ACCT

Account to be charged

收费账号

REIN

重新初始化

QUIT

从系统注销

ABOR

退出上一命令

文件管理命令

命令

参数

描述

CWD

Directory name

切换目录

CDUP

切换到父目录

DELE

File name

删除文件

LIST

Directory name

列举子目录或文件

NLST

Directory name

列举子目录或文件

MKD

Directory name

创建目录

PWD

显示当前路径

RMD

Directory name

删除目录

RNFR

File name (old )

注明文件将被改名

RNTO

File name (new)

重命名文件

SMNT

File system name

Mount一个文件系统

数据格式命令

命令

参数

描述

TYPE

A (ASCII), E (EBCDIC), I (Image), N (Nonprint), T (TELNET)

定义文件类型以及打印格式

STRU

F (File), R (Record), P (Page)

定义数据的组织形式

MODE

S (Stream), B (Block), C (Compressed)

定义传输模式

端口定义命令

命令

参数

描述

PORT

6-Digit identifier

客户端选择端口,格式为a,b,c,d,e,f,其中前4位为IP地址,后两位为端口,计算公式:端口= e×256 + f

PASV

服务器选择端口

文件传输命令

命令

参数

描述

RETR

File name(s)

获取文件

STOR

File name(s)

存储文件

APPE

File name(s)

与STOR类似,如果文件存在,数据附加在文件之后

STOU

File name

与STOR类似,文件必须唯一,否则文件不被重写

ALLO

File name(s)

在服务器上分配文件的空间

REST

File name

指明文件标志

STAT

File name(s)

返回文件状态

杂项命令

命令

参数

描述

HELP

定义文件类型以及打印格式

NOOP

检查Server是否存活

SITE

Commands

确定站点相关命令

响应

每个FTP命令至少产生一个响应。一个响应有两部分组成:一个三位数字xyz和文本。数字部分定义代码;文本部分定义所需的参数或者解释。

首位数字

首位数字定义命令的状态。

1yz (positive preliminary reply) 动作已经启动。服务器在接受其他命令前发送回应(reply)。

2yz (positive completion reply) 动作已完成。服务器可以接受其他命令。

3yz (positive intermediate reply) 命令已完成,但是需要更多的信息。

4yz (transient negative completion reply) 动作没有发生,但是错误是暂时的。随后可以继续发送该命令。

5yz (permanent negative completion reply) 命令未被接受,而且不应重试。

第二位数字

第二位数字同样定义命令的状态。

x0z (syntax)

x1z (information)

x2z (connections)

x3z (authentication and accounting)

x4z(unspecified)

x5z (file system)

第三位数字

第三位数字提供附加信息

下面是使用FTP获取服务器目录文件列表的示例

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值