FTP协议(指令集)

FTP协议采用一系列简单的协议来完成文件传输的各种任务,在发送命令的时候,总是在命令的最后加上一个回车换行符,在VB中可以用“vbcrlf”来实现,vc中以“/r/n”表示。以下的命令是从Postel和Reynolds所著的RFC 929修改而来,如果读者想查看详细内容,可以参见英文版RFC 929。注意以下出现地标志符CRLF表示的是回车符号,即相当于VC中的“/r/n”。

1.  ABOT(Abort,中止)命令

说明:告诉服务器中止上一次FTP服务命令及所有相关的数据传输。

用法:ABOR﹝CRLF﹞

参数:无。

例子:

SendData "ABOR" + “/r/n”

注释:中止命命令可以请求“特殊操作”以强行引起服务器的重视(详情请参看RFC959)。如果上一次命令已经完成(包括数据传输),就不会导致任何操作。服务器不会关闭控制连接,但必须关闭数据连接。

服务器在接收到此命令时可能处于两种状态下:(1)FTP服务命令已经完成,(2)FTP服务命令尚在处理中。

在第一种状态下,服务器关闭数据连接(如果它是打开的)并响应以226应答,表示已成功执行了中止命令。

在第二种状态下,服务器中止正处理中的FTP服务并关闭数据连接,返回426应答,表示该服务请求被异常终止。然后服务器发送226应答,表示成功执行了中止命令。

l         225  数据连接打开,没有正在进行的传输

l         226  关闭数据连接,请求的文件操作成功。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         226  连接关闭,传输终止。

l         500  语法错误,无法识别命令。

这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         502  命令还没有被实现。

2.  ACCT(Account,帐号)命令

说明:指定用户的帐号信息。这条命令只能在发送PASS命令并接收到332代码之后发送。

用法:ACCT<Account><CRLF>

参数:Account是用户的帐号,访问某些服务时可能另外需要它。

例子:

SendData "ACCTN322s"  + “/r/n

注释:当登录需要帐号信息时,一条成功的PASS命令的响应是应答代码332。反之,如果登录不需要帐号信息,成功的PASS命令的应答是230;如果在对话中后来发出的命令需要帐号信息,服务器会返回332或532应答,这分别取决于它是保存(在接收ACCT命令期间)还是丢弃此命令。

返回值(粗体表示成功):

l         202  命令还没有被实现,在此站点上是多余的。

l         230  用户已登录,请继续。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         500  语法错误,无法识别命令。

这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         502  命令还没有被实现。

l         503  命令的顺序不对。

l         530  无法登录。

3.  ALLO(Allocate,分配)命令

说明:发送文件前在服务器上分配X个字节

用法:ALLO<NumberBytes[<MaxSize>]<CRLF>

参数:NumberBytes是一个整数,代表为该文件保留的内存字节数(使用逻辑字节大小计算)。MaxSize是在使用记录或页数据结构时可选的最大记录或页大小。

例子:

SendData "ALLO 3000 128"  + “/r/n

注释:一些要保留足够内存以容纳将要传输的新文件的服务,会请求这条命令。对于用记录或页结构发送的文件来说,最大记录或页大小(以逻辑字节计)也可能是必需的;它以这条命令的第二个参数字段中的十进制整数表示。这第二个参数是可选的,但在出现时应该与第一个参数三个ASCII字符<SP>P<SP>分隔开。这条命令后跟一条STORe或APPEnd命令。那些不要求事先声明最大文件大小的服务器应该把ALLO命令视为NOOP(不操作),而那些只关心最大记录或页大小的服务器应该受第一个参数的值,然后忽略它。

返回值(粗体表示成功):

l         200  命令成功。

l         202  命令还没有被实现,在此站点上是多余的。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将被关闭,会向所有命令做出这个应答。

l         500  语法错误,无法识别命令。

这其中包括命令行过长之类的错误

l         501  参数或变元中有语法错误

l         504  命令中还没有实现该参数

l         530  无法登录。

4.  APPE(Append with create,附加和创建)命令

说明:让服务器准备接收一个文件并指示它把这些数据附加到指定的文件名,如果指定的文件尚未存在,就创建它。

用法:APPE<FileName><CRLE>

参数:FileName是服务器站点上一个完全合格的路径和文件名。

例子:

SendData "APPE" & szFileName  + “/r/n

返回值如下(粗体表示成功)。

l         110  重新启动标记应答。

在此情况下,文本是精确的,而且不会留给特殊的实现处理;它必须读取:

MARK yyyy=mmmm

其中yyyy是用户进程的数据流标记,mmmm是服务器上的相应标记(请注意标记和“=”之间的空格)。

l         125  数据连接已打开,传输启动。

l         150  文件状态没问题,准备打开数据进行连接。

l         226  关闭数据连接,请求的文件操作已成功。

l         250  请求的文件操作没问题,已完成。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         425  无法打开数据连接。

l         426  连接关闭;传输中止。

l         450  请求的文件操作无法执行,文件不可用(例如文件正忙)。

l         451  请求的操作被中止,处理中发生本地错误。

l         452  请求的操作无法执行,系统的存储空间不足。

l         500  语法错误,无法识别命令。

这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         502  命令还没有被实现。

l         530  无法登录。

l         532  文件的存储需要帐号。

l         550  请求的操作无法执行,文件不可用(例如找不到文件,无访问权)。

l         551  请求的操作被中止,未知的页类型。

l         552  请求的文件操作被中止,超过了分配的存储单元(对当前目录或数据集而言)。

l         553  请求的操作无法执行,不允许的文件名。

5.  CDUP(Change to Parent Directory,变为父目录)命令

说明:把当前目录改为远程文件系统的根目录,无需改变登录、帐号信息或传输参数。

用法:CDUP<CRLF>

参数:无。

例子:

SendData "CDUP"  + “/r/n

注释:CDUP目录可改为父目录。MS-DOS中的等效命令是cd/。创建这条命令是为了适应FTP的不同操作系统。

返回值如下(粗体表示成功):

l         250  请求的文件操作正常进行,已完成。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         502  命令还没有被实现。

l         530  无法登录。

l         550  请求的操作无法执行,文件不可用(例如找不到文件,无访问权)。

6.  CWD(Change Working Directory,改变工作目录)命令

说明:把当前目录改为远程文件系统的指定路径,而无需改变登录、帐号信息或传输参数。

用法:CWD<Path><CRLF>

参数:Path是远程系统上的一个工作目录。

例子:

SendData "CWD/pub/cgvb/uploads"  + “/r/n

返回值如下(粗体表示成功):

l         250  请求的文件操作正常进行,已完成。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命做出这个应答。

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         502  命令还没有被实现。

l         530  无法登录。

l         550  请求的操作无法执行,文件不可用(例如找不到文件,无访问权)。

7.  DELE(Delete,删除)命令

说明:删除服务器站点上在路径名中指定的文件。

用法DELE<FileName><CRLF>

参数:FileName是服务器站点上一个完全合格的路径和文件名。

例子:

SendData "DELE temp.fil" + “/r/n

