FTP基础知识和应用简易教程

时间:2008-10-03 13:20:49  来源:第二电脑网上收集  作者:

  第二电脑网导读:个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令,另一个是数据链路,用来上传或下载数据。如果用户要将若干个文件从自己的计算机上发送到一台FTP服务器上,就应使用FTP上载(upload)或(put)。而更多的情况是用户使用FTP下载(download)或获取(get)文件以及对FTP服务器进行文件删除、更名、移动等管理行为。  FTP协议有两种工作方式:PORT方式和PA...
  正文: 一、FTP基础知识

  FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件,和HTTP协议相比,FTP协议要复杂得多。复杂的原因在于FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令,另一个是数据链路,用来上传或下载数据。如果用户要将若干个文件从自己的计算机上发送到一台FTP服务器上,就应使用FTP上载(upload)或(put)。而更多的情况是用户使用FTP下载(download)或获取(get)文件以及对FTP服务器进行文件删除、更名、移动等管理行为。

  FTP协议有两种工作方式:PORT方式和PASV方式,意为主动方式和被动方式。

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

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

  从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同。而FTP的复杂性就在于此。两种方式的具体选择应随着FTP服务器的设置而做出跟服务器要求一致的FTP客户端设置,否则命令链路成功而数据链路会被服务器中断,就会出现很多朋友描述的无法列表、无法下载之类的现象。


二、FTP客户端软件

  向有需要使用FTP客户端下载工具的会员推荐两款界面友好、操作简便的FTP客户端软件。

  FlashFXP —— 自己目前一直在使用的客户端,功能强劲、界面操作非常人性化,推荐重点在于它的下载队列功能,添加下载队列很方便而且即使程序异常中断退出后再启动时下载队列会自动载入,不会丢失(除非你自己将队列文件删除),免去你重新在FTP服务器中查找需要下载的内容。不过如果FTP服务器设置了对(FTP_Bounce攻击和FXP)进行拦截的话可能会造成无法成功下载。但是无论怎样,该款FTP客户端软件还是作为首选推荐。
  FTP Voyager —— 出品Serv-U FTP Server的RhinoSoft.com软件公司同步推出的FTP客户端软件,推荐它的理由明显的一点就是与Serv-U FTP Server是一对兼容性很好的配套软件,而且目前使用Serv-U作服务器端程序的很普遍。没有记错的话,此软件好像是在2004年电脑报十大FTP客户端评测中成绩优秀、名列榜首。这个软件也是本人一直在使用的,如果有兴趣可以尝试一下。
需要这两款软件的朋友推荐去“汉化新世纪”网站
点击在新窗口查看全图


三、FTP常见问题解答

  Q:该如何设置FTP软件的参数?
  A:FTP软件在上传下载时一般需要填写三个参数:host address(主机地址)或是FTP SERVER(FTP域名),在此处填写FTP服务器的域名(如:hotinfo.3322.org);username (登录用户),在此处填写FTP服务器中开设的用户名(如:LIST);password(登录密码),在此处填写登录用户对应的正确登录密码(如:LIST)。另外还需根据服务器特定要求设定访问端口和方式等参数。

  Q:为什么我的FTP软件连不上服务器?
  A:首先请检查网络是否通畅(可以PING一下站点主机,比如:ping hotinfo.3322.org -t),再请检查FTP软件中该FTP主机域名和端口设置是否正确,最后查一下您是否使用了某些防火墙或网关代理软件,看这些软件是否将FTP的默认21端口和其他需用的端口屏蔽了。

  Q:FTP连接后,无法列表?
  A:用户在使用FTP上传下载文件时出现无法列表的情况,可能是由于没有根据FTP服务器设置要求正确选择PASV方式或PORT方式进行上传下载而导致的。因此,请用户根据服务器要求相应调整PASV方式或PORT方式。不同的FTP客户端软件,不同的软件版本,设置方法也会略有不同,因此需要根据实际情况进行设置。一般这个设置多出现在FTP站点管理器的选项页签内,很容易找到。

  Q:为什么我上传下载时会提示“Socket 链接错误”或“Can't open data connection.”?
  A:如果你的电脑于操作系统中装有防火墙或杀毒软件,很有可能会造成上述的错误。建议在使用FTP作上传下载时先暂时将防火墙或杀毒软件关闭。如果继续使用防火墙,请为FTP设置“应用程序设置规则”。

  Q:为什么上传下载的文件与原文件比较字节数改变且可能不好用了?
  A:有时上传下载文件时,特别是某些二进制文件(但它的扩展名是文本文件的扩展名),传送完成后,发现该文件的字节数不对。在这种情况下,请将FTP软件的设置改为二进制传输模式(binary)。如果是用DOS提示符下的FTP命令,可以在FTP登录成功后,输入binary命令(当然现在一般人都不会再使用这样的方式),再上传下载文件。


四、FTP常见响应代码注释

  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 Too many user……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.
  请求操作未被执行。文件名未获允许。


五、FTP应用篇

(一).FlashFXP应用篇

  首先下载安装FlashFXP客户端,然后启动该软件出现主界面。(参照图例:图1)


点击在新窗口查看全图

  选择主菜单“站点”中的“站点管理器”。(参照图例:图2)


点击在新窗口查看全图

  新建站点,输入自定义的FTP站点的名称、IP地址(FTP服务器的地址,也称FTP域名)、端口、用户名称和密码,本地路径就是本地计算机的什么位置存放针对从该FTP服务器下载的东东,如果你的下载位置相对固定的话可以在软件总的选项里进行设置,当然对本地路径也可以不作设定,可以在客户端本地文件夹浏览器中灵活切换。选项页签内可以设置PASV或PORT以及其它一些设置。设置完后按应用(即保存)。(参照图例:图3、图4)


点击在新窗口查看全图


点击在新窗口查看全图


  设置完成可关闭站点管理器,按下图1中标示的按钮进行站点操作,也可以按下连接直接进入到指定的FTP服务器,直至成功地显示服务器的目录列表。(参照图例:图5)


点击在新窗口查看全图

  找到自己想要的下载项目,鼠标右键选择传输(单个项目立即下载)或者队列(成批项目稍后下载),又或者直接按住鼠标左键把文件拖到左下角的队列框里然后选择传输队列。(参考图例:图6)


点击在新窗口查看全图

  FlashFXP的基本设置已经完成,可以从事下载工作了,还有一些如连接重试延迟(缺省为120秒,用户自定义的话可根据服务器的常规设定作适当调整,否则被封了IP可不划算)等其它参数设置、文件存在规则、过滤器等等要看你是否需要了,需要者可以在“选项”菜单中操作。下面贴上几个图供参考。(参考图例:图7、8、9)


点击在新窗口查看全图


点击在新窗口查看全图


点击在新窗口查看全图



  至此,FlashFXP的设置到应用就基本搞定了,看似复杂却很简单,接下来就是进入FTP上传下载实战了。



六、编后语

  整理这份简易教程的主要目的仅仅是能让一些对FTP下载不是很了解的朋友有个参考,教程中提到的FlashFXP和FlashGET的基本用法或许对部分会员有用。因为时间仓促,整理出来的这份简易教程可能存在这样那样的错误和不足,欢迎各位指正!另外,未对其它FTP客户端和下载工具作阐述,但是设置的方法基本相同,不是很了解的朋友可以耐心的试着自行设置,通过自己的摸索就会有不一样的心得,欢迎会员将自己的心得整理出来以跟帖形式发表,当然也可以新帖方式发表。

FTP基础知识和应用简易教程》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Server/Management/2008-10-03/371.html


关键字:

关于《FTP基础知识和应用简易教程》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td