什么是主动FTP和被动FTP
时间:2019-05-19 01:25:23 来源:igfitidea点击:
FTP (File Transfer Protocol)是基于TCP的服务。
FTP广泛用于在网络上传输文件。
有各种FTP服务器可以使用,如vsftpd, proftpd, pureftpd等。
FTP使用两个不同的端口
端口20用于数据端口,但数据端口并不总是在20端口上。
它可以在被动模式下改变。端口21用作命令端口。
根据服务器和客户端配置,FTP在两种不同的模式下工作,Active FTP和Passive FTP。
在本文中,我试图对主动FTP与被动FTP的定义进行一个明确的解释,希望这将有助于我们理解其工作原理。
主动FTP
在活动模式下,客户端从任意非特权端口(例如' X '(大于1023))连接到FTP服务器端口21。
客户端再次发送' X+1 '端口到FTP服务器,该端口在命令通道上被确认。
之后,FTP服务器在端口20上打开数据通道到客户端端口X+1。
- FTP客户端打开从客户端端口1050(例如,只有1050)到服务器端口21的命令通道。
- FTP客户端发送端口1051(1050 + 1)到FTP服务器,服务器在命令通道上确认。
- FTP服务器打开从服务器端口20到客户端端口1051的数据通道。
- FTP客户端确认数据通道。
被动FTP
在被动模式下,客户端从任何随机的非特权端口(例如' X '(大于1023))连接到FTP服务器端口21。
之后,客户端发送一个PASV信号到FTP服务器命令通道通知服务器使用被动模式。
FTP服务器发送回一个非特权端口(例如' Y '(大于1023))。
现在FTP客户端在“X+1”上打开数据通道到FTP服务器端口“Y”。
通过FTP服务器确认。
- FTP客户端打开从客户端端口1050(例如,只有1050)到服务器端口21的命令通道。
- FTP客户端发送PASV命令到服务器上的命令通道。
- 在开始监听端口之后,FTP服务器发送回(在命令通道上)端口1250(例如,仅发送回1250)。
- FTP客户端打开从客户端1051到服务器端口1250的数据通道。
- FTP服务器确认数据通道。