Entering Passive Mode 连接终止的服务器或者客户端的终极解决办法

如果让用户可以在被动模式下连接  使用下面的方法

227 Entering Passive Mode 连接被中止
设置支持被动(PASV)模式连接:
本地服务器--》设置--》高级--》PASV 端口范围--》写上范围,听说得写上4000以后的,可以写上5000-5005--》FTP设置完毕
进入本地连接属性--》TCP/IP属性--》高级--》选项--》TCP/IP筛选--》属性--》如果 启动 TCP/IP 筛选(所有适配器) 是选中的(不是的话直接关闭)--》只允许里添加上 TCP端口:5000,5001,5002,5003
设置PASV常见的错误:
[右] 数据 Socket 错误: 连接被拒
[右] 列表错误
原因:  Serv-U上设置的PASV端口号在网卡TCP/IP上没有开解决方法参照最上面

如果是用户在连接时那么就设置FTP工具的参数:

什么是PORT(主动模式)和PASV(被动模式)
一次完整的FTP会话,包含有两个连接,一个称之为命令通道,一个称之为数据通道
命令通道用来传递一些“命令”和反馈,包括用户名密码登陆,而且众所周知是明文。默认此通道是21端口 当然 管理员也可以修改为其他端口 是什么都无所谓 但若建立多个FTP的话 端口不能重复
建立数据通道分两种方式,一是PORT模式(主动),二是PASV模式(被动)
你会在因特网上找到许多FTP服务器,有的要么只支持PORT,有的要么只支持PASV,有的是因为考虑安全因素,有的是因为条件限制等等
最好把你的FTP做成PORT和PASV方式都能支持的,这样不会使客户端在连接上受到困扰,特别是一些新手
对于PORT和PASV的定义,比较容易理解的解释是针对FTP服务端而言的
PORT是主动模式,在建立数据通道时,服务端去连接别人
PASV是被动模式,在建立数据通道时,服务端被别人连接
建立数据通道时,用PORT模式还是PASV模式,选择权在于FTP客户端
具体点说是这样
Port模式:
当客户端向服务端连接后,使用的是PORT模式,那么客户端B会发送一条命令告诉服务端(客户端B在本地打开了一个端口N在等着你进行数据连接),当服务端收到这个Port命令后 就会向客户端打开的那个端口N进行连接,这种数据连接就生成
Pasv模式:
当客户端B向服务端连接后,使用的是PASV模式,服务端会发信息给客户端,这个信息是(服务端在本地打开了一个端口M,你现在去连接我吧),当客户端收到这个信息后,就可以向服务端的M端口进行连接,连接成功后,数据连接也建立了

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



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

由于我的本地FTP服务器在内网,只是从外网映射了两个端口(20,21),所以无法使用PASV方式,解决此问题的办法也很简单,关闭客户端的PASV方式,强制其用PORT方式访问服务器,登录FTP服务器后用passive命令关闭客户端的PASV方式,如下:



ftp> passive
Passive mode off.

ftp> passive (再次运行命令可打开)


Passive mode on.

猜你喜欢

转载自qianxunniao.iteye.com/blog/1220465
今日推荐