目录
一、FTP概述
1.FTP简介
FTP (File TransferProtocol,文件传输协议) 是典型的c/s架构的应用层协议,需要由服务端软件、客户端软件两个部分共同实现文件传输功能。FTP客户端和服务器之间的连接是可靠的,面向连接的,为数据的传输提供了可靠的保证。
2.FTP两种传输协议模式
FTP是一种文件传输协议,它支持两种模式:
2.1Standard模式
Standard模式(也就是Active,主动方式) FTP 客户端首先和FTP Server的TCP。21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口发送数据。FTPserver必须和客户端建立一个新的连接用来传送数据
2.2Passive模式
Passive模式(也就是PASV,被动方式) 在建立控制通道的时候和Standard模式类似,当客户端通过这个通道发送PASV命令的时候, FTPserver打开一个位于1024和5000之间的随机端口并且通知客户端在这个端口上传送数据的请求,然后FTP server将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接
二.FTP作用与工作原理
1.FTP的作用和模式以及通信方式
1.1FTP的作用
- Internet 上用来传送文件的协议
1.2FTP服务器默认使用两种端口
- 20端口:用于建立数据连接,并传输文件数据
- 21端口:用于建立控制连接,并传输FTP控制命令
2. FTP工作原理与流程
FTP数据连接分为两种模式:
2.1主动模式的工作原理
FTP客户端连接到FTP 服务器的21号端口,发送用户名和密码,客户端随机开放一个端口(1024以上),发送PORT命令到FTP服务器,告知服务器客户端采用主动模式并开放端口,FTP服务器收到PORT主动模式命令和端口后,通过服务器的20号端口和客户端开放的端口连接,发送数据
服务器主动发起数据连接
2.2 被动模式的工作原理
PASV是Passive的缩写,中文成为被动模式,工作原理:FTP客户端连接到FTP服务器所监听的21号端口,发送用户名和密码,发送PASV命令到FTP服务器,服务器在本地随机开放一个端口(1024以上),然后把开放的端口告知客户端,而后客户端再连接到服务器开放的端口进行数据传输
服务器被动等待数据连接