注释:如果期望有额外的保护级别(例如选项"确实要删除此文件吗?"),这应该由客户软件提供。

返回值如下(粗体表示成功):

l         250  请求的文件操作正常进行,已完成。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         450  请求的文件操作无法执行,文件不可用(例如文件正忙)。

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         502  命令还没有被实现。

l         530  无法登录。

l         550  请求的操作无法执行,文件不可用(例如找不到文件,无访问权)。

8.  HELP(Help,帮助)命令

说明:让服务器通过到客户的控制连接发送有关其实现状态的帮助信息。

用法:HELP[<Topic>]<CRLF>

参数:Topic是一个可选的命令,或是请求哪条命令有关文本的其他参数。

例子:

SendData "HELP" + “/r/n

注释:HELP可以带一个参数(例如任何命令的名称),以在响应中返回更具体的信息。应答为类型211或214。建议在输入USER命令前允许使用HELP命令。服务器可以使用这个应答来指定站点相关的参数,例如在对HELP SITE的响应中。

返回值如下(粗体表示成功):

l         211  系统状态,或系统的帮助应答。

l         214  帮助消息。

描述如何使用服务器或某条不常用的具体命令的方法。这个应答只对用户有用,因为帮助消息没有标准的格式。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向有命令做出这个应答。

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         502  命令还没有被实现。

9.  LIST(List,列表)命令

说明:让服务器给客户发送一份列表。

用法:LIST[<PathName>]<CRLF>

参数:PathName是服务器系统上的一个有效路径和文件规范。

例子:

SendData "LIST pub/*.*" + “/r/n

注释:如果路径名指定的是一个目录或其他文件组,服务器传送一份位于指定目录中的文件的列表。如果路径名指定的是一个文件,那么服务应该发送此文件的当前信息。空变元则暗指用户的当前工作目录或默认目标。数据将在类型ASCII或类型EBCDIC中通过数据连接传送(用户必须确保ASII或EBCDIC的类型适当)。

因为系统与系统之间的文件信息可能有很大差别,所以这项信息要在程序中自动使用可能很困难,但对用户来说会很有用。

返回值如下(粗体表示成功):

l         125  数据连接已打开,传输启动。

l         150  文件状态没问题,准备打开数据连接。

l         226  关闭数据连接,请求的文件操作已成功。

l         250  请求的文件操作正常进行,已完成。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         425  无法打开数据连接。

l         426  连接关闭,传输中止。

l         450  请求的文件操作无法执行,文件不可用(例如文件正忙)。

l         451  请求的操作被中止,处理中发生本地错误。

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         502  命令还没有被实现。

l         530  无法登录。

10.  MKD(Make Directory ,创建目录)命令

说明:创建一个在路径名中指定的目录(如果是绝对路径名)或当前工作目录的子目录(如果是相对路径名)。

用法:MKD<Path><CRLF>

参数:Path是服务器端上的一个有效路径。

例子:

SendData "MKD /users/johnsmith" + “/r/n

返回值如下(粗体表示成功):

l         257  “PATHNAME”已创建。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         502  命令还没有被实现。

l         530  无法登录。

l         550  请求的操作无法执行,文件不可用(例如找不到文件,无访问权)。

11.  MODE(Transfer Mode,传输模式)命令

说明:指定传输模式。

用法:STRU<Mode><CRLF>

参数:Mode是如下ASCII值的其中之一:

S——Stream(流,默认值)

B——Block(块)

C——Compressed(经过压缩)

例子:

SendData "STRU B" + “/r/n

返回值如下(粗体表示成功):

l         200  命令成功。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         500  语法错误,无法识别命令。这其中包括令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         504  命令中还没有实现该参数。

l         530  无法登录。

 

12.  NLST(Name List,名称列表)命令

说明:让服务器给客户发送一份目录列表。

用法:NLST[<PathName>]<CRLF>

参数:PathName是服务器系统上的一个有效路径和文件规范。

例子:

SendData "NLST /pub/cgvB" + “/r/n

注释:路径名应该指定一个目录或其他由系统指定的文件组描述符,空变元则暗指当前目录。服务器将返回一个文件名称的流,除此之外没有其他信息。数据将以ASCII或EBCDIC类型通过数据连接传送,其中的有效路径名字符串由<CRLF>或<NL>分隔(用户必须确保类型正确)。

NLST希望返回的信息可被程序用来进一步地自动处理这些文件。例如,在一个“断点续传”功能的实现中。

返回值如下(粗体表示成功):

l         125  数据连接已打开,传输启动。

l         150  文件状态正常,准备打开数据连接。

l         226  关闭数据连接,请求的文件操作已成功。

l         250  请求的文件操作正常进行,已完成。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         425  无法打开数据连接。

l         426  连接关闭,传输中止。

l         450  请求的文件操作无法执行,文件不可用(例如文件正忙)。

l         451  请求的操作被中止,处理中发生本地错误。

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         502  命令还没有被实现。

l         530  无法登录。

13.  NOOP(NOOP,无操作)命令

说明:这是一条不进行操作的命令,即它什么都不做。

用法:NOOP<CRLF>

参数:无。

例子:

SendData "NOOP" + “/r/n

注释:NOOP不会影响任何参数或以前输入的命令。除了让服务器发送一条OK应答外,它不指定任何操作。

返回值如下(粗体表示成功):

l         200  命令成功。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         500  语法错误,无法识别命令。

14.  PASS(Password,密码)命令

说明:向远程系统发送用户的密码,该命令在USER命令后使用。

用法:PASS<Password><CRLF>

参数:Password是由USER命令指定的已注册用户密码。

例子:

SendData "PASS mypassworD" + “/r/n

注释:在连接到一台FTP服务器的端口21并接收到一个由代码220打头的行,表示服务器已准备好你向它发USER和PASS命令,以登录进此FTP服务器之后,紧跟着发送USER命令。

PASS命令应该紧跟着USER命令。

如果你在此FTP服务器上有帐号,就可以指定自己的用户名和密码。如果想匿名登录,可以指定用户名为“Anonymous”,而用自己的电子邮件地址当密码。

返回值如下(粗体表示成功):

l         202  命令还没有被实现,在此站点上是多余的。

l         230  用户已登录,请继续。

l         332  登录需要帐号(请参看ACCT命令)。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         530  无法登录。

15.  PASV(Passive,被动的)命令

说明:告诉服务器在一个非标准端口上收听数据连接。

用法:PASV<CRLF>

参数:这条命令请求server-DTP(服务器数据传送规约)“收听”某个数据端口(该端口不是它的默认数据端口),并等待一个连接而不是在收到传输命令时初始化一个连接。对这条命令的响应包括主机地址和此服务器正在收听的端口地址。

例子:

SendData "PASV" + “/r/n

返回值如下(粗体表示成功):

l         227  输入被动模式(h1,h2,h3,h4,p1,p2)。

