在FTP工作流程中,客户端成功连接FTP服务器以后,进行身份验证、执行FTP命令等操作。这些操作都是客户端向FTP服务器发出的请求,而这些请求实际上是在发送FTP命令。对于每一个请求,服务器都会返回对应的应答码。例如,客户端输入用户名,实际上就是在发送FTP子命令。该子命令为USER,表示服务器上的用户名。FTP命令及应答码信息如下:

Name (192.168.59.135:root): sm                        #FTP命令, 这里为用户名sm
331 User name ok, need password                       #FTP应答码, 这里为331

上述操作,通过抓包可以查看到对应的 FTP 命令和应答码,如图所示。

上图中第 8 个数据包为客户端向 FTP 服务器发送的 FTP 命令,命令为 USER,其中 sm 表示客户端输入的用户名。第 9 个数据包为 FTP 服务器对该请求返回的应答,应答码为 331。
客户端与 FTP 服务器之间进行文件传输时,可以执行多种操作。常见的 FTP 命令如表所示。

FTP 命令

FTP 命令 说明
ABOR 使服务器终止前一个 FTP 服务命令,以及任何相关数据传输
ACCT<account> 使用一个 Telnet 字符串来指明用户的账户
ALLO<bytes> 为服务器上的文件存储器分配空间
APPE<filename> 添加文件到服务器同名文件
CDUP<dir path> 改变服务器上的父目录
CWD<dir path> 改变服务器上的工作目录
DELE<filename> 删除服务器上的指定文件
EPSV 进入扩展被动模式
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> 由服务器提供的站点特殊参数
SMNT<pathname> 挂载指定文件结构
STAT<directory> 在当前程序或目录上返回信息
STOR<filename> 储存(复制)文件到服务器上
STOU<filename> 储存文件到服务器名称上
STRU<type> 数据结构(F=文件、R=记录、P=页面)
SYST 返回服务器使用的操作系统
TYPE<data type> 数据类型(A=ASCII、E=EBCDIC、I=binary)
USER<username>> 系统登录的用户名

而常见的 FTP 应答如表所示。

FTP 应答

应答码 说明
110 新文件指示器上的重启标记
120 服务器准备就绪的时间(分钟数)
125 打开数据连接,开始传输
150 打开数据连接
200 就绪命令(命令成功)
202 命令没有执行
211 系统状态回复
212 目录状态回复
213 文件状态回复
214 帮助信息回复
215 系统类型回复
220 服务就绪
221 退出 FTP
225 打开数据连接
226 结束数据连接(下载完成、目录列表完成等)
227 进入被动模式(IP 地址、ID 端口)
230 成功登录 FTP 服务
250 完成目录切换
257 路径名建立
331 要求密码
332 要求账号
350 文件行为暂停
421 服务关闭
425 无法打开数据连接
426 结束连接
450 文件不可用
451 遇到本地错误
452 磁盘空间不足
500 无效命令
501 错误参数
502 命令没有执行
503 错误指令序列
504 无效命令参数
530 登录 FTP 服务失败
532 存储文件需要账号
550 文件不存在
551 不知道的页类型
552 超过存储分配
553 文件名不允许

