找回密码
 注册
搜索
热搜: 超星 读书 找书
查看: 1686|回复: 1

[【相关其他】] ftp详解

[复制链接]
发表于 2005-12-13 22:08:40 | 显示全部楼层 |阅读模式
一、FTP简介

  在网络应用中,最广泛的当属WWW和FTP这两种。FTP就是File Transport Protocol文件传输协议的缩写,FTP服务器能够在网络上提供文件传输服务。FTP服务器根据服务对象的不同可分为匿名服务器(Anonymous Ftp Server)和系统FTP服务器。前者是任何人都可以使用,后者就只能是在FTP服务器上有合法账号的人才能使用。
文件上传应注意的问题
一、避免零字节文件的出现

  有一次利用WS_FTP32上传文件,一个较长的html文件上传中途多次停止,重复多次均没有成功。无奈中止连接,重新拨号上网。启动WS_FTP继续上传时,系统拒绝执行,显示“文件正被其他程序使用”。用WS_FTP查看远程目录,确实存在这个准备上传的文件,但字节为零,在远程目录上执行改名等操作,均无法正常执行。由于此html文件为本人主页的首页面,上传不了将导致整个主页无法浏览,最后只有把本地硬盘的文件改名并上传,才恢复主页的正常浏览。第二天重新用WS_FTP查看远程目录时,才发现这个零字节的文件消失。所以在上传过程中,一般不要中途中止上传操作,尤其不要中途下网,一旦产生这样的文件时,请与管理员联系协助解决。

  二、避免破坏本地文件

  另外一次上传操作,运行WS_FTP连通服务器后,在两个窗口中分别列出了本地硬盘文件及远程目录文件。在查看远程目录文件时,发现一个零字节的文件,无意中用鼠标点击一下,没想到错误动作引起鼠标双击,而双击远程文件会执行下载操作,只见窗口闪动一下,本地硬盘中的同名文件变成了零字节。该文件存有本人用一星期的时间收集的内容,前次上传没有成功,并且没有备份,所有辛苦所得成果毁于一旦,真是后悔莫及,至今没能恢复原来的所有内容。

  三、注意大小写字母

  很多主页空间可随意建立自己的下级目录,把不同的文件存到不同的目录中确实是一种很好的管理方法。你上传过程中在远程目录上建立下级目录时,一定要注意大小写字母,要与网页设计中所使用的目录名一致,否则将无法正确调用目录中的内容,因为大多数远程服务器,对于文件或目录名的大小写非常敏感。

  四、正确设置本地及远程目录

  几乎所有的FTP上传软件均可设置本地及远程目录的路径,这样程序启动之后将自动切换到指定的目录内,可以为你节省很多时间。远程目录的设置尤为重要,因为你连通到远程的根目录之后再用鼠标切换需要很长的时间。这是WS_FTP的配置方法(以在视聆通上连接广东湛江个人天地FTP服务器为例):运行此程序后,在“Porfile name”栏内填上一个标识比如“ZJ”,在“host name”栏内填上FTP服务器的名称,具体为“www2.zj.gnet.gd.cn”,在“USER ID”填上你的账号,在“Passowrd”处填上密码,在“Remote Host”处填上远程目录名称“/home/jinyt”,其中Jinyt为我的目录名称,在“LocalPC”处输入主页数据存放的本地硬盘目录,之后按下“SAVE”键存储即可,再按下OK按钮开始连接,很快便连通指定目录。
