FTP软件使用中的PASV和PORT上传模式,及PORT模式和PASV模式比较

发布人:万网代理 时间:2012-01-12 00:32来源:万网代理 点击:

FTP软件使用中的PASV和PORT上传模式,下面为大家介绍一下FTP连接中的PASV和PORT模式: 
PORT其实是Standard模式的另一个名字,又称为Active模式。中文意思是“主动模式。 
PASV也就是Passive的简写。中文就是“被动模式。 
两者之间有什么不同: 
不同之处是由于PORT这个方式需要在接上TCP 21端口后,服务器通过自己的TCP 20来发出数据。并且需要建立一个新的连接来传送档案。而PORT的命令包含一些客户端没用的资料,所以有了PASv的出现。 
而PASV模式就当然拥有PORT模式的优点及去掉一些PORT的缺点。PASV运行方式就是当服务器接收到PASV命令时,就会自动从端口1024到5000中随机选择,而且还会使用同一个端口来传送数据,不用建立新的连接

有许多朋友的 FTP 服务器是不支持 PASV 模式的,登入時要取 
消 PASV 模式才行。现将几种 FTP 下载工具的取消方法公布如 
下: 
1.把 flashget 的 pasv 模式关掉的方法 
点菜单上的“工具”->“选项”->“代理服务器”-> 
“直接连接”->编辑->把“ pasv 模式”前的勾勾去掉, 
一路确定回来。 
2.把 Cutftp 的 pasv 模式关掉的方法 
点菜单上的“文件”->“站点管理”->在“站点管理器”窗口 
->“新建站点”->填上“域名”->“编辑”->“常规”-> 
把“使用 pasv 模式”前的勾勾去掉。 
3.把 FlashFXP 的 pasv 模式关掉的方法 
点菜单上的“站点”->“站点管理器”->站点管理器窗口-> 
“新建站点”->填上“域名”->“选项”->把“使用被动模 
式”前的勾勾去掉->“应用” 即可。 
4.把 NetAnts 的 pasv 模式关掉的方法 
点菜单上的"选项"->"参数设置"->"代理"->“直接连接”->编辑->把“ pasv 模式”前的勾勾去掉,一路确定回来。

FTP状态代码说明及PORT模式和PASV模式比较
PORT模式和PASV模式
     PORT模式下的FTP服务: 
     缺省情况下PORT模式的数据端口是20, 控制端口是21(控制端口可以设定, 本文假定使用21)。 当进行连接时,客户端使用一个随机的端口N(N大于1024)连接服务器的控制端口21, 然后客户端开始监听端口N+1,并向服务器发送命令 PORT N+1,服务器用自己的数据端口20连回客户的N+1端口。 
由于PORT模式仅仅是发送端口给服务器,由服务器连回客户端,如果客户端有防火墙,这样的连接会被认为是外部主机试图连接内部的主机, 通常情况下是不允许的。 为了解决这个问题, 引入了PASV模式 
     PASV模式下的FTP服务: 
     当进行连接时,客户端使用一个随机的端口N(N大于1024) 
     连接服务器的控制端口21, 并向服务器发送命令 PASV,服务器使用一个随机的数据端口M(M>1024)并发回客户端, 客户端用数据端口N+1连接服务器的端口M。 
     由于客户端发起数据连接, 这样就解决了防火墙带来的问题。
     FTP状态代码说明 
     110 Restart marker reply. In this case, the text is exact and not left to the particular implementation; it must 
      read: MARK yyyy = mmmm where yyyy is User-process data stream marker, and mmmm server's equivalent marker (note the spaces between markers and "=". 
     重新启动标志回应。这种情况下,信息是精确的并且不用特别的处理;可以这样看:标记 yyyy = mmm 中 yyyy是 用户进程数据流标记,mmmm是服务器端相应的标记(注意在标记和等号间的空格) 
     120 Service ready in nnn minutes. 
     服务在NNN时间内可用 
     125 Data connection already open; transfer starting. 
     数据连接已经打开,开始传送数据. 
     150 File status okay; about to open data connection. 
     文件状态正确,正在打开数据连接. 
     200 Command okay. 
     命令执行正常结束. 
     202 Command not implemented, superfluous at this site. 
     命令未被执行,此站点不支持此命令. 
     211 System status, or system help reply. 
     系统状态或系统帮助信息回应. 
     212 Directory status. 
     目录状态信息. 
     213 File status. 
     文件状态信息. 
     214 Help message.On how to use the server or the meaning of a particular non-standard command. This reply is useful only to the human user. 
     帮助信息。关于如何使用本服务器或特殊的非标准命令。此回复只对人有用。 
      215 NAME system type. Where NAME is an official system name from the list in the Assigned Numbers document. 
NAME系统类型。 
      220 Service ready for new user. 
      新连接的用户的服务已就绪 
      221 Service closing control connection. 
   &nbs
