`
luyuwww
  • 浏览: 96089 次
  • 性别: 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协议的命令与返回码详解.doc

    FTP命令是客户端与服务器之间通信的基础,通过这些命令可以实现文件的上传、下载、管理等操作。下面详细介绍各个命令: - **ABOR**:中断数据连接程序。当客户端需要中断正在进行的数据传输时使用此命令。 - **ACCT...

    ftp 错误码 ftp命令

    ### FTP错误码与命令解析 #### 一、FTP命令概览 ...以上命令和错误码是FTP协议中最基本的部分,理解和掌握它们对于正确使用FTP非常重要。通过这些命令和错误码,用户能够有效地管理和操作远程服务器上的文件。

    FTP协议的命令 与 返回码 详解

    8. **HELP **:用于获取关于某个FTP命令的帮助信息。 9. **LIST **:列出指定 `&lt;name&gt;` 的文件或目录的信息。如果未指定 `&lt;name&gt;`,则列出当前目录下的所有文件和子目录的信息。 10. **MODE **:设置数据传输...

    ftp命令详解--linux/unix

    以下是对标题和描述中涉及的FTP命令的详细解释: 1. `ftp [-v -d -i -n -g] [hostname]`:这是启动FTP客户端的基本命令,`hostname`是目标服务器的地址。`-v`表示启用详细输出,显示命令交互过程;`-d`开启调试模式...

    ftp命令和响应总结

    为了更好地理解和使用FTP,我们在此详细地总结了常用的FTP命令及其对应的响应码。 #### 1. FTP客户端命令详解 ##### 1.1 用户验证相关命令 - **USER**:提供用户名进行用户验证。 - **PASS**:提供密码进行用户...

    FTP基本命令的JAVA实现

    在JAVA中实现FTP命令主要是通过使用Java的Socket编程和相关类库,如java.net.Socket和java.net.ServerSocket等。下面将详细介绍如何使用JAVA实现FTP命令以及相关知识点。 1. **FTP命令处理** FTP命令分为控制命令...

    FTP中获取文件大小

    总结来说,Java的FTPClient类为我们提供了一种强大且方便的方式来与FTP服务器交互,包括获取文件大小、文件夹属性,以及执行各种FTP命令。了解并熟练运用这些功能,可以极大地提高我们在开发过程中处理文件传输的...

    支持ftp命令的远程cmd

    本文将详细讨论“支持ftp命令的远程cmd”这一技术主题,以及如何利用它来实现更高效的操作。 首先,让我们理解“远程cmd”。CMD,全称Command Prompt,是Windows操作系统中的命令行解释器,允许用户通过文本命令...

    FTP返回结果说明

    了解FTP返回结果的意义对于诊断和解决问题至关重要。当FTP客户端遇到问题时,通过查看返回代码,可以快速定位问题所在,是网络连接、文件权限、命令语法还是服务器配置问题。这有助于优化文件传输过程,提高工作效率...

    FTP术语 150文件状态良好,打开数据连接 ......

    - **应用场景**:在执行完任何FTP命令后,如`QUIT`、`USER`等,如果命令执行成功,服务器将返回此状态码。 #### 202 指令被接受,但未完全执行 - **含义**:这个状态码意味着命令已被接受,但还没有完全执行完毕。 ...

    FTP命令

    FTP协议的详细操作可以通过`FTP协议的命令与返回码详解.doc`文档获得更深入的了解,该文档可能涵盖了FTP命令的更多细节和每个返回码的具体含义,对于学习和使用FTP非常有帮助。在实际工作中,熟练掌握这些命令和返回...

    ftp错误代码查询信息

    FTP错误代码是系统在处理FTP操作时返回的状态码,它们帮助用户理解操作的执行情况,包括成功、警告或失败状态。从标题“ftp错误代码查询信息”以及描述“FTP信息代码详解:110-553”,我们可以深入探讨一系列重要的...

    webftp.zip ftp源码

    1. FTP服务器接口:与FTP服务器进行通信的代码,实现FTP命令的发送和接收。 2. 客户端界面:HTML和CSS文件构建用户界面,JavaScript代码处理用户交互。 3. 会话管理:处理用户登录、权限验证以及会话保持的相关逻辑...

    完整FTP客户端源代码

    控制连接用于发送FTP命令和接收响应,而数据连接用于实际的文件传输。 2. **命令与响应**: FTP客户端通过控制连接发送命令,如`USER`(登录用户名)、`PASS`(密码)、`CWD`(改变工作目录)、`LIST`(获取目录...

    ftp简单应用源代码,支持ftp文件上传和下载,对理解ftp协议有帮助

    通过分析这个"ftpApp"源代码,你可以学习如何实现这些功能,包括如何建立和管理控制连接,如何发送和解析FTP命令,以及如何处理数据连接进行文件上传和下载。此外,你还可以了解如何在实际环境中处理网络异常、错误...

    FTP标准协议及命令

    然而,大多数FTP控制帧是简单的ASCII文本,可以分为FTP命令或FTP消息。FTP消息是对FTP命令的响应,由带有解释文本的应答代码构成。 FTP命令可以分为以下几类: 1. 登录命令:USER、PASS、ACCT等,用于登录FTP...

    QT5.0实现FTP服务器

    通过阅读和分析这些代码,你可以了解具体的实现细节,包括如何处理网络通信、解析和响应FTP命令,以及如何处理文件操作。这是一个很好的学习资源,可以帮助你深入理解QT5.0网络编程和FTP协议的实现。

    FTP命令大全 LINUX

    熟练掌握这些FTP命令,不仅可以提高文件管理效率,还能避免因操作不当导致的数据丢失或错误。在实际使用中,根据不同的需求灵活运用这些命令,可以极大地提升工作效率。在Linux环境中,FTP命令是管理远程文件系统的...

    FTP 服务端 源码 和 ftp 客户端代码

    4. **错误处理(Error Handling)**: 处理网络问题和服务器返回的错误代码。 5. **用户界面(User Interface)**: 提供图形化的操作界面,让用户可以直观地浏览、选择和操作文件。 在vC++ 6.0环境下开发,需要注意...

    Delphi 实现FTP服务器与客户端源码

    4. **错误处理**:客户端需要处理服务器返回的各种响应代码,包括成功、警告和错误信息。 5. **用户界面**:为了提供良好的用户体验,客户端通常有一个图形用户界面(GUI),显示服务器目录结构,允许用户选择文件...

Global site tag (gtag.js) - Google Analytics