目录
一、FTP服务
FTP(file Transfer Protocol,文件传输协议),是典型的C/S架构的应用层协议,由客户端软件和服务端软件两个部分共同实现文件传输功能,FTP客户端和服务器之间的连接时可靠的,面向连接的,为数据的传输提供了可靠的保证。
FTP 是TCP传输协议,主要使用20和21端口
20端口用来传输数据
21端口用来建立连接(传输指令)
FTP是一种文件传输协议,它支持两种模式
一种叫做Standard(也就是Active,主动方式),客户端发送PORT命令到服务器。
另一种叫做Passive(也就是PASV被动方式),客户端发送PASV命令到服务器。
二、FTP的作用和接口信息
FTP的作用
internet上用来传输文件的协议
FTP服务器的接口信息
20端口用于建立数据连接,并传输文件数据
21端口用于建立控制连接,并传输FTP的控制命令
三、FTP的工作原理和流程
FTP数据连接分为主动模式和被动模式
FTP会话包含了两个通道, 控制通道 和 数据传输通道 ,FTP的工作有两种模式,一种是主动模式,一种的被动模式,以FTP server为参照。
主动模式: 服务器主动连接客户端传输
被动模式: 服务器等待客户端连接。
注意:无论是主动还是被动模式,首先控制通道都是先建立起来,只是在数据传输模式上的区别。
1、主动模式
FTP客户端连接到FTP服务端的21号端口,发送用户名和密码,客户端随机开放一个端口(高位端口:1024以上),发送PORT命令到FTP服务器,告知服务器客户端采用主动模式,并开放端口,FTP服务器收到PORT主动模式命令和端口后,通过服务器的20号端口和客户端开放的端口连接,发送数据。
解释: 主动模式就是:客户端开放一个高位端口连接到FTP服务器的21号端口,发送用户名和密码和PORT命令以及自己开放的高位端口号,告知FTP服务器、客户端采用的是主动模式,FTP服务器收到PORT命令和端口后,通过自己的20号端口来和客户端另一个端口号进行连接,发送数据
注意:主动模式的情况,客户端必须关闭防火墙,否则无法传输数据。
2、被动模式
FTP客户端连接到FTP服务器所监听的21号端口,发送用户名和密码,还有PASV命令到FTP服务器,服务器在本地随机开放一个端口(1024以上),然后把开放的端口告知客户端,然后客户端再连接到服务器开放的端口进行数据传输。