咖啡日语论坛

 找回密码
 注~册
搜索
查看: 2040|回复: 3

FTP PASV mode全过程与设置说明

[复制链接]
发表于 2004-3-29 23:00:00 | 显示全部楼层 |阅读模式
[B]1,什么叫做PASV mode(被动模式传送)?他是如何工作的? [/B]

FTP的连接一般是有两个连接的,一个是客户程和服务器传输命令的,另一个是数据传送的连接。FTP服务程序一般会支持两种不同的模式,一种是Port模式,一种是Passive模式(Pasv Mode),我先说说这两种不同模式连接方式的分别。
先假设客户端为C,服务端为S.
Port模式:
当客户端C向服务端S连接后,使用的是Port模式,那么客户端C会发送一条命令告诉服务端S(客户端C在本地打开了一个端口N在等着你进行数据连接),当服务端S收到这个Port命令后 就会向客户端打开的那个端口N进行连接,这种数据连接就生成了。

Pasv模式:
当客户端C向服务端S连接后,服务端S会发信息给客户端C,这个信息是(服务端S在本地打开了一个端口M,你现在去连接我吧),当客户端C收到这个信息后,就可以向服务端S的M端口进行连接,连接成功后,数据连接也建立了。

从上面的解释中,大家可以看到两种模式主要的不同是数据连接建立的不同,对于Port模式,是客户端C在本地打开一个端口等服务端S去连接建立数据连接;而Pasv模式就是服务端S打开一个端口等待客户端C去建立一个数据连接。

[B]2,我需要把传送模式设置成PASV mode吗?[/B]

如果您连接到INTERNET的方式如下图,你需要设置成为PASV mode模式传送

从上图中我们可以看出,路由上有两个ip一个是内网ip(也就是你的网关地址)另外一个是外网IP,你所有LAN中的计算机

都是共享这个218.63.1.5访问INTERNET的(中间通过了192.168.1.1这个网关),让我们来看一个连接的详细过程,以便您更进一步了解为什么需要设置成为PASV mode 传送:[/COLOR]
当您通过下载工具或使用浏览器下载影片的时候就开始连接FTP服务器, 当FTP服务收到你的连接请求后发送应答信息给客户并开始等待用户的认证信息,-->认证通过后开始建立数据连接[/COLOR] 如果你不是设置成为pasv模式,那么客户段(下载工具)会在本地计算机开一个数据端口,然后发送一条“命令”给FTP服务段,(我已打开了n端口[/COLOR][B]你现在可以连接我[/B]),那么FTP服务器段就开始连接你ip地址的N端口,([B]但是连接是失败的[/B]) 因为你是通过192.168.1.1 这个网关(你的路由设备[/COLOR])访问internet的ftp服务段他实际上是同你的外网地址为218.63.1.5的路由设备连接,根本就连接不上你下载工具中打开的端口,例如你使用的是 192.168.1.2 这个客户机,FTP服务段此时无法同你计算机(192.168.1.2)监听端口N连接上,所以此时你会看到服务器反馈的错误信息,提示你192.168.1.2打开的端口无法连接之类的, 信息此时你就需要把传送模式[B]设置成为PASV模式[/B],而如果你使用的是PASV模式那么当你ftp通过认证后,客户段首先向服务器发送一条PASV命令,服务段接受到命令后打开一个端口并告诉客户段“我已打开了一个端口,你此时可以来连接了" 客户段(下载工具)接受到信息后,就去连接服务段已经打开了的端口,从而完成数据连接,所有ftp下载的数据流都将通过这个端口传送
回复

使用道具 举报

 楼主| 发表于 2004-3-29 23:00:00 | 显示全部楼层
有许多朋友的 FTP 服务器是不支持 PASV 模式的,登入時要取消 PASV 模式才行。

现将几种 FTP 下载工具的取消方法公布如下:



1.把 flashget 的 pasv 模式关掉的方法



点菜单上的“工具”->“选项”->“代理服务器”->

“直接连接”->编辑->把“ pasv 模式”前的勾勾去掉,

一路确定回来。



2.把 Cutftp 的 pasv 模式关掉的方法

点菜单上的“文件”->“站点管理”->在“站点管理器”窗口

->“新建站点”->填上“域名”->“编辑”->“常规”->

把“使用 pasv 模式”前的勾勾去掉。



3.把 FlashFXP 的 pasv 模式关掉的方法

点菜单上的“站点”->“站点管理器”->站点管理器窗口->

“新建站点”->填上“域名”->“选项”->把“使用被动模

式”前的勾勾去掉->“应用” 即可。



4.把 NetAnts 的 pasv 模式关掉的方法

点菜单上的"选项"->"参数设置"->"代理"->“直接连接”->

编辑->把“ pasv 模式”前的勾勾去掉,一路确定回来。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-3-29 23:00:00 | 显示全部楼层
PORT其实是Standard模式的另一个名字,又称为Active模式。中文意思是“主动模式。
PASV也就是Passive的简写。中文就是“被动模式。

两者之间有什么不同:
不同之处是由于PORT这个方式需要在接上TCP 21端口后,服务器通过自己的TCP 20来发出数据。并且需要建立一个新的连接来传送档案。而PORT的命令包含一些客户端没用的资料,所以有了PASV的出现。

而PASV模式就当然拥有PORT模式的优点及去掉一些PORT的缺点。PASV运行方式就是当服务器接收到PASV命令时,就会自动从端口1024到5000中随机选择,而且还会使用同一个端口来传送数据,不用建立新的连接。

回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2004-3-29 23:00:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注~册

本版积分规则

小黑屋|手机版|咖啡日语

GMT+8, 2025-6-7 20:07

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表