xwj 发表于 2007-9-21 07:28

基础知识:FTP为什么连不上之--FTP PORT方式和PASV方式的区

FTP基础知识&nbsp;<br /><br />FTP是File&nbsp;Transfer&nbsp;Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。&nbsp;<br /><br />FTP协议有两种工作方式:<font color=#FF0000>PORT方式和PASV方式,中文意思为主动式和被动式。</font>&nbsp;<br /><font color=#000080>PORT</font>(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。&nbsp;<br /><br />当需要传送数据时,<font color=#000080>客户端在命令链路上用&nbsp;PORT命令告诉服务器</font>:“我打开了****端口,你过来连接我”。<font color=#000080>于是服务器从20端口向客户端的****端口发送连接请求</font>,建立一条数据链路来传送数据。&nbsp;<br /><br /><font color=#000080>PASV</font>(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。&nbsp;<br /><br />当需要传送数据时,<font color=#000080>服务器在命令链路上用&nbsp;PASV命令告诉客户端</font>:“我打开了****端口,你过来连接我”。于是<font color=#000080>客户端向服务器的****端口发送连接请求</font>,建立一条数据链路来传送数据。&nbsp;<br />从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同。而FTP的复杂性就在于此。&nbsp;<br /><br />FTP服务器端的注意事项&nbsp;<br /><br />一、FTP服务器是公网IP,用公网动态域名;或是内网IP,用内网专业版TrueHost&nbsp;<br /><br />1、服务器如果安装了防火墙,请记住要在防火墙上打开FTP端口(默认是21)。&nbsp;<br /><br />2、所有FTP服务器软件都支持PORT方式。至于PASV方式,大部分FTP服务器软件都支持。支持PASV方式的FTP服务器软件,也可以设置为只工作在PORT方式上。&nbsp;<br /><br />3、为了PASV方式能正常工作,需要在FTP服务器软件上为PASV方式指定可用的端口范围(设置方法)。此外,还要在服务器的防火墙上打开这些端口。当客户端以PASV方式连接服务器的时候,服务器就会在这个端口范围里挑选一个端口出来,给客户端连接。&nbsp;<br /><br />二、FTP服务器是内网IP,用内网动态域名标准版cm*natpro*y&nbsp;<br /><br />这种情况下,FTP服务器不需要做特殊设置,只要支持PASV方式就可以了。大部分FTP服务器软件都支持PASV方式。&nbsp;<br /><br />FTP客户端的注意事项&nbsp;<br /><br />请注意:选择用PASV方式还是PORT方式登录FTP服务器,选择权在FTP客户端,而不是在FTP服务器。&nbsp;<br /><br /><font color=#C00000><font color=#FF0040>一、客户端只有内网IP,没有公网IP&nbsp;<br /><br />从上面的FTP基础知识可知,如果用PORT方式,因为客户端没有公网IP,FTP将无法连接客户端建立数据链路。因此,在这种情况下,客户端必须要用PASV方式,才能连接FTP服务器。大部分FTP站长发现自己的服务器有人能登录上,有人登录不上,典型的错误原因就是因为客户端没有公网IP,但用了IE作为FTP客户端来登录(IE默认使用PORT方式)。&nbsp;<br /></font><br /></font><font color=#000040>作为FTP站长,有必要掌握FTP的基础知识,然后指导您的朋友如何正确登录您的FTP。&nbsp;</font><br /><br />二、客户端有公网IP,但安装了防火墙&nbsp;<br /><br />如果用PASV方式登录FTP服务器,因为建立数据链路的时候,是由客户端向服务器发送连接请求,没有问题。反过来,如果用PORT方式登录FTP服务器,因为建立数据链路的时候,是由服务器向客户端发送连接请求,此时连接请求会被防火墙拦截。如果要用PORT方式登录FTP服务器,请在防火墙上打开&nbsp;1024以上的高端端口。&nbsp;<br /><br />三、连接用内网标准版cm*natpro*y搭建的FTP服务,必须要用PASV方式。连接任何公网FTP服务器、或用内网专业版TrueHost搭建的FTP服务器,PORT方式和PASV方式都可以使用。&nbsp;<br /><br />当然,使用PORT方式的时候,还要满足上面的两个条件。&nbsp;<br /><br />四、常见的FTP客户端软件PORT方式与PASV方式的切换方法。&nbsp;<br /><br />大部分FTP客户端默认使用PASV方式。IE默认使用PORT方式。&nbsp;<br /><br />在大部分FTP客户端的设置里,常见到的字眼都是“PASV”或“被动模式”,极少见到“PORT”或“主动模式”等字眼。因为FTP的登录方式只有两种:PORT和PASV,取消PASV方式,就意味着使用PORT方式。&nbsp;<br /><br />IE:&nbsp;<br /><br />工具&nbsp;-&gt&nbsp;Internet选项&nbsp;-&gt&nbsp;高级&nbsp;-&gt&nbsp;“使用被动FTP”(需要IE6.0以上才支持)。&nbsp;<br /><br />CuteFTP:&nbsp;<br /><br />Edit&nbsp;-&gt&nbsp;Setting&nbsp;-&gt&nbsp;Connection&nbsp;-&gt&nbsp;Firewall&nbsp;-&gt&nbsp;“PASV&nbsp;Mode”&nbsp;<br />或&nbsp;<br />File&nbsp;-&gt&nbsp;Site&nbsp;Manager,在左边选中站点&nbsp;-&gt&nbsp;Edit&nbsp;-&gt&nbsp;“Use&nbsp;PASV&nbsp;mode”&nbsp;<br />FlashGet:&nbsp;<br />工具&nbsp;-&gt&nbsp;选项&nbsp;-&gt&nbsp;代理服务器&nbsp;-&gt&nbsp;直接连接&nbsp;-&gt&nbsp;编辑&nbsp;-&gt&nbsp;“PASV模式”&nbsp;<br /><br />FlashFTP:&nbsp;<br /><br />选项&nbsp;-&gt&nbsp;参数选择&nbsp;-&gt&nbsp;代理/防火墙/标识&nbsp;-&gt&nbsp;“使用被动模式”&nbsp;<br />或&nbsp;<br />站点管理&nbsp;-&gt&nbsp;对应站点&nbsp;-&gt&nbsp;选项&nbsp;-&gt&nbsp;“使用被动模式”&nbsp;<br />或&nbsp;<br />快速连接&nbsp;-&gt&nbsp;切换&nbsp;-&gt&nbsp;“使用被动模式”&nbsp;<br /><br />LeechFTP:&nbsp;<br /><br />Option&nbsp;-&gt&nbsp;Firewall&nbsp;-&gt&nbsp;Do&nbsp;not&nbsp;Use&nbsp;<br /><br />五、请尽量不要用IE作为FTP客户端&nbsp;<br /><br />IE只是个很粗糙的FTP客户端工具。首先,IE6.0以下的版本不支持PASV方式;其次,IE在登录FTP的时候,看不到登录信息。在登录出错的时候,无法找到错误的原因。在测试自己的FTP网站的时候,强烈建议不要使用IE。&nbsp;<br /><br />

孤独泪 发表于 2007-9-21 12:34

请问一下21ic的ftp下载到底什么设置

cuteftp&nbsp;5.0xp&nbsp;版本<br />主机是什么:<br />用户名是什么:<br />密码又是什么:

xwj 发表于 2007-11-7 12:29

唉,21的FTP还是不正常

老是1分钟就超时断线,根本没法下载
页: [1]
查看完整版本: 基础知识:FTP为什么连不上之--FTP PORT方式和PASV方式的区