p;  控制连接关闭 
      225 Data connection open; no transfer in progress. 
      数据连接已打开,没有进行中的数据传送 
      226 Closing data connection. Requested file action successful (for example, file transfer or file abort). 
      正在关闭数据连接。请求文件动作成功结束(例如,文件传送或终止) 
      227 Entering Passive Mode (h1,h2,h3,h4,p1,p2). 
      进入被动模式 
      230 User logged in, proceed. Logged out if appropriate. 
      用户已登入。 如果不需要可以登出。 
      250 Requested file action okay, completed. 
      被请求文件操作成功完成 
      257 "PATHNAME" created. 
      路径已建立 
      331 User name okay, need password. 
      用户名存在,需要输入密码 
      332 Need account for login. 
      需要登陆的账户 
      350 Requested file action pending further information 
      对被请求文件的操作需要进一步更多的信息 
      421 Service not available, closing control connection.This may be a reply to any command if the service knows       it must shut down. 
      服务不可用,控制连接关闭。这可能是对任何命令的回应,如果服务认为它必须关闭 
      425 Can't open data connection. 
      打开数据连接失败 
      426 Connection closed; transfer aborted. 
      连接关闭,传送中止。 
      450 Requested file action not taken. 
      对被请求文件的操作未被执行 
      451 Requested action aborted. Local error in processing. 
      请求的操作中止。处理中发生本地错误。 
      452 Requested action not taken. Insufficient storage space in system.File unavailable (e.g., file busy). 
      请求的操作没有被执行。 系统存储空间不足。 文件不可用 
      500 Syntax error, command unrecognized. This may include errors such as command line too long. 
      语法错误,不可识别的命令。 这可能是命令行过长。 
      501 Syntax error in parameters or arguments. 
      参数错误导致的语法错误 
      502 Command not implemented. 
      命令未被执行 
      503 Bad sequence of commands. 
      命令的次序错误。 
      504 Command not implemented for that parameter. 
      由于参数错误,命
令未被执行 
      530 Not logged in. 
      没有登录 
      532 Need account for storing files. 
      存储文件需要账户信息 
      550 Requested action not taken. File unavailable (e.g., file not found, no access). 
      请求操作未被执行,文件不可用。 
      551 Requested action aborted. Page type unknown. 
      请求操作中止,页面类型未知 
      552 Requested file action aborted. Exceeded storage allocation (for current directory or dataset). 
      对请求文件的操作中止。 超出存储分配 
      553 Requested action not taken. File name not allowed 
      请求操作未被执行。 文件名不允许 
      这种错误跟http协议类似,大致是: 
      2开头--成功 
      3开头--权限问题 
      4开头--文件问题 
      5开头--服务器问题 
      FTP中的两种工作方式
      下面的文章介绍了FTP的两种模式和在实际工作中的一些注意事项和使用技巧,希望对大家有所帮助,并和大家一起来探讨、交流。FTP是一种文件传输协议,它支持两种模式,一种方式叫做Standard (也就是 Active,主动方式),一种是 Passive (也就是PASV,被动方式)。 Standard模式 FTP的客户端发送 PORT 命令到FTP server。Passive模式FTP的客户端发送 PASV命令到 FTP Server。
      下面介绍一个这两种方式的工作原理:
Standard模式FTP 客户端首先和FTP Server的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。
Passive模式在建立控制通道的时候和Standard模式类似,当客户端通过这个通道发送PASV 命令的时候,FTP server打开一个位于1024和5000之间的随机端口并且通知客户端在这个端口上传送数据的请求,然后FTP server 将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。 
现在的FTP软件里面包括在IE5以上的版本里面也已经支持这两种模式了。一般一些FTP客户端的软件就比较好设置了,一般都有一个PASV的选项,比如CuteFTP,传输的方式都有Standard和PASV的选项,可以自己进行选择;另外在IE里面如果要设置成PASV模式的话可以选中工具-Internet选项-高级-为FTP站点启用文件夹视图,否则就采用Standard模式。
很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以FTP的Standard模式在许多时候在内部网络的机器通过防火墙出去的时候受到了限制,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。当然也可以设置成功,首先要创建一条规则就是允许内部的IP连接外部的IP的21端口;第二条就是禁止外部IP的TCP 20端口连接内部IP的<1024的端口,这条是为了防止外部连接内部的常规端口;第三条验证ACK是否等于1,这个的原理就参见TCP建立连接的三次握手吧。所以如果安全的配置的话非常困难,这个时候就想起来了PA
SV模式,因为不用建立新的连接,所以也就不会涉及到后面的问题了。但是管理员可能不想使用PASV模式,因为这个时候FTP Server会开放一个随机的高端口,尽管在IIS4和IIS5里面端口的范围是1024-5000,但是许多FTP Server的端口范围达到了1024-65535,这个时候在这个主动开放的随机端口上是有完全的访问权限的,如果IIS也要设置成开放的端口为1024-65535,具体方法如下:
      1. regedt32
      2. 找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 
      3. 编辑-添加-数值
      value Name: MaxUserPort Data Type: REG_DWORD value: 65534 
      所以如果遇到了有防火墙的话或者怕配置麻烦的话还是采用PASV模式比较好些,但是如果真的对安全的需求很高的话建议采用Standard模式。

上一篇:虚拟主机、服务器、独享主机、云主机的区别? 下一篇:三个良好网页设计的原则

延伸阅读:

Windows独享主机远程桌面登陆服务器正确退出操作方法(12-01-15)
网站代码布局对seo也有影响(11-12-17)
工信部严打网站虚假备案 不符者将被注销(12-01-15)
dedecms中摘要调用参数:[field:info/] 应用方法(11-12-20)
Access数据库ASP连接常用操作范例(12-01-15)
fanwe获取商品失败,请稍后重新添加该商品(12-01-17)
万网互联网站制作服务协议书(5)(12-01-14)
服务器上传网站用ftp工具的方法(11-12-19)