FTP协议在工作时开启两个端口,一个用与服务器与客户机之间传输控制命令(通常为 21) ,一个用来传输数据。并且根据实际情况的不同,有主动被动模式之分(主动被动仅对服务器而言) PORT(主动模式)
默认FTP客户端工作在主动模式下,客户端指定数据传输端口,服务器主动去连接客户端。 PASSIVE (被动模式)
当FTP客户端采用被动模式连接时, 服务器指定数据传输端口,服务器被动等待客户端连接。 通常默认的FTP客户端均采取主动模式,即等待服务器主动连接,同时也为了避免NAT代理服务器 防火墙等影响,有更改为被动模式的选项。 下面的图表会帮助管理员们记住每种FTP方式是怎样工作的: FTP主动模式: 命令连接:客户端 >1023端口 -> 服务器 21端口 数据连接:客户端 >1023端口 <- 服务器 20端口 FTP被动模式: 命令连接:客户端 >1023端口 -> 服务器 21端口 数据连接:客户端 >1023端口 -> 服务器 >1023端口 下面是FTP主动模式与被动模式优缺点的简要总结: 主动FTP对FTP服务器的管理有利,但对客户端的管理不利。因为FTP服务器企图与客户 端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉。被动FTP对FTP客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。幸运的是,有折衷的办法。既然FTP服务器的管理员需要他们的服务器有最多的客户连接,那么必须得支持被动FTP。我们可以通过为FTP服务器指定一个有限的端口范围来减小服务器高位端口的暴露。这样,不在这个范围的任何端口会被服务器的防火墙阻塞。虽然这没有消除所有针对服务器的危险,但它大大减少了危险。 |