ftp主动模式和被动模式的比较(转载) -凯发k8网页登录

standing on the shoulders of giants
posts - 481, comments - 486, trackbacks - 0, articles - 1
  凯发k8网页登录-凯发天生赢家一触即发官网 :: 凯发k8网页登录首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

ftp主动模式和被动模式的比较(转载)

posted on 2015-02-07 13:06 疯狂 阅读(3566) 评论(1)  编辑  收藏 所属分类: 网络通讯

我们在上传文件或图片到主机的时候,都不可避免的用到ftp软件这个上传工具。在上传的时候,有两种传输方式大家一定不会不熟悉,那就是主动模式和被动模式,他们的英文简写是port和pasv。常常有客户无法上传的时候,我们都会告诉他们,把ftp软件被动模式前面的钩去掉再试试。这说明,ftp软件默认是使用被动模式的,这种传输模式较先进一些。而有些客户无法在这种模式下上传的原因,往往是由于他们电脑中安装了防火墙、杀毒软件或者他们电脑所在的局域网做了特殊限制造成。

首先我们要知道,我们在使用ftp上传、删除、修改文件的时候其实要经过两个过程。一个是命令连接,一个是数据传输。命令连接的过程是我们电脑->服务器,通常是我们电脑中一个随机的大于1024的端口->服务器的21端口。我们熟知的ftp的21端口就是建议命令连接时所必需的。对于这主动和被动这两种上传模式而言,命令连接的过程是完全相同的,其区别就在数据传输过程中。主动模式下,当需要传送数据时,客户端在命令连接上用port命令告诉服务器:“我打开了xxxx端口(通常是一个随机的大于1024的端口),你过来连接我”。于是服务器从20端口向客户端的这个端口发送连接请求,建立一条数据连接来传送数据,这就是服务器->客户电脑的过程。而在被动模式下,服务器在命令连接上用pasv命令告诉客户端:“我打开了xxxx端口(通常是在ftp服务端设置的一个高位端口范围),你过来连接我”。于是客户端向服务器的这个端口范围发送连接请求,建立一条数据连接来传送数据。

一句话,主动模式的ftp是指服务器主动连接客户端的数据端口,被动模式的ftp是指服务器被动地等待客户端连接自己的数据端口。故通过防火墙对高位端口的阻塞,会造成主动模式受限,被动模式比较先进。另外通过设置被动模式的端口范围,只开放一定的端口对外传输数据,也大大减少了服务器安全性暴露的风险。

那么,在哪里设置被动模式的端口范围呢。windows环境下的iis ftp的设置方法是:打开c:\windows\system32\inetsrv\metabase.xml,当然首先要停止iis admin service服务。然后编辑这个文件里面区块下的passiveportrange,比如设置成passiveportrange="50030-50039",这就指定了10个端口来传输数据。而linux环境下的proftp的设置方法是:打开proftp的配置文件,命令是vi /etc/proftpd.conf,然后在区块里面添加passiveports 50030 50039这样的一段文字,也和上面iis中的端口设置是一样的功能。

最后在说下这两种模式的优缺点。主动模式对ftp服务器的管理有利,但对客户端的管理不利。因为ftp服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉。被动模式对ftp客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。比较明智的方法是,同时做好服务器和客户电脑的安全设置,尽量不要开防火墙,就能比较顺利的通过ftp上传和管理我们的文件。


评论

# re: ftp主动模式和被动模式的比较(转载)  回复     

2015-08-10 14:50 by
膜拜中!!新手值得收藏的中文api帮助,新手且英文不好的福音,全是中文翻译的,一个很不错的中文api帮助
需要的朋友自己去看看。www.apicx.com

只有注册用户后才能发表评论。


网站导航:
              
 
网站地图