返回值包括一个在数据连接中使用的数据端口的HOST-PORT规约。此参数是一个32位Internet主机地地址和一个16位TCP端口地的拼接。这个地址信息被拆分为8位的字段,并且每个字段的值是作为一个十进制数传输的(在字符串意义上)。H1是Internet主机地址的高位字节,p1是端口地址的高位字节。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         503  无法登录。

16.  PORT(Data  Port,数据端口)命令

说明:为数据连接指定一个IP地址和本地端口。

用法:PORT<Socket><CRLF>

参数:Socket是数据连接中要使用的数据端口的一个HOST-PORT规约。用户和服务器都有默认的数据端口,在正常情况下不需要这条命令和对它的应答。如果使用了这条命令,则参数是一个32个Internet主机地址和一个16位TCP端口地的拼接。这个地址信息被拆分为8位的字段,并且每个字段的值是作为一个十制数传输的(在字符串意义上)。各个字段用逗号分隔开。一条端口命令可以是这样:

PORT h1,h2,h3,p1,p2

其中H1是Internet主机地址的高位字节,P1是本地端口的高位字节。

例子:

SendData "PORT 199,199,199,0,33,1" + “/r/n

返回值如下(粗体表示成功):

l         200  命令成功。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         500  语法错误,无法识别命令。

这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         530  无法登录。

17.  PWD(Print Working Directory,打印工作目录) 命令

说明:在应答中返回当前工作目录的名称。

用法:PWD<CRLF>

参数:无

例子:

SendData "PWD" + “/r/n

返回值如下(粗体表示成功):

l         257  “PATHNAME”已创建

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         500  语法错误,无法识命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         502  命令还没有被实现。

l         550  请求的操作无法执行,文件不可用(例如找不到文件,无访问权)。

18.  QUIT(Logout,注销)命令

说明:终止连接。

用法:QUIT<CRLF>

参数:无。

例子:

SendData "QUTI" + “/r/n

注释:QUIT将终止此USER,如果没有正在进行的文件传送,服务器将关闭控制连接。如果文件传送正在进行,该连接仍然打开直至结果呼响应,然后服务器将其关闭。如果用户进程正在为几个USER传送文件,不想关闭后再逐个重新打开连接,那么应该使用REIN命令代替QUIT。

控制连接的意外关闭会导致服导器采取有效的中止(ABORT)和注销(QUIT)操作。

返回值如下(粗体表示成功):

l         221  服务正在关闭控制连接。

l         500  语法错误,无法识别命令。

19.  REIN(Reinitialize,重新初始化) 命令

说明:终止一个用户。

用法:REIN<CRLF>

参数:无。

例子:

SendData "REIN" + “/r/n

注释:除了允许完成正在进行的传送之外,REIN将刷新所有的I/O和帐号信息。所有参数都被复位到默认设置,控制连接仍然打开。这和用户在刚刚打开控制连接时的状态是一样的。如果后来想要登录,在发送USER命令之前送一条REIN命令。

返回值如下(粗体表示成功):

l         120  服务将在nnn分钟后准备好。

l         220  服务已为新用户准备好。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         502  命令还没有被实现。

20.  REST(Restart,重新启动)命令

说明:标识出文件内的数据点,将从这个点开始继续传送文件。

用法:REST<Marker><CRLF>

参数:Marker代表文件传送将要由此重新启动的服务器标记。

例子:

SendData "REST 244" + “/r/n

注释:REST不会引起文件传送,而只是跳到文件中指定的数据检验点上。RSET后紧跟着适当的FTP服务命令,该命令才会引起文件的继续传送。

返回值如下(粗体表示成功):

l         无响应即表示成功。

l         350  请求的文件操作在等待更进一步的信息。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         502  命令还没有被实现。

l         530  无法登录。

21.  RETR(Retrieve,检索)命令

说明:这条命令让服务器给客户传送一份在路径名中指定的文件的副本。这不会影响该文件在服务器站点上的状态和内容。

用法:RETR<FileName><CRLF>

参数:FileName是服务器站点上一个完全合格的路径和文件名。

例子:

SendData "RETR /pub/cgvb/misc/somefile.zip" + “/r/n

返回值如下(粗体表示成功):

l         110  重新启动标记应答。

在此情况下,文体是精确的,而且不会留给特定的实现处理;它必须读取:

MARK yyyy=mmmm

其中yyyy是用户进程的数据流标记,mmmm是服务器上的相应标记(请注意标记和“=”之间的空格)。

l         125  数据连接已打开,传输启动。

l         150  文件状态没问题,准备打开数据连接。

l         226  关闭数据连接,请求的文件操作已成功。

l         250  请求的文件操作正常进行,已完成。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         425  无法打开数据连接。

l         426  连接关闭,传输中止。

l         450  请求的文件操作无法执行,文件不可用(例如,文件正忙)。

l         451  请求的操作被中止,处理中发生本地错误。

l         500  语法错误,无法识别命令。

这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         504  命令中还没有实现该参数。

l         530  无法登录。

l         550  请求的操作无法执行,文件不可用(例如找不到文件,无访问权)。

22.  RMD(Remove Directory,删除目录)命令

说明:删除一个在路径名中指定的目录(如果是绝对路径名)或当前工作目录的子目录(如果是相对路径名)。

用法:RMD<Path><CRLF>

参数:Path是服务器端上一个完全合格的路径。

例子:

SeddData "RMD /users/johnsmith" + “/r/n

返回值(粗体表示成功):

l         250  请求的文件操作没问题,已完成。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         500  语法错误,无法识别命令。

l         501  参数或变元中有语法错误。

l         502  命令还没有被实现。

l         530  无法登录。

l         550  请求的操作无法执行;文件不可用(例如,找不到文件,无访问权)。

23.  RNFR(Rename From,把…重命名)命令

说明:文件重命名进程的前一半。指定要重命名的文件的旧路径和文件名。

用法:RNFR<FileName><CRLF>

参数:FileName是服务器站点上一个完全有效的路径和文件名。

例子:

SendData "RNFR source.zip" + “/r/n

RNFR后面必须紧跟着一条指定新路径和文件名的"Rename to"命令(RNTO)。

返回值如下(粗体表示成功):

l         无响应即表示成功

l         350  请求的文件操作在等待更进一步的信息。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         450  请求的文件操作无法执行,文件不可用(例如文件正忙)。

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         502  命令还没有被实现。

l         530  无法登录。

l         550  请求的操作无法执行,文件不可用(例如找不到文件,无访问权)。

24.  RNTO(Rename TO,重命名为)命令

说明:文件重命名进程的后一半。指定要重命名的文件的新路径和文件名。

用法:RNTO<FileName><CRLF>

参数:FileName是服务器站点上的一个有效文件名。

例子:

SendData "RNTO destination.ziP" + “/r/n

注释:RNTO前面必须是一条"Rename from"命令(RNFR)。RNER和RNTO合在一起才能重命名服务器上的一个文件。

返回值如下(粗体表示成功):

l         250  请求的文件操作正常进行,已完成。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         502  命令还没有被实现。

l         503  命令的顺序不对。

l         530  无法登录。

l         532  文件的存储需要帐号。

l         553  请求的操作无法执行,不允许的文件名。

