首页>>经验交流>>Ftp中PORT和PASV两种模式的区别
Ftp中PORT和PASV两种模式的区别
来源: 时间: 2014-11-09 18:25:12

防火墙有很多种,其中有一些会禁止那些不是从内部网络IP发出的连接请求。

     而ftp协议是个很老的东东,没有考虑这个问题。可以这样简单描述一般ftp的工作原理:client对server发出请求:“嗨,我的xx端口正等着你传送数据呢,sever听到这个请求,就会建立一个连接,指向这个端口,并且开始传送数据。这就回到了我们的问题,如果发出请求的client在防火墙的后面,而这个防火墙禁止外部IP建立连接,那么当然server(在外部)不能建立与client的连接。所以,过了几年,人们修改了ftp协议以应付这种情况。这就是passive mode,工作原理如下:client向server发出passive命令,server回答说:“数据在xx端口等你,自己来拿。” 而这回则由client建立指向server的连接,从而取得数据。这就避免了防火墙的限制。

     为什么PORT方式比PASV方式安全?

     FTP传输过程中要求建立一个专门的连接来传输数据,建立连接有两个方法:一个就是FTP Server打开一个端口,Client可以去连接这个端口来建立连接。这就是PASV方式。一个就是FTP Client打开一个端口,Server去连接这个端口来建立连接。这就是PORT方式。显然,如果服务器打开了一个端口,就意味着向互联网打开了一个端口。所以PORT方式比PASV方式安全.

 这样,当我们用ftp时候,如果遇到了"打开FTP服务器上的文件夹时发生错误。请检查是否有权限访问该文件夹。详细信息:无法与服务器建立连接"这样的问题,有可能就是你的FTP 服务器上将PASV模式改成了PORT的模式.这样你只要这样做就可以了:(如下)

 方法:


      1 打开IE的菜单"工具"->"Internet 选项";

      2 点击“高级”标签卡;

      3 将“浏览”节点下的“使用被动FTP(为防火墙和DSL调制解调器兼容性)”前面的勾去掉。

   我们的ftp需使用主动模式访问,所以很多朋友用ie登录的时候发现不行,其实只需要对IE进行设置即可,打开IE ,“工具”,点击“Internet选项”,再选择“高级”选项卡,往下拉,可以看到“使用ftp被动模式” 把前面的勾去掉即可。

   使用ftp客户端工具也一样,应去掉被动模式、pasv前面的勾。


CuteFTP:

   dit -> Setting -> Connection -> Firewall -> PASV Mode

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


FlashGet:

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


FlashFXP:

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

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

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


LeapFTP:

Options -> Preferences -> General -> Proxy -> Use PASV mode


上一篇:Apache htaccess伪静态化Rewrite规则使用详解 下一篇:在 Web 项目中应用 Apache Shiro 开源权限框架