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

[【相关其他】] 转贴--FTP命令全集及登陆错误详解

[复制链接]
发表于 2006-7-27 23:50:36 | 显示全部楼层 |阅读模式
FTP命令是Internet用户使用最频繁的命令之一,熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍之效。

如果你想学习使用进行后台FTP下载,那么就必须学习FTP指令。

FTP的命令行格式为: ftp -v -d -i -n -g [主机名] ,

其中 -v 显示远程服务器的所有响应信息;

-n 限制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]:显示远程主机目录,并将结果存入本地文件

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:设置文件名只一性存储,若文件存在,则在原文件后加后缀.1, .2等。

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.

转自鸭绿江代理论坛
回复

使用道具 举报

 楼主| 发表于 2006-7-27 23:52:26 | 显示全部楼层
FTP登陆错误详解

ftp登陆不了是很经常碰到的事,很多人常常是不加分析就发贴询问。老实说,这样既浪费自己时间,又浪费别人精力,还常常不能得到满意的回答。因此每一位希望从ftp站点发现资源的朋友都有必要学会分析登陆失败的原因:

所谓登陆提示,是指登陆时你与服务器双向交流的一些指令及状态提示,你如果看到类似这样的字样,那就是了:
*** CuteFTP Pro 2.0 - build Dec 4 2001 ***

状态:> 正在获取列表“”...
状态:> 正在连接到 ftp 服务器 211.*.*.*:* (ip = 211.*.*.*:*)...
状态:> Socket 已连接。正在等候欢迎消息...
220 FTP服务器已启动
状态:> 已连接。正在验证...
命令:> USER software
331 User name okay, need password.
命令:> PASS *****
230 User logged in, proceed.
状态:> 登录成功。
命令:> PWD
257 "/" is current directory.

这个东西是非常重要的,请一定加以注意。

常见错误分析
如果见到下述字样,并停留较长时间
状态:> 正在连接到 ftp 服务器 211.*.*.*:*(ip = 211.*.*.*:*)...

之后见到:
错误:> 无法连接到远程服务器。Socket 错误 = #10060。
状态:> 正在等候 30 秒...

出现该种情况有两种可能:
一为对方未开ftp或者无法连通,请与ftp管理者联系
二则是因为端口填写错误。一般默认为21,但是因为此种端口在某些网络中易引起冲突,安全性也值得商榷,故多数ftp更改了端口。如果你没有填写端口(ftp软件会默认21)或者填写错误,也会引起10060错误.

如果见到下述字样
Thu Mar 07 11:44:56 2002 530 Sorry, no ANONYMOUS access allowed

表明该ftp不允许匿名者登陆,请与ftp管理者联系,并取得账号

Thu Mar 07 11:46:29 2002 USER bugdown
  Thu Mar 07 11:46:30 2002 331 User name okay, need password.
  Thu Mar 07 11:46:30 2002 PASS ********
  Thu Mar 07 11:46:30 2002 530 Not logged in.
 有两种可能
1 账号或者密码输入错误,被拒绝登陆。请先确定你没有输入错误(较复杂的密码建议用复制粘贴来填写,并注意有无空格),然后与ftp管理者联系以确认你的账号没有过期。目前大部分的ftp都会定期更改密码,所以此宗错误是最常见的。
2 用了花生壳等动态域名,有时会出现这样的现象:如果ftp没有开,有人以动态域名登陆时,动态域名的服务商会将你自动转到它自己的提示性ftp,这时有可能出现密码错误,也有可能登陆到它的服务器。部分以iis为基础建立的ftp有可能转至微软的服务器,现象类同。

Thu Mar 07 11:51:25 2002 421 Too many users - please try again later.

这是因为ftp管理者设定了该帐号(或者该域名)的最大登陆人数,现在已经达到这一限制,因此你无法登陆。只有等待其他用户退出或者使用其他账号,你才可能进入ftp.

