分析FTP主动模式与被动模式的优缺点

FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接:一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。

FTP协议有两种工作方式:主动模式(PORT)和被动模式(PASV)。

主动模式(PORT)

主动模式是从服务器端向客户端发起连接,被动模式是客户端向服务器端发起连接。两者的共同点是都使用21端口进行用户验证及管理,差别在于传送数据的方式不同,主动模式的FTP服务器数据固定在20端口,而被动模式则在1025-65535端口之间随机。

主动模式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求, 建立一条数据链路来传送数据。

被动模式(PASV)

被动模式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。

概括:

●主动模式:服务器向客户端敲门,然后客户端开门。

被动模式:客户端向服务器敲门,然后服务器开门。

在被动模式FTP中,命令连接和数据连接都由客户端发起,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题。

所以,如果你是如果通过代理上网的话,就不能用主动模式,因为服务器敲的是上网代理服务器的门,而不是敲客户端的门。而且有时候,客户端也不是轻易就开门的,因为有防火墙阻挡,除非客户端开放大于1024的高端端口。

搭建的FTP服务,需要通过FTP工具进行访问链接管理,如果不通过FTP工具访问,如文件管理或者浏览器方式访问,默认使用的被动模式,使用的端口范围比较随机,大多会影响FTP链接。

要用主动模式来下载,请您把下载工具的被动模式(PASV)都不要打勾,用主动模式来下载就OK了。如果再出错,那就被动主动相互转换一下。

常见的FTP客户端软件的被动模式(PASV)关闭方法:

FTP客户端默认使用被动模式(PASV),在大部分FTP客户端的设置里,常见到的字眼都是“PASV”或“被动模式”。

IE浏览器: [工具] - [Internet选项] - [高级] - [使用被动FTP]。

分析FTP主动模式与被动模式的优缺点 Windows 教程 FTP 第1张

CuteFTP: Edit -> Setting -> Connection -> Firewall -> “PASV Mode”

或 File -> Site Manager,在左边选中站点 -> Edit -> “Use PASV mode”

FlashGet: 工具 -> 选项 -> 代理服务器 -> 直接连接 -> 编辑 -> “PASV模式”

FlashFXP: 选项 -> 参数选择 -> 代理/防火墙/标识 -> “使用被动模式”

或 站点管理 -> 对应站点 -> 选项 -> “使用被动模式”

或 快速连接 -> 切换 -> “使用被动模式”

LeapFTP: Option ->Preferences -> General->Proxy->Use Pasv Mode

从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同,故FTP的复杂性就在于此。

主动与被动FTP优缺点:

主动模式对FTP服务器的管理有利,但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉。

被动模式对FTP客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中一个连接需要连到服务器的一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。

幸运的是,有折中的办法。既然FTP服务器的管理员需要他们的服务器有最多的客户连接,那么必须得支持被动FTP。我们可以通过为FTP服务器指定一个有限的端口范围来减小服务器高位端口的暴露。这样,不在这个范围的任何端口会被服务器的防火墙阻塞。虽然这没有消除所有针对服务器的危险,但它大大减少了风险。

✅来源:十一张博客
© 版权声明
THE END
如果觉得这篇文章对您有帮助,不妨考虑请我喝杯奶茶😄
点赞0赞赏 分享
评论 抢沙发
头像
评论人工审核通过显示,请勿重复提交!
提交
头像

昵称

取消
昵称表情代码

    暂无评论内容