`
luyuwww
  • 浏览: 95094 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

FTP 命令和错误返回码

阅读更多
网上转过来
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 文件名不允许
分享到:
评论

相关推荐

    ftp命令详解--linux/unix

    ftp命令的详细讲解,对于经常在linux/unix下进程文件传输的人员是份不错的参考资料。

    Apache FtpServer 1.0.6

    Apache FtpServer是一个100%纯Java的、基于现有开放式协议基础上、完整、小巧的FTP服务器。此外,FtpServer还可以作为...STAT命令返回错误200状态; STAT/creates 无效的目录清单; FtpServer的核心不再需要ORO;

    Serv-U FTP Server v7.0.0.2

    - 修正了 MLST/MLSD 中 Serv-U 返回的文件时间误差 1 小时的错误,这是因为服务器当前以夏时制运行而文件日期和时间并未采用夏时制,反之亦然。 - 修正了以下错误:当使用包含通配符的字符串指定完整的路径时,"子...

    C# FTP,GetResponse(),远程服务器返回错误

    FtpWebRequest类实现ftp功能的一般过程 1、创建一个FtpWebRequest对象,指向ftp服务器的uri 2、设置ftp的执行方法(上传,下载等) 3、给FtpWebRequest对象设置属性(是否支持ssl,是否使用二进制传输等) 4、设置...

    cmd操作命令和linux命令大全收集

    fc one.txt two.txt &gt; 3st.txt 对比二个文件并把不同之处输出到3st.txt文件中,"&gt; "和"&gt; &gt;" 是重定向命令 at id号 开启已注册的某个计划任务 at /delete 停止所有计划任务,用参数/yes则不需要确认就直接停止 at ...

    windows实用dos命令大全

    (2)可自动检测出磁盘中所发生的交叉连接、丢失簇和目录结构等逻辑上的错误,并加以修复。  (八)DEFRAG——重整磁盘命令  1.。功能:整理磁盘,消除磁盘碎块。  2.类型:外部命令  3.格式:DEFRAG[盘符:]...

    简单的ftp服务器

    xcode编程实现简单的ftp服务器,可以持续监听接受客户端发来的命令(“!!”区别)。对命令进行相应的返回,并且还有相关的错误处理提示。

    Serv-U最新注册版

    - 修正了 MLST/MLSD 中 Serv-U 返回的文件时间误差 1 小时的错误,这是因为服务器当前以夏时制运行而文件日期和时间并未采用夏时制,反之亦然。 - 修正了以下错误:当使用包含通配符的字符串指定完整的路径时,"子...

    shell编程和unix命令

    5.8 结合使用标准输出和标准错误 43 5.9 合并标准输出和标准错误 43 5.10 exec 44 5.11 使用文件描述符 44 5.12 小结 45 第6章 命令执行顺序 46 6.1 使用&& 46 6.2 使用|| 46 6.3 用()和{ }将命令结合在一起 47 ...

    bookwormFTP:Golang FTP 库

    ###Client 初始化####Default 客户端实例化默认客户端初始化会抛出.NewClient("URL")的用法,并将返回第一个遇到的错误或对已连接客户端的引用。 连接时客户端会根据具体上下文执行一系列命令: LogIn :客户端将...

    精易官方免费模块v3.60版

    2.删除“窗口_消毁” 这个重复命令,该命令和“窗口_关闭”是一样的 感谢 改名卡 的提醒 3.删除“网页_取文本” 增加2个速度更快的命令“网页_取文本_reg”和“网页_取文本_dom” 4.删除“内存_优化” 在程序最小化...

    路由器最后所有的不死UBOOT。150427版。

    路由器最后的所有不死UBOOT,15年0427版,作者都删了。有些感觉比BREED好用,BREED有些超频不管用。不要分要的拿去。

    CURL用法大全

    quote命令从服务器返回错误。 22:HTTP 找不到网页。找不到所请求的URL或返回另一个HTTP 400或以上错误。此返回代码只出现在使用了-f/–fail选项以后。 23:写入错误。cURL无法向本地文件系统或类似目的写入数据。 25:...

    WINRAR5.0正式注册版

    'v' 和 'l' 命令在行的末尾显示压缩的文件名,不是和以前一样显示在前面。以前仅在 ‘l’和‘v’中输出的某些字段现在仅由‘lt’和‘vt’显示。 'vt' 和 'lt' 命令提供每个压缩了的文件的详细多行信息。 'vta...

    精易模块[源码] V5.15

    3、新增“编码_Ansi到十进制_文本型”此代码由易友【菜虫】提供,将Ansi码转换为十进制,如:将“精易论坛”转换后将返回格式如:“&#48811&#53975&#49883&#52403”。 4、新增“目录_取运行目录”取当前被执行的易...

    精易编程助手3.3+精易模块v6.3.1

    7、修复“网页_取cookie”内部命令错误的返回值的BUG;感谢【@夜的静night 】反馈 8、修复“网页_cookie合并更新”去除空格过多的导致返回值错误的BUG;感谢【@黑白郎君 】反馈 三、优化 1、优化“窗口_自绘解析”...

    UNIX Handbook

    38.kill命令和trap命令 50 39.操作系统和数据库检查(IBM)(一):检查核心参数的配置 51 40.操作系统和数据库检查(IBM)(二):检查时区的配置 52 41.操作系统和数据库检查(IBM)(三):检查硬件错误 52 ...

    PHP和MySQL Web开发第4版pdf以及源码

    第7章 错误和 异常处理 7.1 异常处理的概念 7.2 Exception类 7.3 用户自定义异常 7.4 Bob的汽车零部件商店应用程序的异常 7.5 异常和PHP的其他错误处理机制 7.6 进一步学习 7.7 下一章 第二篇 使用MySQL 第...

Global site tag (gtag.js) - Google Analytics