一.FTP相关知识
FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动(积极)式和被动(消极)式。
PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求, 服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT 命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的 XXXX端口发送连接请求,建立一条数据链路来传送数据。
PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV 命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。
从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同。主动跟被动,关键在于是不是服务器建立了数据链路。如果是即主动(积极)模式,反之,则为被动(消极)模式。
FTP命令
命令划分
命令码
命令名称
备注
访问控制命令
USER
用户名
PASS
口令
此命令紧跟USER命令,在某些站点它是完成访问控制不可缺少的一步
ACCT
ACCOUNT
CWD
改变工作目录
CDUP
回到上一层目录
SMNT
结构加载
此命令使用户在不改变登录或帐户信息的情况下加载另一个文件系统数据结构。传输参数也不变。参数是文件目录或与系统相关的文件集合
REIN
重新初始化
QUIT
退出登录
传输参数命令
PORT
数据端口
参数是要使用的数据连接端口
PASV
被动
此命令要求服务器DTP在指定的数据端口侦听,进入被动接收请求的状态,参数是主机和端口地址。
TYPE
表示类型
STRU
文件结构
F - 文件(非记录结构),它是默认值
R - 记录结构
P - 页结构
MODE
传输模式
S - 流(默认值)
B - 块
C - 压缩
FTP服务命令
RETR
获得文件
使服务器DTP传送指定路径内的文件复本到服务器或用户DTP
STOR
保存
STOU
唯一保存
此命令和STOR差不多,此命令要求在此目录下的文件名是唯一的
APPE
附加
ALLO
分配
REST
重新开始
RNFR
重命名
RNTO
重命名为
此命令和上面的命令共同完成对文件的重命名。
ABOR
放弃
DELE
删除
RMD
删除目录
MKD
创建目录
PWD
打印工作目录
LIST
列表
如果路径指定一个目录或许多文件,返回指定路径下的文件列表。如果路径名指定一个文件,服务器返回文件的当前信息,参数为空表示用户当前的工作目录或默认目录
NLST
SITE
站点参数
服务器用来提供服务器系统信息
SYST
系统
确定服务器上运行的操作系统。
STAT
状态
返回控制连接状态
HELP
帮助
NOOP
等待
此命令不产生什么实际动作,它仅使服务器返回OK。
有关FTP协议的详细,请阅读相关的RFC文档,这里不做赘述。
版权声明:本文为博主原创文章,未经博主允许不得转载。 |