设为首页 收藏本站
查看: 1278|回复: 0

[经验分享] FTP 命令和错误返回码

[复制链接]

尚未签到

发表于 2016-6-9 11:11:02 | 显示全部楼层 |阅读模式
网上转过来
Ftp协议:RPC959

  命令和返回码:

  C-->S:命令

  S-->C:返回码

  每一个Ftp发送之后,Ftp服务器都会返回一个字符串,其中包括一个返回代码和一串说明信息。这个返回码主要是用于判断命令是否被成功执行了。除此之 外,还有一个非常重要的命令的返回。当发送PASV之后,返回“227 Entering Passive Mode (127,0,0,1,4,18)”。这意味着在服务器上有一个端口被开放,他将为我们后面接着的数据传输作好准备,但是我们如何知道该端口号呢,就在 (127,0,0,1,4,18)中,前面四位指服务器的地址,关键是最后两位,将最后第二位乘256再加上最后一位的值就是我们的端口号,也就是 4*256+18。取得端口号之后我们就可以用socket连接到这里。这为我们后面的工作作好准备了,因为我们的取得列表,上传,下载文件都要依靠它来 实现。

  一个非典型的ftp交互实例:

  Response: 220 Gene6 FTP Server v3.10.0 (Build 2) ready...

  Request: USER anonymous

  Response: 331 Password required for anonymous.

  Request: PASS notexist.com

  Response: 230 User anonymous logged in.

  Request: CWD board

  Response: 250 CWD command successful. "/board" is current directory.

  Request: TYPE I

  Response: 200 Type set to I.

  Request: SIZE 4saac062.zip

  Response: 213 248288

  Request: RETR 4saac062.zip

  Response: 150 Data connection accepted from x.x.x.x:2841; transfer starting for /board/4saac062.zip (248288 bytes)

  FTP命令:

  灰色的命令一般很少使用,所以往往在具体实现中不被支持,所以可能返回的信息是“500 'xx': command not understood”。

  命令 描述

  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> 由服务器提供的站点特殊参数

  SIZE〈FILENAME〉 文件大小,执行成功返回 213

  SMNT <pathname> 挂载指定文件结构

  STAT <directory> 在当前程序或目录上返回信息

  STOR <filename> 储存(复制)文件到服务器上

  STOU <filename> 储存文件到服务器名称上

  STRU <type> 数据结构(F=文件,R=记录,P=页面)

  SYST 返回服务器使用的操作系统

  TYPE <data type> 数据类型(A=ASCII,E=EBCDIC,I=binary)

  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 文件名不允许

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-228179-1-1.html 上篇帖子: FtpServer 中ftp协议消息的解析 下篇帖子: http,ftp实现上传和下载(上)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表