关于FTP的PASV模式和PORT模式分析
Author: admin Date: 2011-04-16 20:36:58 Comments: 2 Views: 212
最近帮公司的服务器架设FTP,用的是Serv-U,在账号密码都正确的情况下状态窗口老是出现 “[右] 数据 Socket 错误: 连接超时 [右] 列表错误 [右] PASV 模式失败, 尝试 PORT 模式。”的错误。同时卡死在列目录状态下,而在远程登陆服务器的情况下可以看到此用户是登陆的,但过了大概3~6分钟最后又自动链接成功了,提示:"PORT 模式成功, 请更新你的站点配置文件";
于是找资料,发现是FTP客户端软件连接模式设置的问题。这个服务器要求的是PORT模式(主动模式),而FTP客户端设置的是PASV模式(被动模式)。所以只要把PASV模式改成PORT模式即可顺利连接。 数据 Socket 错误: 连接超时 [右] 列表错误 [右] PASV 模式失败, 尝试 PORT 模式错误Serv-U显示有一个用户连接
那么如何关闭PASV模式呢?首先我们打开FTP客户端(我使用的是FlashFXP工具,所以以FlashFXP为例),以次找到选项 -> 参数选择 -> 代理 -> “使用被动模式”,把使用被动模式前面的钩钩去掉,确认。再次连接,FlashFXP能正常连接上,中间不在有错误出现。 去掉FlashFXP代理中的被动模式前面的钩钩
常见FTP客户端软件PORT模式和PASV模式切换方法:
IE: 工具 -> Internet选项 -> 高级 -> “使用被动FTP”(需要IE6.0以上才支持)。
CuteFTP: Edit -> Setting -> Connection -> Firewall -> “PASV Mode” 或 File -> Site Manager,在左边选中站点 -> Edit -> “Use PASV mode”
FlashGet: 工具 -> 选项 -> 代理服务器 -> 直接连接 -> 编辑 -> “PASV模式”
FlashFXP: 选项 -> 参数选择 -> 代理/防火墙/标识 -> “使用被动模式” 或 站点管理 -> 对应站点 -> 选项 -> “使用被动模式” 或 快速连接 -> 切换 -> “使用被动模式”
1) 在ie中如何启用或者取消PASV模式:
如果要在ie里启用或关闭PASV方式,先打开IE,在菜单里选择:工具 -> Internet选项 -> 高级,在“使用被动ftp”前面打上钩或者去掉钩,不过需要IE6.0以上才支持。
2) FTP下载工具取消被动模式的方法:
★Cute FTP 3.5英文版:FTP―>Settings―>Options―>Firewall,将“PASV mode”前复选框中的打勾去掉。
★Cute FTP3.5中文版:FTP―>设置―>选项―>防火墙,“PASV方式(A)”前复选框中的打勾去掉。
★Cute FTP4.0中文版:右击你所建立的ftp站点―>选择属性(properties)―>去掉"use PASV mod" 选择项
★Cute FTP Pro2.0中文版:编辑―>全局设置―>连接―>连接类型,“PASV/PORT”下拉选项菜单选择PORT。
★Leap FTP2.7.2:Sites―>Site Manager―>Advanced,将“Use PASV mode”前复选框中的打勾去掉。
★flashfxp: 选项->参数->代理->去掉“使用被动模式”
★flashget: 选项->参数->代理服务器->编辑->将“Use PASV mode”前复选框中的打勾去掉。
3) 其他补充
如果你用Serv-U架设FTP,那么Serv-U默认配置下两种方式都支持。
如果要关闭PASV方式,打开Serv-U,进入 Domains -> user.dns0755.net -> Settings -> Advanced -> 把“Allow passive mode data transfers”前面的钩去掉。
在 Serv-U的Local Server -> Settings -> Advanced -> PASV port range里,填入给PASV模式使用的本地端口范围,如60000-60020。请把端口范围限制在20个以内。之后,再在防火墙里打开这个范围的端口就可以了。
大部分FTP客户端默认使用PASV方式。IE默认使用PORT方式。 在大部分FTP客户端的设置里,常见到的字眼都是“PASV”或“被动模式”,极少见到“PORT”或“主动模式”等字眼。因为FTP的登录方式只有两种:PORT和PASV,取消PASV方式,就意味着使用PORT方式。
PORT和PASV的区别: 防火墙有很多种,其中有一些会禁止那些不是从内部网络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方式安全。
概括:PASV就是被动,FTP被动等着客户来连,懒吗!所以安全性差 PORT就是主动,FTP主动同客户连接,勤奋所以安全性高哦
特别提示:如果还是连接不上请联系服务器运营商。
Serv-U搭建服务器连接出错:PORT 模式成功, 请更新你的站点配置文件
在Serv-U上将"站点→设置→高级→允许被动数据传输模式,使用IP"前的钩去掉后再连接,没再显示"PORT 模式成功, 请更新你的站点配置文件了,但还有个列表错误,网上搜索了好久始终不得解法,最后尝试着在路由器上将端口映射中的公有服务端口由22改为21,终于OK了!后记:改完端口后将"站点→设置→高级→允许被动数据传输模式,使用IP"重新钩上,再连接也没再出现"PORT 模式成功, 请更新你的站点配置文件 ^_^
于是找资料,发现是FTP客户端软件连接模式设置的问题。这个服务器要求的是PORT模式(主动模式),而FTP客户端设置的是PASV模式(被动模式)。所以只要把PASV模式改成PORT模式即可顺利连接。 数据 Socket 错误: 连接超时 [右] 列表错误 [右] PASV 模式失败, 尝试 PORT 模式错误Serv-U显示有一个用户连接
那么如何关闭PASV模式呢?首先我们打开FTP客户端(我使用的是FlashFXP工具,所以以FlashFXP为例),以次找到选项 -> 参数选择 -> 代理 -> “使用被动模式”,把使用被动模式前面的钩钩去掉,确认。再次连接,FlashFXP能正常连接上,中间不在有错误出现。 去掉FlashFXP代理中的被动模式前面的钩钩
常见FTP客户端软件PORT模式和PASV模式切换方法:
IE: 工具 -> Internet选项 -> 高级 -> “使用被动FTP”(需要IE6.0以上才支持)。
CuteFTP: Edit -> Setting -> Connection -> Firewall -> “PASV Mode” 或 File -> Site Manager,在左边选中站点 -> Edit -> “Use PASV mode”
FlashGet: 工具 -> 选项 -> 代理服务器 -> 直接连接 -> 编辑 -> “PASV模式”
FlashFXP: 选项 -> 参数选择 -> 代理/防火墙/标识 -> “使用被动模式” 或 站点管理 -> 对应站点 -> 选项 -> “使用被动模式” 或 快速连接 -> 切换 -> “使用被动模式”
1) 在ie中如何启用或者取消PASV模式:
如果要在ie里启用或关闭PASV方式,先打开IE,在菜单里选择:工具 -> Internet选项 -> 高级,在“使用被动ftp”前面打上钩或者去掉钩,不过需要IE6.0以上才支持。
2) FTP下载工具取消被动模式的方法:
★Cute FTP 3.5英文版:FTP―>Settings―>Options―>Firewall,将“PASV mode”前复选框中的打勾去掉。
★Cute FTP3.5中文版:FTP―>设置―>选项―>防火墙,“PASV方式(A)”前复选框中的打勾去掉。
★Cute FTP4.0中文版:右击你所建立的ftp站点―>选择属性(properties)―>去掉"use PASV mod" 选择项
★Cute FTP Pro2.0中文版:编辑―>全局设置―>连接―>连接类型,“PASV/PORT”下拉选项菜单选择PORT。
★Leap FTP2.7.2:Sites―>Site Manager―>Advanced,将“Use PASV mode”前复选框中的打勾去掉。
★flashfxp: 选项->参数->代理->去掉“使用被动模式”
★flashget: 选项->参数->代理服务器->编辑->将“Use PASV mode”前复选框中的打勾去掉。
3) 其他补充
如果你用Serv-U架设FTP,那么Serv-U默认配置下两种方式都支持。
如果要关闭PASV方式,打开Serv-U,进入 Domains -> user.dns0755.net -> Settings -> Advanced -> 把“Allow passive mode data transfers”前面的钩去掉。
在 Serv-U的Local Server -> Settings -> Advanced -> PASV port range里,填入给PASV模式使用的本地端口范围,如60000-60020。请把端口范围限制在20个以内。之后,再在防火墙里打开这个范围的端口就可以了。
大部分FTP客户端默认使用PASV方式。IE默认使用PORT方式。 在大部分FTP客户端的设置里,常见到的字眼都是“PASV”或“被动模式”,极少见到“PORT”或“主动模式”等字眼。因为FTP的登录方式只有两种:PORT和PASV,取消PASV方式,就意味着使用PORT方式。
PORT和PASV的区别: 防火墙有很多种,其中有一些会禁止那些不是从内部网络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方式安全。
概括:PASV就是被动,FTP被动等着客户来连,懒吗!所以安全性差 PORT就是主动,FTP主动同客户连接,勤奋所以安全性高哦
特别提示:如果还是连接不上请联系服务器运营商。
Serv-U搭建服务器连接出错:PORT 模式成功, 请更新你的站点配置文件
在Serv-U上将"站点→设置→高级→允许被动数据传输模式,使用IP"前的钩去掉后再连接,没再显示"PORT 模式成功, 请更新你的站点配置文件了,但还有个列表错误,网上搜索了好久始终不得解法,最后尝试着在路由器上将端口映射中的公有服务端口由22改为21,终于OK了!后记:改完端口后将"站点→设置→高级→允许被动数据传输模式,使用IP"重新钩上,再连接也没再出现"PORT 模式成功, 请更新你的站点配置文件 ^_^
相关日志:
评论: 2 | 引用: 0 | 查看次数: 212
回复Anna[2011-04-23 16:21:00 | | | | 通过审核]
[未审核评论,仅管理员可见]
发表评论