主题 : http ftp 下载教程
级别: 版块版主
0  发表于: 2007-08-31 17:35

http ftp 下载教程

管理提醒: 本帖被 付四 执行取消置顶操作(2010-05-15)
一、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建立连接的三次握手吧。所以如果安全的配置的话非常困难,这个时候就想起来了PASV模式,因为不用建立新的连接,所以也就不会涉及到后面的问题了。但是管理员可能不想使用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模式。

二、利用ie下载

1.打开ie。在ie的地址栏填上 ftp://用户名:密码@服务器地址,回车
2.例如:本论坛的ftp地址 ftp://211.155.128.100;用户名是zy.ydy.com 密码是c4Gi8sNh6i端口是7777
那么,在ie地址上应该这样填: ftp://zy.ydy.com:[email protected]:7777如果正确的话,你的ie将会出现一个窗口,选中你想要下载的文件后按鼠标右键单击弹出菜单,选复制到文件夹就完成了

请注意该法下载非常慢,而且很多时候连不上,但如果有list权限的话,该方法最为简便。

三、用Flashget或者是Netants下载

点击下列连接下载工具
http://www1.skycn.com/soft/879.html

A:以flashget为例,netants相似!
1. 先找到下载项目的直接连接地址(一般FTP区就可以找到)
2.打开Flashget,选择“任务”菜单,点选“新建下载任务”或者选择“编辑”菜单,点选“粘贴URL”,把地址贴到URL里,选择你的下载目标目录“保存到”,和文件被分的份数(也就是平时我们说的几线程),如果地址需要用户名和密码,勾选“登陆到服务器”,输入用户名和密码就行了(如果你想以后就用这个设置),选择“保存为缺省属性”,按“ok”开始下载。

3.点击“工具”菜单的“选项”栏,你还可以更改一些设置,如在“连接”内把连接速度改成最高,重试次数改成“一直重试”,“重试”改成1,等等.

B:用Flashget的站点资源探索器
1.如果要用Flashget来浏览ftp服务器中的内容,假设该ftp没有取消list的功能,在“工具”里选“站点资源搜索器”,输入地址ftp://...”,按登陆,输入用户名和密码即可。

2.点击站点资源探索器,在地址栏中你要的影片的完整地址,记得是全名,例如:ftp://211.155.128.100:7777/soccer/BARvsBRE-2006.12.06A.rmvb
点击地址栏后面的登陆键,将会出现用户和口令两个空格,你自己填吧,就是填用户名和密码,然后。。。。。。开始下载吧!

特别提一下如何方便下载连续剧
1、将提供的电视剧链接复制下来!
2、在Flashget里添加成批任务!!
复制到URL栏内将01.rm改为(*).rm
3、在从( )到( )内填入1~20 并确认!!!
4、填上登陆服务器账号、密码,下载!!!!

★公网IP
现在不少FTP(包括我自己)必须公网IP连接,如果你不是,那我帮不了你了~可能有高手可以解决~
★使用的工具不兼容
见不少人明明连上了,然后下了个LIST -al或LIST -la的命令,就无法继续了。对这一点,我的建议是使用flashfxp什么的应该都可以,只要不使用以上提过的命令就行~
★PASV连接
为了安全,现在有不少FTP(包括我自己)关闭了被动模式传输,这就意味着只能用PORT方式进行连接,而大多数下载工具默认都是PASV方式连接的,一般来说只要把连接方式改过来就行~但用了代理服务器的可能无法连接,改换的方法你可以打开options菜单,选择preference,然后再proxy/firewall/ident中把use passive mode前的勾选去掉即可,当然在这中间你还可以设定一些别的参数,例如重试的次数,时间间隔等,我就不多言了。