25.  SITE(Site Parameters,站点参数)命令

说明:服务器使用SITE提供了某些服务特性,这些服务特性在系统中对文件传达而言是必要的,但又不是足够通用的可以包括到协议中作为命令的那些服务特性。这些服务的本质和他们的语法规范可以陈述在对HELPSITE命令的应答中。

用法:SITE<String><CRLF>

参数:String可以是任何串参数。

例子:

SendData "SITE chmod 646 mylifle.ziP" + “/r/n

注释:举例来说,使用如下语法,你就可以使用SITE来改变一个文件的权限属性。

SITE CHMOD<Attribute><Filename>

返回值如下(粗体表示成功):

l         200  命令成功。

l         202  命令还没有被实现,在此站点上是多余的。

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变无中有语法错误。

l         530  无法登录。

26.  SMNT(Structure Mount,结构装配)命令

说明:允许用户装配另一个文件系统的数据结构而无需改变登录、帐号信息或传输参数。

用法:SMNT<Path><CRLF>

参数:Path是另一个文件数据系统的路径。

例子:

SendData "SMNT/users/johnsmith"&vbCrlf

返回值如下(粗体表示成功):

l         202  命令还没有被实现,在此站点上是多余的。

l         250  请求的文件操作没问题,已完成。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         502  命令还没有被实现。

l         530  无法登录。

l         550  请求的操作无法执行,文件不可用(例如找不到文件,无访问权)。

27.  STAT(Status,状态)命令

说明:使一个状态响应以应答的形式通过控制连接发送出去

用法:STAT[<PathName>]<CRLF>

参数:PathName是服务器上的一个有效路径。

例子:

SendData "STAT /users/johnsmith/mylilE" + “/r/n

注释:STAT可以在文件传输(连同Telnet  IP和Synch信号一起——请参看RFC959的FTP Commands部分)期间发送,在此情况下服务器将响应操作中的进程状态,或者在两次文件传输之间发送。在后一种情况下,这条命令可以带一参数字段。如果指定了一个完整的路径名,STAT将类似于LIST命令,除了它的数据是通过控制连接传送的之外。如果指定的是一个局部路径,服务器将在响应中给出一份与指定项相关联的文件名或属性列表。如果不指定参数,服务器将返回有关此服务器FTP进程的常规状态信息,这其中包括当前所有传输参数的值和连接状态。

返回值如下(粗体表示成功):

l         211  系统状态,或系统的帮助应答。

l         212  目录状态。

l         213  文件状态。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         450  请求的文件操作无法执行,文件不可用(例如文件正忙)。

l         500  语法错误,无法识命令。这其中包括包令行过长类的错误。

l         501  参数或变元中有语法错误。

l         502  命令还没有被实现。

l         530  无法登录。

28.  STOR(Store,保存)命令

说明:让服务器接收一个来自数据连接的文件。

用法:STOR<FileName><CRLF>

参数:FileName是服务器站点上一个完全合格的路径和文件名。

例子:

SendData "STOR newfile.zip" + “/r/n

注释:Store命令让服务器接收通过数据连接传输而来的数据,并把数据存为务器站点上的文件。如果在路径名中指定的文件已经在服务站点上存在,则此文件的内容将被传输过来的数据所替代。如果在路径名中指定的文件尚未存在,将创建一个新文件。

返回值如下(值体表示成功):

l         110  重新启动标记应答

在此情况下,文本是精确的,而且不会留给特殊的实现处理,它必须读取:

MARK yyyy=mmmm

其中yyyy是用户进程的数据流标记,mmmm是服务器上的相应相标记(请注意标记和“=”之间的空格)。

l         125  数据连接已打开,传输启动。

l         150  文件状态一切正常,准备打开数据连接。

l         226  关闭数据连接,请求的文件操作已成功。

l         250  请求的文件操作正常进行,已完成。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         425  无法打开数据连接。

l         426  连接关闭,传输中止。

l         450  请求的文件操作无法执行,文件不可用(例如文件正忙)

l         451  请求的操作被中止,处理中发生本地错误。

l         452  请求的操作无法执行,系统的存储空间不足。

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         504  命令中还没有实现该参数。

l         530  无法登录。

l         532  文件的存储需要帐号。

l         550  请求的操作无法执行,文件不可用(例如找不到文件,无访问权)。

l         551  请求的操作被中止,未知的页类型。

l         552  请求的文件操作被子中止,超过了分配的存储单元(对当前目录或数据集而言)。

l         553  请求的操作无法执行,不允许的文件名。

29.  STOU(Store Unique,存为唯一)命令

说明:让服务器准备接收一个文件,并指示服务器把这个文件用唯一的名称保存到目的目录中。

用法:STOU<CRLF>

参数:无。

例子:

SendData "STOU"&vbCrlf

注释:Store Unique命令和STOR所做的工作是基本一样的,只是前者在当前目录下生成的文件是以一个该目录中唯一的名称来创建的。250 Transfer Started响应中必须包括这个生成的名称。

返回值如下(粗体表示成功):

l         110  重新启动标记应答

在此情况下,文本是精确的,而且不会留给特殊的实现处理,它必须读取:

MARKyyyy=mmmm

其中yyyy是用户进程的数据流标记,mmmm是服务器上的相应标记(请注意标记和“=”之间的空格)。

l         125  数据连接已打开,传输启动。

l         150  文件状态正常,准备打开数据连接。

l         226  关闭数据连接,请求的文件操作已成功。

l         250  请求的文件操作没问题,已完成(该行中包括一个唯一的文件名)。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         425  无法打开数据连接。

l         426  连接关闭,传输中止。

l         450  请求的文件操作无法执行,文件不可用(例如文件正忙)。

l         451  请求的操作被中止,处理中发生本地错误。

l         452  请求的操作无法执行,系统的存储空间不足。

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         504  命令中还没有实现该参数。

l         530  无法登录。

l         532  文件的存储需要帐号。

l         550  请求的操作无法执行,文件不可(例如找不到文件,无访问权)。

l         551  请求的操作作被中止,未知的页类型。

l         552  请求的文件操作被中止,超过了分配的存储单元(对当前目录或数据集而言)。

l         553请求的操作无法执行,存在不允许的文件名。

30.  STRU(File Structure,文件结构)命令

说明:指定传达数据的结构类型。

用法:STRU<Structure Type><CRLF>

参数:StructureType是如下ASCII字符的其中之一:

F——文件结构(默认值)

R——记录结构

P——页结构

有关使用非文件结构的信息请参看RFC959。

例子:

SendData "STRUR" + “/r/n

返回值如下(粗体表示成功):

l         200  命令成功。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         504  命令中还没有实现该参数。

l         530  无法登录。

31.  SYST(System,系统)命令

说明:SYST用于查明服务器上操作系统的类型。

用法SYST<CRLF>

例子:

SendData "SYST" + “/r/n

注释:按照推测,应答中的第一个单词是在Assigned Numbers文档[4]的当前版本中列出的某一个系统名称。但是,并不一定都能成功,新的系统每时每刻都在涌现。而公开的文档也许能跟上趟,也许不能。

