网络基础知识:FTP命令及应答码
在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命令及应答码相关推荐
- 电脑网络基础知识:ipconfig/all命令及nslookupDns查询命令
电脑网络基础知识:ipconfig/all命令及nslookupDns查询命令 一.ipconfig/all的使用方法 在电脑中通过命令提示符执行命令ipconfig可以查询电脑ip.mac等配置信息 ...
- cmd 220 ftp 远程主机关闭连接_网络基础知识:FTP工作流程
微信公众号:计算机与网络安全 ID:Computer-network FTP与大多数Internet服务一样,使用的也是"客户端/服务器"模式.用户通过一个支持FTP协议的客户机程 ...
- linux系统网络基础知识
一,前言 一个运维有时也要和网络打交道,所以具备最基本的网络知识,对一个运维人员来说是必要的.但,对于我们的工作来说这些并不是重点,因此,我不可能从最基础的网络知识开始讲起.本节内容更多是从一个梳理和 ...
- 史上最详细网络基础知识
网络技术的基本原理: 1. 网络层次划分 2. OSI七层网络模型 3. IP地址 4. 子网掩码及网络划分 5. ARP/RARP协议 6. 路由选择协议 7. TCP/IP协议 8. UDP协议 ...
- 软件测试之第六章 网络基础知识
第六章 网络基础知识 一.计算机网络基本概念与分类 1 计算机网络的定义 计算机网络是在网络协议的控制下,通过通信设备和线路将分布在不同地理位置,且具有独立功能的多个计算机系统连接起来,通过网络操作系 ...
- 收藏100个网络基础知识
100 个网络基础知识普及,看完成半个网络高手! 1)什么是链接? 链接是指两个设备之间的连接.它包括用于一个设备能够与另一个设备通信的电缆类型和协议. 2)OSI 参考模型的层次是什么? 有 7 个 ...
- 第二十六期:100 个网络基础知识普及,看完成半个网络高手
本篇文章是关于100个网络基础知识普及,看完成半个网络高手!下面,我们一起来看. 作者:佚名来源 本篇文章是关于100个网络基础知识普及,看完成半个网络高手!下面,我们一起来看. 1)什么是链接? 链 ...
- 网络基础知识汇总学习
一.网线(双绞线)连接线的制作 双绞线制作有 568A 和 568B 两个标准,日常以 568B 标准较常用. 568B 标准按颜色排序为: 1- 橙白. 2- 橙.3- 绿白.4- 蓝. 5- 蓝白 ...
- 【Linux网络编程】网络基础知识
00. 目录 文章目录 00. 目录 01. 网络基础知识 02. 附录 01. 网络基础知识 1)什么是链接? 链接是指两个设备之间的连接.它包括用于一个设备能够与另一个设备通信的电缆类型和协议. ...
最新文章
- 练习题 James and Dominoes
- 01-1. 最大子列和问题
- 4.边缘光照的描边shader
- Java中各种整形类型可以表示的范围
- ios android分享代码,快速插入代码块——iOS Android
- 7月-伟大的事业,一般都是在下半年完成的
- 最长回文子串_5. 最长回文子串
- 基于php的人力资源管理系统,基于thinkPHP框架的人力资源管理系统
- 怎么去掉360导航页
- 软件需求工程 高校教学平台 测试计划
- 拉钩网前端项目实战02
- 物品分类游戏html5,幼儿物品分类教案
- 新存储、新格局、新飞跃,浪潮存储应时而来
- Boost 之 lexical_cast
- 当Myeclipse或者Eclipse出现launching client
- Android双屏异显以及原理分析
- python 找出其中不含有重复字符的最长子串的长度
- 利用turtle库绘制五角星(以及填充)
- Ubuntu20.04安装Nvidia显卡驱动后屏幕不显示的问题
- java屏蔽游戏中骂人的话,替换为*,屏蔽敏感词汇
热门文章
- B00010 map
- Eclipse 工程配置与目录结构及各种文件夹(常用插件)
- 机器学习编程接口(api)设计(oop 设计)
- 面向对象特性、使用面向对象编程的场合
- matlab 交换矩阵的行和列
- 熟悉 CMake (三)—— 配置 opencv3
- Spark 基础 —— sc.broadcast
- 面试中的智力题及编程实践
- linux作为一个开发服务器,怎样搭建一个linux开发服务器
- lisp 任意点 曲线距离_lisp程序能求多段线上任意一点到其中一个端点的距离,,每次要量桩号很烦...哪位大侠给个..谢谢了...........