FTP(File Transfer Protocol)文件传输协议,尤其是大型文件系统的传输使用FTP更为方便。使用FTP进行文件传输有一程度的危险性,因为数据在因特网上面是完全没有受到保护的明文传输方式。
常见的FTP:vsftpd、ProFTPD
FTP的传输使用的是TCP数据包协议,TCP建立连接前会先进行三次握手,由于FTP服务器使用了两个连接,分别是命令通道与数据流通道,所以这两个连接都要经过三次握手。
- 建立命令通道连接
客户端会随机取一个大于1024以上的端口(Port X)来与FTP服务器端的21实现连接。这个过程需要三次握手。实现连接后客户端便可以通过这个连接来对FTP服务器执行命令,查询文件、下载、上传等命令都是利用这个通道来执行的。
- 告知FTP服务器端使用Actiove(也称之为PORT方式)且告知连接的端口号
FTP服务器通过21端口执行命令,牵涉到数据流时,会告知服务器用什么方式来连接,如果是主动方式,客户端会随机启用一个端口(上图中Y),且通过命令通道告知FTP服务器这两个信息,并等待FTP服务器的连接