FTP 协议
1、了解 FTP 协议
2、使用在 Windows 操作系统上使用 serv - U 软件搭建 FTP 服务器
3、分析 FTP 流量
一、 FTP 协议
1、概念
FTP (文件传输协议),由两部分组成:客户端/服务器 C / S 架构,应用场景:企业内部存放公司文件,开发网站时,利用 FTP 协议将网页或程序传到网站服务器,网络中传输一些大文件也使用该协议
FTP :基于传输层 TCP 的,默认端口号(20号端口一般用于传输数据,21号端口用于传输控制信息),但是,是否使用20号端口作为传输数据端口和 FTP 的传输模式有关系
如果采用的主动模式:传输数据使用20号端口
如果采用的被动模式:传输数据使用的端口需要服务器和客户机协商决定
主动模式( port 方式)
建立连接使用21号端口,客户端通过此通道向服务器发送 port 命令,服务器从20号端口主动向客户端发起连接
被动模式( pasv ( passive )方式)
建立连接使用21号端口,客户端向服务器发送 pasv 命令,服务器收到会随机打开一个高端端口(大于1024),服务器在指定范围内的某个端口被动等待客户机连接
传输文件时的传输模式
文本模式: ASCII 模式,以文本序列传输
二进制模式: binary 模式,(视频、图片、应用程序等等)
二、 FTP 的客户端和服务端
1、服务端程序
· serv - U
. filezilla server (开源)
● vsftpd ( Linux 平台下)
. Windows server IIS ( FTP 发布服务)
2、客户端程序
命令行: ftp 192.168.10.10
资源管理器:ftp://192.168.10.10
浏览器:ftp://192.168.10.10
第三方工具
flashFXP
filezilla client
cuteftp
xftp
三、部署 FTP 服务器
1、针对于 FTP 的用户
匿名用户
anonymous 固定名称(某些 FTP 的服务端软件也可以使用 ftp 用户名作为匿名用户)
普通用户
2、针对于 SER - U 默认使用的被动模式
3、针对于FTP协议的状态码
1xx 肯定的初步答复。
110
重新启动标记答复。
120
服务已就绪,在nnn分钟后开始。
125
数据连接已打开,正在开始传输。
150 文件状态正常,准备打开数据连接。
2xx 肯定的完成答复。
200
命令确定。
202
未执行命令,站点上的命令过多。
211
系统状态,或系统帮助答复。
212
目录状态。
213
文件状态。
214
帮助消息。
215
NAME 系统类型,其中,NAME是Assigned Numbers文档中所列的正式系统名称。
220
服务就绪,可以执行新用户的请求。
221
服务关闭控制连接。如果适当,请注销。
225
数据连接打开,没有进行中的传输。
226
关闭数据连接。请求的文件操作已成功(例如,传输文件或放弃文件)。
227
进入被动模式(h1,h2,h3,h4,p1,p2)。
230
用户已登录,继续进行。
250
请求的文件操作正确,已完成。
257 已创建“PATHNAME”。
3xx 肯定的中间答复。
331
用户名正确,需要密码。
332
需要登录帐户。
350 请求的文件操作正在等待进一步的信息。
4xx 瞬态否定的完成答复
421
服务不可用,正在关闭控制连接。如果服务确定它必须关闭,将向任何命令发送这一应答。
425
无法打开数据连接。
426
Connection closed;transfer aborted.
450
未执行请求的文件操作。文件不可用(例如,文件繁忙)。
451
请求的操作异常终止:正在处理本地错误。
452 未执行请求的操作。系统存储空间不够。
5xx 永久性否定的完成答复
500
语法错误,命令无法识别。这可能包括诸如命令行太长之类的错误。
501
在参数中有语法错误。
502
未执行命令。
503
错误的命令序列。
504
未执行该参数的命令。
530
未登录。
532
存储文件需要帐户。
550
未执行请求的操作。文件不可用(例如,未找到文件,没有访问权限)。
551
请求的操作异常终止:未知的页面类型。
552
请求的文件操作异常终止:超出存储分配(对于当前目录或数据集)。
553 未执行请求的操作。不允许的文件名。