一、介绍
FTP 文件传输协议
FTP百度百科介绍
二、工作流程
1.FTP工作流程主要是通过控制连接和数据连接两个过程。
(1)控制连接:
FTP客户端通过TCP三次握手连接FTP服务器的21端口;
FTP服务器响应准备后,需要客户端提供USER用户名,PASS密码;
FTP服务器响应成功;
FTP客户端则根据请求指令PWD获取当前路径;
FTP服务器响应并给出当前路径;
FTP客户端指定传输数据的类型和工作模式。
(2)数据连接
工作模式两种:被动pasv/主动port
主动模式:FTP客户端提供XXX端口号,让FTP服务器去连接
FTP服务器(端口号20)通过TCP三次握手连接FTP客户端
FTP客户端请求下载文件 使用命令PORT 上传文件 使用命令RETR
FTP服务器与客户端之间通过FTP-DATA protocol 进行数据传输
传输完成,服务器会给客户端提供响应信息
FTP客户端与服务器之间四次挥手断开连接,FTP结束。
被动模式:FTP服务器提供高位随机端口以供FTP客户端进行连接
FTP客户端请求下载文件 使用命令PORT 上传文件 使用命令RETR
FTP服务器与客户端之间通过FTP-DATA protocol 进行数据传输
传输完成,服务器会给客户端提供响应信息
FTP客户端与服务器之间四次挥手断开连接,FTP结束。
三、被动模式主动模式
主动模式对FTP服务器的管理有利,因为FTP服务器只需要开启21端口的“准入”和20端口的“准出”即可。
但这种模式对客户端的管理不利,因为FTP服务器20端口连接客户端的数据端口时,有可能被客户端的防火墙拦截掉。
被动模式对FTP客户端的管理有利,因为客户端的命令端口和数据端口都是“准出”,windows防火墙对于“准出”一般是不拦截的,所以客户端不需要任何多余的配置就可以连接FTP服务器了。但对服务器端的管理不利。因为客户端数据端口连到FTP服务器的数据端口P时,很有可能被服务器端的防火墙阻塞掉。