图解FTP的主动模式与被动模式以及客户端设置

主动模式(PORT)

如下图所示,用户主机直接暴露在互联网中,用户连接FTP SERVER使用主动模式遵循以下一个过程:

图解FTP的主动模式与被动模式以及客户端设置_第1张图片


  • 用户主机一个随机端口连接FTP SERVER的TCP21端口进行协商;
  • 用户主机告诉FTP SERVER,我的XXXX端口已经打开,你可以放心大胆的连过来;
  • 然后FTP SERVER就用TCP20端口连接用户主机的XXXX端口,数据传输开始。

被动模式(PASV)

当用户主机前端多了一道防火墙(客户机使用地址转换接入互联网),事情就变的复杂了,首先,主动模式是FTP SERVER连接客户机,防火墙肯定不干;即便乐意干客户机与服务器协商的XXXX端口也是随机端口,你让迷茫的防火墙情何以堪,这时就需要客户端软件使用被动模式主动连接防火墙,这么一来正合防火墙的胃口。

客户端使用被动模式遵循以下过程:

图解FTP的主动模式与被动模式以及客户端设置_第2张图片
  • 首先用户使用随机端口连接FTP SERVER的TCP 21端口进行协商;
  • FTP SERVER告诉客户机:我的XXXX端口开放了,你连过来吧;
  • 客户机使用一个随机端口连接FTP SERVER的XXXX端口传输数据。

可以看出,当不存在防火墙的情况下,主动模式和被动模式均适用,但就服务器安全方面考虑,使用主动模式为佳,因为多一个被动连接服务器就要打多开一个端口,开放的端口越多,就意味着服务器面临的危险越大。

FTP客户端设置

这里向大家推荐FlashFXP,非常专业的客户端,尤其是支持UTF8编码(CuteFTP不支持),在WEB开发中非常具有优势,建立一个连接非常简单,可以利用会话-快速连接(缺点就是不能保存这个连接,下次再用需再次设置);也可以使用站点-站点管理器来建立连接,这里推荐后者,打开站点管理器,点击下方的新建站点,为站点起一个易于区分的名称,这里以www.today-wx.com为例,填上后边的地址、用户名、密码,其他保持默认,点击下边的应用,这个连接就保存下来了,点击连接登陆FTP SERVER。

图解FTP的主动模式与被动模式以及客户端设置_第3张图片

在选项中,可以设置一些非常重要的参数:

图解FTP的主动模式与被动模式以及客户端设置_第4张图片
  • 数据连接模式:这里保持默认的使用全局设置,客户端会优先使用被动模式连接(可以在全局设置中修改),如果被动传输失败,会自动尝试使用主动模式。
  • 续传支持:就是所谓的断点续传,这个需要服务器端支持。
  • 字符编码:可以选择以二进制或者ASCII的方式,一般来说图片,压缩文件与应用程序文件使用二进制;文本文件,如html、php、js等文件使用ASCII方式。这个地方保持默认就行,FTP客户端会自动判断。

使用FlashFXP可以关联文件,比如将HTML文件与DW(dreamweaver)关联,将CSS文件与记事本关联等等:

选项-文件关联设置关联,点击红框的部分添加一个关联。


添加文件的时候可以使用通配符的形式,这里使用*.html表示所有的html文件,右边的打开以选择本地程序,这里选择安装于C盘的dreamweaver,然后勾选下边的用来查看和编辑,保存时执行上传的动作,点击保存。

图解FTP的主动模式与被动模式以及客户端设置_第5张图片

连接FTP之后,右键点击html文件进行查看或编辑的时候,系统会自动启动DW进行查看和编辑,在DW中保存文件的时候,会自动上传到FTP服务器上,很惬意吧。



原文链接: http://www.today-wx.com/share/38.html

你可能感兴趣的:(计算机网络,linux,c++)