返回值如下(粗体表示成功):

l                   215   NAME系统类型。NAME是来自Assigned Numbers文档中的一个正式的系统名称。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         502  命令还没有被实现。

32.  TYPE(Representation Type,表达类型)命令

说明:确定数据的传输方式。

用法:TYPE<Data Type Code><CRLF>

参数:Data type Code是一个(或几个)ASCII字符,它标识出一种数据表达类型。

例子:

‘—设置二进制模式

SendData "type I" + “/r/n

注释:最典型的情况就是使用TYPE命令在ASCII或二进制模式(Image,图像)之间切换。发送和接收任何类型的文件时都可以使用图像类型。ASCII类型只在传送文本时使用。

有几种类型要用到第二个参数。第一个参数由一个单独的ASCII字符表示,ASCII和EBCDIC的第二个Format参数也是如此;本地字节的第二个参数则是一个表示Byte大小的十进制整数。两个参数之间用<SP>(Space,即空格,ASCII代码为32)分隔开。

给类型分配如下代码:

A——ASCII*

E——EBCDIC*

I——Image(图像,传送二进制文件时用它)。

L<byte size>——Local byte  Byte size(本地字节,字节大小)

-------------------------------------

*——A和E类型的第二个Parameter要用到如下三个的其中一个:

N——Nonprint(非打印)

T——Telnet format effector(Telnet格式控制符)

C——Carriage Control(ASA)托架控制(美国国家标准)。

默认的表达类型是ASCII Nonprint。如果Format参数发生改变,后来只是第一个参数发生了改变,Format将随即返回到默认的Nonprint。

返回值如下(粗体表示成功):

l         200  命令成功。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         504  命令中还没有实现该参数。

l         530  无法登录。

命令:USER(User Name,用户名称)

说明:指定远程系统上的用户名称。和PASS命令一起使用来登录。

用法:USER<User><CRLF>

参数:UserName是FTP系统上已经注册的用户名称。

例子:

 

SendData "USER johns" + “/r/n

 

注释:在连接到一台FTP服务器的端口并接收到一个由代码220开头的行,表示服务器已经准备好用户向它发送USER和PASS命令以登录进此FTP服务器之后,紧跟着发送USER命令。

PASS命令应该紧跟着USER命令。

如果在此FTP服务器上有帐号,就可以指定自己的用户名和密码。如果想匿名登录,可以指定用户名为“Anonymous”,而用自己的电子邮件地址当密码。

在会话期间,可以随时发送USER和PASS命令,把控制权交给一个新用户。

返回值如下(粗体表示成功)

l         230  用户已经登录。

l         331  用户名正常,需要密码。

l         332  登录需要帐号。

l         421  服务不可用,关闭控制连接

如果某项服务获知自己即将关闭,会向所有命令做出这个应答

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         530  无法登录。

