案例分析

FTP文件传输应用分析

2020-09-08 23:24:52 sanyineng 317

1. 文件传输

文件传输服务是网络互联环境所必需的一种服务,当前网络中文件传输最主要的传输方式是使用FTP协议。

FTP,全称File Transfer Protocol,中文名为文件传输协议,它可以在网络中传输电子文档、图片、声音、影视、程序及程序等多种类型的文件。如果用户需要将文件从自己的计算机上发送到另一台计算机上,可使用FTP上传(upload)或(put)操作,而更多种的情况是用户使用FTP下载(download)或获取(get)操作从FTP服务器上下载文件。

2. FTP工作原理

一个完整的FTP文件传输需要建立两种类型的连接,一种为文件传输下命令,称为控制连接,另一种实现真正的文件传输,称为数据连接。

1) 控制连接

客户端希望与FTP服务器建立上传下载的数据传输时,它首先向服务器的TCP 21端口发起一个建立连接的请求,FTP服务器接受来自客户端的请求,完成连接的建立过程,这样的连接就称为FTP控制连接。

2) 数据连接

FTP控制连接建立之后,即可开始传输文件,传输文件的连接称为FTP数据连接。FTP数据连接就是FTP传输数据的过程,它有两种传输模式:主动传输模式(PORT)和被动传输模式(PASSIVE,简称PASV)。主动传输模式下,FTP服务器使用20端口与客户端的暂时端口进行连接,并传输数据,客户端只是处于接收状态。被动传输模式下,FTP服务器打开一个暂态端口等待客户端对其进行连接,并传输数据,服务器并不参与数据的主动传输,只是被动接受。

3. FTP命令

FTP传输过程中所有的操作都是通过在客户端发送命令完成的,FTP常见的命令如表1所示。

| USER | 为用户验证提供用户名
|
| PASS | 为用户验证提供密码 |
| PWD | 输出FTP服务器的当前工作目录 |
| TYPE | 设置传输的文件类型 |
| SYST | 获取FTP服务器的操作系统 |
| LIST | 获取FTP服务器上当前目录的文件列表 |
| PORT | 指定使用主动模式进行数据传输 |
| PASV | 指定使用被动模式进行数据传输 |
| HELP | 从FTP服务器上获取帮助文件 |
| STOR | 从客户端上传指定的文件到FTP服务器 |

4. FTP应答

FTP常见的应答代码如表2所示。

| 125 | 打开数据连接,且此连接可用于数据传输 |
| 200 | 命令被成功执行 |
| 211 | FTP服务器忙 |
| 212 | FTP服务器返回当前的目录状态给客户端 |
| 213 | FTP服务器返回当前的文件状态给客户端 |
| 214 | FTP服务器返回用户请求的帮助信息 |
| 226 | FTP服务器返回文件传输完成的消息给客户端 |
| 331 | FTP服务器返回用户名正确,需要密码的消息给客户端 |
| 425 | FTP服务器返回不能打开数据连接的消息给客户端 |
| 452 | FTP服务器返回写文件错的消息给客户端,可能是空间不足 |