FTP命令行使用精萃

  FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作系统下使用FTP,都会遇到大量的FTP内部命令。熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍之效。
  FTP的命令行格式为: ftp -v -d -i -n -g [主机名] ,其中
  -v 显示远程服务器的所有响应信息;
  -i 限制ftp的自动登录,即不使用;
  -n etrc文件;
  -d 使用调试方式;
  -g 取消全局文件名。
  ftp使用的内部命令如下(中括号表示可选项):
  1. ![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zip。
  2. $ macro-ame[args]:执行宏定义macro-name。
  3. account[password]:提供登录远程系统成功后访问系统资源所需的补充口令。
  4. append local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。
  5. ascii:使用ascii类型传输方式。
  6. bell:每个命令执行完毕后计算机响铃一次。
  7. bin:使用二进制文件传输方式。
  8. bye:退出ftp会话过程。
  9. case:在使用mget时,将远程主机文件名中的大写转为小写字母。
  10. cd remote-dir:进入远程主机目录。
  11. cdup:进入远程主机目录的父目录。
  12. chmod mode file-name:将远程主机文件file-name的存取方式设置为mode,如: chmod 777 a.out 。
  13. close:中断与远程服务器的ftp会话(与open对应)。
  14. cr:使用asscii方式传输文件时,将回车换行转换为回行。
  15. delete remote-file:删除远程主机文件。
  16. debug[debug-value]:设置调试方式, 显示发送至远程主机的每条命令,如: deb up 3,若设为0,表示取消debug。
  17. dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件local-file。
  18. disconnection:同close。
  19. form format:将文件传输方式设置为format,缺省为file方式。
  20. get remote-file[local-file]: 将远程主机的文件remote-file传至本地硬盘的local-file。
  21. glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。
  22. hash:每传输1024字节,显示一个hash符号(#)。
  23. help[cmd]:显示ftp内部命令cmd的帮助信息,如:help get。
  24. idle[seconds]:将远程服务器的休眠计时器设为[seconds]秒。
  25. image:设置二进制传输方式(同binary)。
  26. lcd[dir]:将本地工作目录切换至dir。
  27. ls[remote-dir][local-file]:显示远程目录remote-dir, 并存入本地文件local-file。
  28. macdef macro-name:定义一个宏,遇到macdef下的空行时,宏定义结束。
  29. mdelete[remote-file]:删除远程主机文件。
  30. mdir remote-files local-file:与dir类似,但可指定多个远程文件,如: mdir *.o.*.zipoutfile 。
  31. mget remote-files:传输多个远程文件。
  32. mkdir dir-name:在远程主机中建一目录。
  33. mls remote-file local-file:同nlist,但可指定多个文件名。
  34. mode[modename]:将文件传输方式设置为modename, 缺省为stream方式。
  35. modtime file-name:显示远程主机文件的最后修改时间。
  36. mput local-file:将多个文件传输至远程主机。
  37. newer file-name: 如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。
  38. nlist[remote-dir][local-file]:显示远程主机目录的文件清单,并存入本地硬盘的local-file。
  39. nmap[inpattern outpattern]:设置文件名映射机制, 使得文件传输时,文件中的某些字符相互转换,如:nmap $1.$2.$3[$1,$2].[$2,$3],则传输文件a1.a2.a3时,文件名变为a1,a2。该命令特别适用于远程主机为非UNIX机的情况。
  40. ntrans[inchars[outchars]]:设置文件名字符的翻译机制,如ntrans1R,则文件名LLL将变为RRR。
  41. open host[port]:建立指定ftp服务器连接,可指定连接端口。
  42. passive:进入被动传输方式。
  43. prompt:设置多个文件传输时的交互提示。
  44. proxy ftp-cmd:在次要控制连接中,执行一条ftp命令,该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。
  45. put local-file[remote-file]:将本地文件local-file传送至远程主机。
  46. pwd:显示远程主机的当前工作目录。
  47. quit:同bye,退出ftp会话。
  48. quote arg1,arg2...:将参数逐字发至远程ftp服务器,如:quote syst。
  49. recv remote-file[local-file]:同get。
  50. reget remote-file[local-file]:类似于get,但若local-file存在,则从上次传输中断处续传。
  51. rhelp[cmd-name]:请求获得远程主机的帮助。
  52. rstatus[file-name]:若未指定文件名,则显示远程主机的状态,否则显示文件状态。
  53. rename[from][to]:更改远程主机文件名。
  54. reset:清除回答队列。
  55. restart marker:从指定的标志marker处,重新开始get或put,如:restart 130。
  56. rmdir dir-name:删除远程主机目录。
  57. runique:设置文件名唯一性存储。
  58. send local-file[remote-file]:同put。
  59. sendport:设置PORT命令的使用。
  60. site arg1,arg2...:将参数作为SITE命令逐字发送至远程ftp主机。
  61. size file-name:显示远程主机文件大小,如:site idle 7200。
  62. status:显示当前ftp状态。
  63. struct[struct-name]:将文件传输结构设置为struct-name,缺省时使用stream结构。
  64. sunique:将远程主机文件名存储设置为唯一(与runique对应)。
  65. system:显示远程主机的操作系统类型。
  66. tenex:将文件传输类型设置为TENEX机的所需的类型。
  67. tick:设置传输时的字节计数器。
  68. trace:设置包跟踪。
  69. type[type-name]:设置文件传输类型为type-name,缺省为ascii,如:type binary,设置二进制传输方式。
  70. umask[newmask]:将远程服务器的缺省umask设置为newmask,如:umask 3。
  71. user user-name[password][account]:向远程主机表明自己的身份,需要口令时,必须输入口令,如:user anonymous my@email。
  72. verbose:同命令行的-v参数,即设置详尽报告方式,ftp服务器的所有响应都将显示给用户,缺省为on。
  73. ?[cmd]:同help。
ftp命令大全
http://www.dxy.cn/bbs/post/view? ... mp;tpg=1&age=-1
Ftp服务器如何实现安全性 



作为Internet上的ftp服务器,系统的安全性是非常重要的,这是建立ftp服务器者所考虑的第一个问题。其安全性主要包括以下几个方面:

一、 未经授权的用户禁止在服务器上进行ftp操作。

二、 ftp用户不能读取未经系统所有者允许的文件或目录。

三、 未经允许,ftp用户不能在服务器上建立文件或目录。

四、 ftp用户不能删除服务器上的文件或目录。

ftp服务器采取了一些验明用户身份的办法来解决上述第一个问题,主要包括以下几个措施:

ftp用户所使用的用户帐号必须在/etc/passwd文件中有所记载(匿名ftp用户除外),并且他的口令不能为空。在没有正确输入用户帐号和口令的情况下,服务器拒绝访问。

ftp守护进程ftpd还使用一个/etc/ftpusers文件,凡在这个文件中出现的用户都将被服务器拒绝提供ftp服务。服务器管理可以建立“不受欢迎”的用户目录,拒绝这些用户访问。

只有在服务器的/etc/passwd文件中存在名为“ftp\"的用户时,服务器才可以接受匿名ftp连接,匿名ftp用户可以使用“anonymous\"或“ftp\"作为用户名,自己的Internet电子邮件地址作为保密字。为了解决上述安全性的另外三个问题,应该对ftp主目录下的文件属性进行管理,建议对每个目录及其文件采取以下一些措施:
---- ftp主目录:将这个目录的所有者设为“ftp\",并且将属性设为所有的用户都不可写,防止不怀好意的用户删改文件。
---- ftp/bin目录:该目录主要放置一些系统文件,应将这个目录的所有者设为“root\"(即超级用户),并且将属性设为所有的用户都不可写。为保证合法用户可显示文件,应将目录中的ls文件属性设为可执行。

---- ftp/etc目录:将这个目录的所有者设为“root\",并且将属性设为所有的用户都不可写。将目录下的group文件和passwd文件的属性设为所有用户只读属性,并用编辑器将passwd文件中用户加过密的口令删掉。

---- ftp/pub目录:将这个目录的所有者置为“ftp\",并且将它的属性设为所有用户均可读、写、执行。

---- 这样经过设置,既保证了系统文件不被删改,又保证了ftp合法用户的正常访问。
FTP站点无法连接的几种可能

1、站点关闭了。有些服务器只在特定时间开放,其他时候是无法连的,不过也有可能是永久性关闭。

2、连接人数过多。部分服务器限制了最大连结束,FTP软件里显示\"Too many user\"就是这种情况。ftp软件的自动重新连接时间一般是30-120秒,不要把重连时间改得太短,改短了可能会封IP,一般15秒就差不多了。建议加上连通后的声音提示。

3、IP限制。一些服务器一个IP只允许一个线程,超过了就会无法连接,情况严重还会封IP,这样只能断线重拨了。如果是C类IP被封可能重拨都不管用。
4、地址填错了。注意FTP软件里要填的地址不包括\"ftp://\"。

5、用户名密码不对。不是所有的FTP服务器都可以匿名登陆的,如果你的密码是粘贴上去的注意不要多复制了空格。有些服务器的密码经常更换,这就需要重新找密码了。资源区的一部分站点给出了主页地址或论坛地址,里面可能有密码。有很多站点的http和ftp是同一台服务器,在浏览器里直接输地址看看(注意不要把ftp://带上,如果域名的开头是ftp,换成www试试看。)。

6、端口号错了。FTP服务器的默认端口号是21,但有些站点可能会修改端口号。
ftp 的使用其实和我们在网页上下载一样简单,只要你找对了工具。
现在的ftp下载和上传工具一般都支持断点续传功能例如:HA-filezilla214-XW

http://down.tyfo.com/down/soft/p ... 2003-03-26/20030326,135250,9100.shtml
它是一个免费的 FTP 客户端软件,虽然它是免费软件,可功能却一点也不含糊,比起那些共享软件来有过之而无不及,在新的版本中作者改进了手动下载的界面和功能等,不过该软件暂时还是不支持断点续传功能。总的来说是一款优秀的免费软件,而且是中文界面,可以上传,也可以下载。

不过现在很多人只是下载,那可以用flashget,而且他的下载速度是比较快的
1,在flashget里选择站点资源管理器
2,填上地址和用户名和密码
3,选择要下载的文件
4,下载

如果你想架设ftp服务器你可以用专门的软件如:http://soft.shangdu.com/query/typequery.asp?dtype=1&xtype=2
也可以用操作系统自带的(需win2000的各版本)在控制面板--添加或删除程序--添加或删除windows组件---internet信息服务---ftp 选中后,安装
然后在控制面板--管理工具中进行配置就可以了
回复

使用道具 举报

发表于 2005-12-14 01:21:22 | 显示全部楼层
很详细,值得学习。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|网上读书园地

GMT+8, 2024-5-15 18:48 , Processed in 0.314887 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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