以上为大部分的FTP命令,如果想进行FTP高级编程,就必须掌握这些具体的FTP命令。

  • 11
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
NET命令指令集 (1)NET VIEW 作 用:显示域列表、计算机列表或指定计算机的共享资源列表。 命令格式:net view [\\computername | /domain[omainname]] 参数介绍: 键入不带参数的net view显示当前域的计算机列表。 \\computername 指定要查看其共享资源的计算机。 /domain[omainname]指定要查看其可用计算机的域 简单事例 net view \\YFANG查看YFANG的共享资源列表。 net view /domain:LOVE查看LOVE域中的机器列表。 (2)NET USER 作 用:添加或更改用户帐号或显示用户帐号信息。该命令也可以写为 net users。 命令格式:net user [username [password | *] [options]] [/domain] 参数介绍: 键入不带参数的net user查看计算机上的用户帐号列表。 username添加、删除、更改或查看用户帐号名。 password为用户帐号分配或更改密码。 *提示输入密码。 /domain在计算机主域的主域控制器中执行操作。 简单事例: net user yfang查看用户YFANG的信息 (3)NET USE 作用:连接计算机或断开计算机与共享资源的连接,或显示计算机的连接信息。 命令格式:net use [devicename | *] [\\computername\sharename[\volume]] [password | *]] [/user:[domainname\]username] [[/delete] | [/persistent:{yes | no}]] 参数介绍: 键入不带参数的net use列出网络连接。 devicename指定要连接到的资源名称或要断开的设备名称。 \\computername\sharename服务器及共享资源的名称。 password访问共享资源的密码。 *提示键入密码。 /user指定进行连接的另外一个用户。 domainname指定另一个域。 username指定登录的用户名。 /home将用户连接到其宿主目录 /delete取消指定网络连接。 /persistent控制永久网络连接的使用。 简单事例: net use e: \\YFANG\TEMP将\\YFANG\TEMP目录建立为E盘 net use e: \\YFANG\TEMP /delete断开连接 (4)NET TIME 作 用:使计算机的时钟与另一台计算机或域的时间同步。 命令格式:net time [\\computername | /domain[:name]] [/set] 参数介绍: \\computername要检查或同步的服务器名。 /domain[:name]指定要与其时间同步的域。 /set使本计算机时钟与指定计算机或域的时钟同步。 下面的这4个参数是相关的,所以一起介绍 (5)Net Start 作 用:启动服务,或显示已启动服务的列表。 命令格式:net start service (6)Net Pause 作 用:暂停正在运行的服务。 命令格式:net pause service (7)Net Continue 作 用:重新激活挂起的服务。 命令格式:net continue service (8)NET STOP 作 用:停止 Windows NT 网络服务。 命令格式:net stop service 参数介绍:我们来看看这些服务都是什么 alerter(警报)
目录: 实验01 HCL简介和软件操作界面 实验02 HCL与Oracle VM VirtualBox的关系 实验03 HCL中Host主机的构建 实验04 HCL、Piped、SecureCRT的结合使用 实验05 熟悉H3C的基本配置指令 实验06 通过Telnet管理网络设备 实验07使用TFTPFTP上传下载文件系统 实验08 VLAN基础及配置 实验09 VLAN的PVID与VID的理解 实验10 VLAN的端口类型和Hybrid端口理解 实验11 H3C的MVRP配置 实验12 生成树的基础和MSTP的配置 实验13 二层链路聚合的配置 实验14 三层链路聚合的配置 实验15 IRF的配置和BFD MAD检测配置 实验16 路由的理解和ICMP基础 实验17 三层交换VLAN互通的配置 实验18 配置三层交换DHCP服务 实验19 配置三层交换DHCP中继 实验20 PPP协议PAP验证配置 实验21 PPP协议CHAP验证配置 实验22 RIP协议配置和RIP验证配置 实验23 OSPF单区域配置 实验24 OSPF多区域配置 实验25 OSPF虚连接配置 实验26 OSPF的Stub区域和Totally Stub区域配置 实验27 OSPF区域验证和接口验证配置 实验28 基本ACL配置 实验29 高级ACL配置 实验30 NAT的配置——静态NAT 实验31 NAT的配置——动态NAT 实验32 NAT的配置——内部服务器NAT 实验33 NAT的配置——NAT hairpin 实验34 NAT的配置——DNS mapping 实验35 VRRP的配置 实验36 IPSec的配置—手工方式生成IPSec SA 实验37 IPSec的配置—IKE自动协商生成IPSec SA 实验38 策略路由PBR的配置 实验39 路由引入(路由重分发)的配置 实验40 BGP的配置、通告原则和同步
Serv-U 是一种被广泛运用的FTP服务器端软件,支持 9x/ME/NT/2K 等全Windows系列。它设置简单,功能强大,性能稳定。FTP 服务器用户通过它用 FTP协议能在 internet上共享文件。它并不是简单地提供文件的下载,还为用户的系统安全提供了相当全面的保护。例如:您可以为您的FTP 设置密码、设置各种用户级的访问许可等等。Serv-U不仅100%遵从通用FTP标准,也包括众多的独特功能可为每个用户提供文件共享完美解决方案。它可以设定多个FTP 服务器、限定登录用户的权限、登录主目录及空间大小等,功能非常完备。它具有非常完备的安全特性,支持SSl FTP传输,支持在多个Serv-U和FTP客户端通过SSL加密连接保护您的数据安全等。 汉化说明: 1、请先安装原英文软件。 2、退出 FTP Serv-U 应用程序!包括系统栏图标! 3、解压缩后运行汉化包,填入你的安装目录进行汉化。 4、注册方法详见“汉化说明”。 5、有些原英文版用户汉化后可能会导致设置丢失,这可能是由于汉化的资源与英文版不同所致,只能请大家重新设置一下了。以前即用汉化版则无此问题。 6、此汉化无捆绑。 7.0.0.1(2008年4月2日发布) ==================== + 使用内置的 web 客户端,添加了对 HTTP 协议的支持。 + 添加了对 SSH 协议的支持。 + 添加了对使用 HTTP 协议FTP Voyager JV 的支持。 + 添加了 THMB 命令,可以将图形文件转换为缩略图然后下载。THMB 命令的作用方式与 RETR 完全一致,只是在传输前文件已按指定的格式被压缩到最大尺寸以内。 + 添加了 HOST 命令,它可以使 FTP 客户端更改到服务器上的特定域。这使得 FTP 服务器可在单个 IP 地址和端口上支持多个域。注意:并非所有的 FTP 客户端都支持该功能。支持这一功能的客户端如 FTP Voyager。 + 添加了 DSIZ 命令,以返回目录内容的大小(包括子目录在内)。可以指定目录,如果留空则使用当前工作目录。 + 添加了 AVBL 命令,以返回目录中可用的字节数。可以指定目录,如果留空则使用当前工作目录。 + 添加了启用/禁用特定 FTP 命令的功能。 + 添加了更改几乎任何 FTP 命令响应的功能。 + 添加了动态 HELP 信息,其中 HELP 发送所有支持的和启用的命令信息。 + 添加了命令级 HELP。例如,"HELP LIST" 将返回有关 LIST 命令的特定帮助信息。 + 当读取客户端正在下载的文件时,添加了使用浮动缓冲区大小的功能。浮动缓冲区大小取决于当前的传输率,这使得传输效率大大提高。 + 添加了目录重命名权限设置。 + 添加了文件重命名权限设置。 + 添加了 "\" 路径概念。"\" 路径类似于 Windows 资源管理器中的 "我的电脑"。当用户的根目录设置为 "\" 时,"/" 列表显示了可用的磁盘驱动器。当在用户、群组、域或服务器级别启用 "允许根('/')为未锁定用户列出驱动器" 时,未登录根目录的用户也可以充分利用该功能。 + 更改了 FEAT 命令,使其仅列出已启用的特殊命令。 + 更改了 "OPTS MLST" 命令,从而对未严格遵守 RFC 的客户端更为宽容。例如,Serv-U 现在既接受 "OPTS MLST Type;Size;Modify;Perm;",也接受 "OPTS MLST Type;Size;Modify;Perm"。 + 为 MLST 和 MLSD 命令添加了 "Perm" 功能,"Perm" 标识了 MLST/MLSD 列表中与连接用户相关项目的权限。 + 为 MLST 和 MLSD 命令添加了 "Win32.dt" 功能。当列出 /C:/、/D:/、或 / 时,"Win32.dt" 为磁盘驱动器列表标识了驱动器类型。如果对象不是磁盘驱动器,则不会在目录列表中返回该功能的结果。 + 为 MLST 和 MLSD 命令添加了 "Win32.dl" 功能。当列出 /C:/、/D:/、或 / 时,"Win32.dl" 为磁盘驱动器列表标识了驱动器卷标。如果对象不是磁盘驱动器,则不会在目录列表中返回该功能的结果。 + 对于 "os.UNIX=slink",添加更多信息到 MLST / MSLD Type 结果,并且如果向用户提供 ":linked_path",则 Serv-U 还会追加该信息。 + 改进了 Windows 快捷方式解决方案,以同时包括使用相对路径和其他属性组合的快捷方式。 + 添加了使用 "SITE EXEC" 命令时指定带空格的路径名的功能。如果需要使用空格,Serv-U 将文件名括起来解析。 + 添加了 XDEL 命令,功能与 DELE 命令相同。 + 添加了 RMDA 目录作为 RMD 的父集,使得客户端可以用一个命令删除目录及其所有文件和子目录。一则错误响应指出客户端应刷新其目录列表,以确定哪些文件和子目录被删除,哪些未被删除。 + 更改了 Windows 链接支持,从而当遇到 Windows .LNK 文件时,对于 SIZE 命令和传输操作,将其作为列表显示时所引用的文件处理。 + 删除了 -L LIST 和 NLST 选项,因为它们会与其他设置冲突。 + 在辅助线程执行所有冗长的命令,以便释放主线程供其他客户端使用。这些操作包括 LIST、NLST、MLST、MLSD、RMDA、RETR、THMB、RNTO、XCRC、STOR、APPE、STOU、SITE EXEC 以及所有其他冗长的操作。 + 添加了使用多个 CPU 的功能,以执行占用 CPU 较多的操作。 + 向 "226 传输完成" 应答中添加了传输总量和传输速率信息。 + 向压缩的 "226 传输完成" 应答中添加了压缩总量、统计和传输速率信息。 + 添加了在域上以及服务器上定义反攻击限制的功能。 + 将消息文件中最大字符串长度从 195 个字符增加到 512 个字符。 + 添加了一个选项以包含服务器对 FTP 命令处理器的响应值,从而在多行响应的每一行中包含数字响应代码。 + 添加了一个选项以包含服务器对个别消息文件的响应值。 + 使用合适的 FTP 命令移动消息文件设置到个别命令处理器。 + 添加了基于文件扩展名,为某些类型的文件设置最大文件尺寸的功能。该功能通过目录访问规则得以实现,在规则中可使用通配符来标识文件访问权限。 + 为目录访问规则中指定的目录添加了最大目录尺寸限制,以取代磁盘配额。 + 除了会话带宽限制,还为整个服务器、每个域、每个群组和每个用户添加了上传和下载带宽限制。 + 为 STAT 命令添加了更多统计信息。 + 改进了 ALLO 命令,使其不仅能够检查可用的硬盘空间,还能检查用户可用的磁盘空间数量。该处更改考虑了配额和目录大小限制。 + 添加了使用 FTP LIST 命令,以 Microsoft IIS FTP Server (-h:IIS) 格式,或 DOS (-h:DOS) (Windows 2000 或更高版本中的命令行) 格式,显示目录列表的功能。 + 添加了 -h:"DOS"、-h:"IIS"、和 -h:"UNIX" (默认) LIST 指令。-h:"DOS" 以类似于 Windows 命令行的方式列出文件和目录。-h:"IIS" 以类似于 Microsoft 的 IIS FTP 服务器的方式列出文件和目录。-h:"UNIX" 以类似于 BSD UNIX FTP 服务器的方式列出文件和目录。任何其他 -h"xxx" 指令都将恢复为 "UNIX" 样式的列表。该指令不区分大小写。 + 更改了 IP 访问规则的操作。如果没有 "允许访问" 规则,则自动假定为 "*.*.*.*" 。 + 添加了功能,使得从活动会话列表中断开用户连接时,可以在 IP 访问规则列表中查看被阻止的 IP 地址。 + 当上传并覆盖文件时,以指定的文件名重命名原始文件。 + 更改了目录列表,使得当锁定用户于根目录时,不会显示 "." 和 ".." 。 + 在正常显示 "." 和 ".." 的目录列表中,无论这两个目录是否存在于 Windows 中都正常显示。这有助于导航并防止用户推断出目录是否为根目录虚拟路径。 + 添加了功能,可以使用 FTP 命令,在有关失败操作的日志中查看密码。 + 添加了用户归类,有助于对用户进行合理的分组管理。当将用户分别置于不同类别中时,管理控制台和 Ser-U 都能更有效地操作。 + 现在只需通过允许访问相应的物理路径,就可以授予虚拟路径的访问权限。早先的版本还需要明确设置虚拟路径的访问权。 - 修正了以下错误:至少登录一次以后当试图登录的次数超过了上限值时, Serv-U 会返回两个而不是一个错误应答。 - 修正了某些 LIST 和 NLST 参数不能正常工作的错误,例如忽略某些文件的 -I:"*.txt" 参数。 - 修正了 MLST/MLSD 中 Serv-U 返回的文件时间误差 1 小时的错误,这是因为服务器当前以夏时制运行而文件日期和时间并未采用夏时制,反之亦然。 - 修正了以下错误:当使用包含通配符的字符串指定完整的路径时,"子目录继承" 设置会被忽略。例如,即使选择了继承参数,C:\Windows\*.jpg 也不会包含 C:\Windows\System32\*.jpg。 - 修正了以下错误:当虚拟路径引用父目录时,递归目录列表会导致 Serv-U 崩溃。 - 修正了以下错误:当使用 "盲" 目录时,如果可以访问至少嵌套两层的目录,则会话可能永远无法使用 CWD 命令返回根目录。 托盘 + 添加了新的风格菜单。 + 添加了使用不同主题的功能。 + 添加了主题编辑器。 + 添加了气球提示。 + 添加了自动更新检查器。 + 在弹出式菜单中添加了支持链接。 + 在鼠标置于上方时出现的工具提示中添加了更多统计信息。
Serv-U是一种被广泛运用的FTP服务器端软件,支持3x/9x/ME/NT/2K等全Windows系列。可以设定多个FTP服务器、限定登录用户的权限、登录主目录及空间大小等,功能非常完备。 它具有非常完备的安全特性,支持SSl FTP传输,支持在多个Serv-U和FTP客户端通过SSL加密连接保护您的数据安全等。 Serv-U 是目前众多的FTP 服务器软件之一。通过使用Serv-U,用户能够将任何一台PC 设置成一个FTP 服务器,这样,用户或其他使用者就能够使用FTP 协议,通过在同一网络上的任何一台PC与FTP 服务器连接,进行文件或目录的复制,移动,创建,和删除等。这里提到的FTP 协议是专门被用来规定计算机之间进行文件传输的标准和规则,正是因为有了象FTP 这样的专门协议,才使得人们能够通过不同类型的计算机,使用不同类型的操作系统,对不同类型的文件进行相互传递。   虽然目前FTP 服务器端的软件种类繁多,相互之间各有优势,但是Serv-U 凭借其独特的功能得以展露头脚。具体来说,Serv-U 能够提供以下功能: 符合windows 标准的用户界面友好亲切,易于掌握。 支持实时的多用户连接,支持匿名用户的访问; 通过限制同一时间最大的用户访问人数确保PC 的正常运转。 安全性能出众。在目录和文件层次都可以设置安全防范措施。 能够为不同用户提供不同设置,支持分组管理数量众多的用户。 可以基于IP 对用户授予或拒绝访问权限。 支持文件上传和下载过程中的断点续传。 支持拥有多个IP 地址的多宿主站点。 能够设置上传和下载的比率,硬盘空间配额,网络使用带宽等,从而能够保证用户有限的资源不被大量的FTP 访问用户所消耗。 可作为系统服务后台运行。 可自用设置在用户登录或退出时的显示信息,支持具有UNIX 风格的外部链接。 7.0.0.1 新功能介绍(2008年4月3日发布) ==================== + 使用内置的 web 客户端,添加了对 HTTP 协议的支持。 + 添加了对 SSH 协议的支持。 + 添加了对使用 HTTP 协议FTP Voyager JV 的支持。 + 添加了 THMB 命令,可以将图形文件转换为缩略图然后下载。THMB 命令的作用方式与 RETR 完全一致,只是在传输前文件已按指定的格式被压缩到最大尺寸以内。 + 添加了 HOST 命令,它可以使 FTP 客户端更改到服务器上的特定域。这使得 FTP 服务器可在单个 IP 地址和端口上支持多个域。注意:并非所有的 FTP 客户端都支持该功能。支持这一功能的客户端如 FTP Voyager。 + 添加了 DSIZ 命令,以返回目录内容的大小(包括子目录在内)。可以指定目录,如果留空则使用当前工作目录。 + 添加了 AVBL 命令,以返回目录中可用的字节数。可以指定目录,如果留空则使用当前工作目录。 + 添加了启用/禁用特定 FTP 命令的功能。 + 添加了更改几乎任何 FTP 命令响应的功能。 + 添加了动态 HELP 信息,其中 HELP 发送所有支持的和启用的命令信息。 + 添加了命令级 HELP。例如,"HELP LIST" 将返回有关 LIST 命令的特定帮助信息。 + 当读取客户端正在下载的文件时,添加了使用浮动缓冲区大小的功能。浮动缓冲区大小取决于当前的传输率,这使得传输效率大大提高。 + 添加了目录重命名权限设置。 + 添加了文件重命名权限设置。 + 添加了 "\" 路径概念。"\" 路径类似于 Windows 资源管理器中的 "我的电脑"。当用户的根目录设置为 "\" 时,"/" 列表显示了可用的磁盘驱动器。当在用户、群组、域或服务器级别启用 "允许根('/')为未锁定用户列出驱动器" 时,未登录根目录的用户也可以充分利用该功能。 + 更改了 FEAT 命令,使其仅列出已启用的特殊命令。 + 更改了 "OPTS MLST" 命令,从而对未严格遵守 RFC 的客户端更为宽容。例如,Serv-U 现在既接受 "OPTS MLST Type;Size;Modify;Perm;",也接受 "OPTS MLST Type;Size;Modify;Perm"。 + 为 MLST 和 MLSD 命令添加了 "Perm" 功能,"Perm" 标识了 MLST/MLSD 列表中与连接用户相关项目的权限。 + 为 MLST 和 MLSD 命令添加了 "Win32.dt" 功能。当列出 /C:/、/D:/、或 / 时,"Win32.dt" 为磁盘驱动器列表标识了驱动器类型。如果对象不是磁盘驱动器,则不会在目录列表中返回该功能的结果。 + 为 MLST 和 MLSD 命令添加了 "Win32.dl" 功能。当列出 /C:/、/D:/、或 / 时,"Win32.dl" 为磁盘驱动器列表标识了驱动器卷标。如果对象不是磁盘驱动器,则不会在目录列表中返回该功能的结果。 + 对于 "os.UNIX=slink",添加更多信息到 MLST / MSLD Type 结果,并且如果向用户提供 ":linked_path",则 Serv-U 还会追加该信息。 + 改进了 Windows 快捷方式解决方案,以同时包括使用相对路径和其他属性组合的快捷方式。 + 添加了使用 "SITE EXEC" 命令时指定带空格的路径名的功能。如果需要使用空格,Serv-U 将文件名括起来解析。 + 添加了 XDEL 命令,功能与 DELE 命令相同。 + 添加了 RMDA 目录作为 RMD 的父集,使得客户端可以用一个命令删除目录及其所有文件和子目录。一则错误响应指出客户端应刷新其目录列表,以确定哪些文件和子目录被删除,哪些未被删除。 + 更改了 Windows 链接支持,从而当遇到 Windows .LNK 文件时,对于 SIZE 命令和传输操作,将其作为列表显示时所引用的文件处理。 + 删除了 -L LIST 和 NLST 选项,因为它们会与其他设置冲突。 + 在辅助线程执行所有冗长的命令,以便释放主线程供其他客户端使用。这些操作包括 LIST、NLST、MLST、MLSD、RMDA、RETR、THMB、RNTO、XCRC、STOR、APPE、STOU、SITE EXEC 以及所有其他冗长的操作。 + 添加了使用多个 CPU 的功能,以执行占用 CPU 较多的操作。 + 向 "226 传输完成" 应答中添加了传输总量和传输速率信息。 + 向压缩的 "226 传输完成" 应答中添加了压缩总量、统计和传输速率信息。 + 添加了在域上以及服务器上定义反攻击限制的功能。 + 将消息文件中最大字符串长度从 195 个字符增加到 512 个字符。 + 添加了一个选项以包含服务器对 FTP 命令处理器的响应值,从而在多行响应的每一行中包含数字响应代码。 + 添加了一个选项以包含服务器对个别消息文件的响应值。 + 使用合适的 FTP 命令移动消息文件设置到个别命令处理器。 + 添加了基于文件扩展名,为某些类型的文件设置最大文件尺寸的功能。该功能通过目录访问规则得以实现,在规则中可使用通配符来标识文件访问权限。 + 为目录访问规则中指定的目录添加了最大目录尺寸限制,以取代磁盘配额。 + 除了会话带宽限制,还为整个服务器、每个域、每个群组和每个用户添加了上传和下载带宽限制。 + 为 STAT 命令添加了更多统计信息。 + 改进了 ALLO 命令,使其不仅能够检查可用的硬盘空间,还能检查用户可用的磁盘空间数量。该处更改考虑了配额和目录大小限制。 + 添加了使用 FTP LIST 命令,以 Microsoft IIS FTP Server (-h:IIS) 格式,或 DOS (-h:DOS) (Windows 2000 或更高版本中的命令行) 格式,显示目录列表的功能。 + 添加了 -h:"DOS"、-h:"IIS"、和 -h:"UNIX" (默认) LIST 指令。-h:"DOS" 以类似于 Windows 命令行的方式列出文件和目录。-h:"IIS" 以类似于 Microsoft 的 IIS FTP 服务器的方式列出文件和目录。-h:"UNIX" 以类似于 BSD UNIX FTP 服务器的方式列出文件和目录。任何其他 -h"xxx" 指令都将恢复为 "UNIX" 样式的列表。该指令不区分大小写。 + 更改了 IP 访问规则的操作。如果没有 "允许访问" 规则,则自动假定为 "*.*.*.*" 。 + 添加了功能,使得从活动会话列表中断开用户连接时,可以在 IP 访问规则列表中查看被阻止的 IP 地址。 + 当上传并覆盖文件时,以指定的文件名重命名原始文件。 + 更改了目录列表,使得当锁定用户于根目录时,不会显示 "." 和 ".." 。 + 在正常显示 "." 和 ".." 的目录列表中,无论这两个目录是否存在于 Windows 中都正常显示。这有助于导航并防止用户推断出目录是否为根目录虚拟路径。 + 添加了功能,可以使用 FTP 命令,在有关失败操作的日志中查看密码。 + 添加了用户归类,有助于对用户进行合理的分组管理。当将用户分别置于不同类别中时,管理控制台和 Ser-U 都能更有效地操作。 + 现在只需通过允许访问相应的物理路径,就可以授予虚拟路径的访问权限。早先的版本还需要明确设置虚拟路径的访问权。 - 修正了以下错误:至少登录一次以后当试图登录的次数超过了上限值时, Serv-U 会返回两个而不是一个错误应答。 - 修正了某些 LIST 和 NLST 参数不能正常工作的错误,例如忽略某些文件的 -I:"*.txt" 参数。 - 修正了 MLST/MLSD 中 Serv-U 返回的文件时间误差 1 小时的错误,这是因为服务器当前以夏时制运行而文件日期和时间并未采用夏时制,反之亦然。 - 修正了以下错误:当使用包含通配符的字符串指定完整的路径时,"子目录继承" 设置会被忽略。例如,即使选择了继承参数,C:\Windows\*.jpg 也不会包含 C:\Windows\System32\*.jpg。 - 修正了以下错误:当虚拟路径引用父目录时,递归目录列表会导致 Serv-U 崩溃。 - 修正了以下错误:当使用 "盲" 目录时,如果可以访问至少嵌套两层的目录,则会话可能永远无法使用 CWD 命令返回根目录。 托盘 + 添加了新的风格菜单。 + 添加了使用不同主题的功能。 + 添加了主题编辑器。 + 添加了气球提示。 + 添加了自动更新检查器。 + 在弹出式菜单中添加了支持链接。 + 在鼠标置于上方时出现的工具提示中添加了更多统计信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值