命令:> PASS *****
530 Not logged in, only one session from same IP allowed at a time.
错误:> 未登录。
状态:> 连接已关闭。
该帐号只允许单线程登陆,因此请注意你是否打开多个窗口或者已经有一个线程在下载

在登陆人数已满,而你不断尝试登陆,有三种可能的情况:
1 你终于挤进去了
2 谈出窗口提示错误,并在登陆错误指令见到这样的字样:
错误:> 控制连接已关闭。
表明ftp服务器拦截你这样频繁的尝试。你可以不管它,确定之后继续尝试;但是稍有道德的人都应该把ftp软件的全局设置中关于连接重试尝试的间隔时间修改到较大,一般提倡30秒到2分钟。
3 你被ban了。serv-U所作的服务器不能自动ban ip,但是管理者可以手工ban,部分服务器端软件可以自动封ip。被ban的提示为:
命令:> PASS *****
530 Not logged in, unauthorized IP address.

上面的提示
命令:> PASS *****
530 Not logged in, unauthorized IP address.
就是说你的ip是不合法的,不管是因为什么原因,总之除非你与管理者联系并解封,实在是没有继续尝试的必要。当然,管理者可能只是ban你一段时间,你可以过后再重新尝试。但是一定记得更改你的尝试间隔时间。

有时候不是因为封了你,而是因为该帐号限制只有部分许可的ip可以登陆,同样你必须与管理者联系,请他手工添加你的ip

常见FTP登陆Log信息
1. Connected. Waiting for response.
220 Serv-U FTP Server v4.0 for WinSock ready...
USER anonymous
530 Sorry, no ANONYMOUS access allowed.
QUIT
这个就是不许匿名登录啦
2. Connected. Waiting for response.
220 Serv-U FTP Server v4.0 for WinSock ready...
USER test
331 User name okay, need password.
PASS xxxxxx
530 Not logged in.
QUIT
一般是密码输入错误时出现的信息,但对于Serv-U来说,如果没有这个帐号(test)存在,也会产生同样的出错信息。
3. Connecting to xxx.xxx.xxx.xxx, Port 21 (#1)
ERROR: Connection timed out
这个表明对方未开机,也可能是对方不在你能访问的范围内
4. Connecting to xxx.xxx.xxx.xxx Port 21 (#1)
ERROR: Connection refused
这个一般表明对方已开机,但未开启FTP服务(没有开Serv-U)
也可能为对方不提供在这个端口上的服务
5. Connecting to xxx.xxx.xxx.xxx, Port 21 (#1)
Connected. Waiting for response.
Disconnected from server.
Connection attempt failed. Waiting for retry...
出现这个信息实在是很倒霉,你极有可能被对方Ban了。
如果只是Ban几分钟or几小时or一天还好,不然只有和站长说说好话,让他给你解封吧。
6. Connecting to xxx.xxx.xxx.xxx, Port 21 (#1)
Connected. Waiting for response.
USER XXX
331 User name okay, need password
PASS xxxxxx
530 Not logged in, unauthorized IP address.
QUIT
这个有点麻烦,你的IP不在站长允许访问的IP范围内,只有和站长联系,让他把你的IP网段加入Allow Access列表里吧
7. Connected. Waiting for response.
220 Serv-U FTP Server v4.0 for WinSock ready...
USER user
421 Too many users - please try again later.
哈哈,这个很常见吧,用户太多,去过交大的都知道该怎么做
8. Connected. Waiting for response.
220 Serv-U FTP Server v4.0 for WinSock ready...
USER test
530 Not logged in, only one(也有可能是two or three) session from same IP allowed at a time.
QUIT
每个IP只能开一个(也有可能是two or three) 下载,就不要用多线程啦,小心Ban了你。

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.
  控制连接关闭
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 "ATHNAME" 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
  请求操作未被执行。 文件名不允许
回复

使用道具 举报

发表于 2006-7-28 00:27:42 | 显示全部楼层
谢谢,眼都花了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-29 13:45 , Processed in 0.306964 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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