网络基础知识:FTP命令及应答码相关推荐

  1. 电脑网络基础知识:ipconfig/all命令及nslookupDns查询命令

    电脑网络基础知识:ipconfig/all命令及nslookupDns查询命令 一.ipconfig/all的使用方法 在电脑中通过命令提示符执行命令ipconfig可以查询电脑ip.mac等配置信息 ...

  2. cmd 220 ftp 远程主机关闭连接_网络基础知识:FTP工作流程

    微信公众号:计算机与网络安全 ID:Computer-network FTP与大多数Internet服务一样,使用的也是"客户端/服务器"模式.用户通过一个支持FTP协议的客户机程 ...

  3. linux系统网络基础知识

    一,前言 一个运维有时也要和网络打交道,所以具备最基本的网络知识,对一个运维人员来说是必要的.但,对于我们的工作来说这些并不是重点,因此,我不可能从最基础的网络知识开始讲起.本节内容更多是从一个梳理和 ...

  4. 史上最详细网络基础知识

    网络技术的基本原理: 1. 网络层次划分 2. OSI七层网络模型 3. IP地址 4. 子网掩码及网络划分 5. ARP/RARP协议 6. 路由选择协议 7. TCP/IP协议 8. UDP协议 ...

  5. 软件测试之第六章 网络基础知识

    第六章 网络基础知识 一.计算机网络基本概念与分类 1 计算机网络的定义 计算机网络是在网络协议的控制下,通过通信设备和线路将分布在不同地理位置,且具有独立功能的多个计算机系统连接起来,通过网络操作系 ...

  6. 收藏100个网络基础知识

    100 个网络基础知识普及,看完成半个网络高手! 1)什么是链接? 链接是指两个设备之间的连接.它包括用于一个设备能够与另一个设备通信的电缆类型和协议. 2)OSI 参考模型的层次是什么? 有 7 个 ...

  7. 第二十六期:100 个网络基础知识普及,看完成半个网络高手

    本篇文章是关于100个网络基础知识普及,看完成半个网络高手!下面,我们一起来看. 作者:佚名来源 本篇文章是关于100个网络基础知识普及,看完成半个网络高手!下面,我们一起来看. 1)什么是链接? 链 ...

  8. 网络基础知识汇总学习

    一.网线(双绞线)连接线的制作 双绞线制作有 568A 和 568B 两个标准,日常以 568B 标准较常用. 568B 标准按颜色排序为: 1- 橙白. 2- 橙.3- 绿白.4- 蓝. 5- 蓝白 ...

  9. 【Linux网络编程】网络基础知识

    00. 目录 文章目录 00. 目录 01. 网络基础知识 02. 附录 01. 网络基础知识 1)什么是链接? 链接是指两个设备之间的连接.它包括用于一个设备能够与另一个设备通信的电缆类型和协议. ...

最新文章

  1. 练习题 James and Dominoes
  2. 01-1. 最大子列和问题
  3. 4.边缘光照的描边shader
  4. Java中各种整形类型可以表示的范围
  5. ios android分享代码,快速插入代码块——iOS Android
  6. 7月-伟大的事业,一般都是在下半年完成的
  7. 最长回文子串_5. 最长回文子串
  8. 基于php的人力资源管理系统,基于thinkPHP框架的人力资源管理系统
  9. 怎么去掉360导航页
  10. 软件需求工程 高校教学平台 测试计划
  11. 拉钩网前端项目实战02
  12. 物品分类游戏html5,幼儿物品分类教案
  13. 新存储、新格局、新飞跃,浪潮存储应时而来
  14. Boost 之 lexical_cast
  15. 当Myeclipse或者Eclipse出现launching client
  16. Android双屏异显以及原理分析
  17. python 找出其中不含有重复字符的最长子串的长度
  18. 利用turtle库绘制五角星(以及填充)
  19. Ubuntu20.04安装Nvidia显卡驱动后屏幕不显示的问题
  20. java屏蔽游戏中骂人的话,替换为*,屏蔽敏感词汇

热门文章

  1. B00010 map
  2. Eclipse 工程配置与目录结构及各种文件夹(常用插件)
  3. 机器学习编程接口(api)设计(oop 设计)
  4. 面向对象特性、使用面向对象编程的场合
  5. matlab 交换矩阵的行和列
  6. 熟悉 CMake (三)—— 配置 opencv3
  7. Spark 基础 —— sc.broadcast
  8. 面试中的智力题及编程实践
  9. linux作为一个开发服务器,怎样搭建一个linux开发服务器
  10. lisp 任意点 曲线距离_lisp程序能求多段线上任意一点到其中一个端点的距离,,每次要量桩号很烦...哪位大侠给个..谢谢了...........