FTP命令与应答

Posted _Camille

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FTP命令与应答相关的知识,希望对你有一定的参考价值。

FTP命令

访问控制命令
USER :服务器上的用户名;
PASS :用户口令;
CWD或 XCWD :改变工作目录;
CDUP或 XCUP :回到上一层目录;
QUIT : 退出。
传输参数命令
PORT :数据端口,主要向服务器发送客户数据连接端口,格式为PORTh1,h2,h3,h4,p1,p2,其中32位的ip地址用h1,h2,h3,h4表示,16位的TCP端口号用p1,p2表示;
PASV :此命令要求服务器数据传输进程在随机端口上监听,进入被动接收请求的状态;
TYPE :文件类型,可指定ASCII码,二进制等;
STRU :文件结构;
MODE :传输模式。
服务命令
STOR :保存文件,向服务器传输文件,如果文件已存在,原文件将被覆盖,如果文件不存在,则新建文件;
APPE :与STOR功能类似,但如果文件在指定路径已存在,则把数据附加到原文件尾部,如果不存在,则新建文件;
LIST : 列出目录详细清单;
NLIST :列出名字列表;
REST重新开始,参数代表服务器要重新开始的那一点,它并不传送文件,而是略过指定点前的数据,此命令后应该跟其他要求文件传输的FTP命令;
ABOR :异常终止,此命令通知服务器终止以前的FTP命令和与之相关的数据传输,如果先前的操作已完成,则没有动作,返回226,如果没有没有完成,返回225;
PWD或XPWD :打印当前目录;
MKD或XMKD :新建目录;
RMD或XRMD :删除目录;
DELE :删除文件;
RNFR,RNTO :重命名;
SITE或CHMOD :修改权限;
SYST :获取系统信息;
FEAT :服务器特性;
SIZE :获得文件大小;
STAT :返回服务器状态;
NOOP : 该命令不指定任何动作,只是要求服务器返回OK响应;
HELP :帮助。

FTP应答

格式:

服务器通过控制连接发送给客户端的FTP应答,由ASCII码形式的3位数字和一行文本提示信息组
,它们之间用一个空格分隔应答信息的每行文本以回车和换行对结尾,如果需要产生一条多行的应答,第一行在3位数字应答代码之后包含一个连字符“-”,而不是空格符,最后一行包含相同的3位数字应答码,后跟一个空格
符。

作用

确保在文件传输过程中的请求和正在执行的动作保持一致保证用户程序总是可以得到服务器的状态信息,用户可以根据收到的状态信息对服务器是否正常执行了有关操作进行判定。

应答数字说明

第一位数字标识了响应是好,是坏或者未完成
1yz: 预备状态
2yz: 完成状态
3yz: 中间状态
4yz: 暂时拒绝状态
5yz :永久拒绝状态

第二位数相应大概是发生了什么错误(比如,文件系统错误,语法错误等)
x0z :语法 –这种响应指出了有语法错误
x1z: 信息 –对于请求信息的响应,比如对状态或帮助的请求
x2z: 连接 –关于控制连接和数据连接的响应
x3z :身份验证和账户 –对登录过程和账户处理的响应
x4z :未使用
x5z :文件系统 –请求传输时服务器文件系统的状态或其他文件系统动作状态

第三位为第二位数字更详细的说明
如:
500 Syntax error, command unrecognized(语法错误,命令不能被识别)
501 (参数语法错误)
502(命令没有实现)
503(命令顺序错误)
504(没有实现这个命令参数)

以上是关于FTP命令与应答的主要内容,如果未能解决你的问题,请参考以下文章

FTP(TFTP)的下载与上传,连接命令

网络协议-P2P协议

浅谈防火墙对FTP的影响及故障排除

FTP的主动模式与被动模式

FTP 协议与NFS协议

FTP主动模式与被动模式,及java FTPClient模式设置