FTP笔记

来源:互联网 发布:方象餐饮软件 编辑:程序博客网 时间:2024/03/28 17:16

在TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20。


FTP地址如下: 

ftp://用户名:密码@FTP服务器IP或域名:FTP命令端口/路径/文件名

上面的参数除FTP服务器IP或域名为必要项外,其他都不是必须的。如以下地址都是有效FTP地址:

ftp://foolish.6600.org

ftp://list:list@foolish.6600.org

ftp://list:list@foolish.6600.org:2003

ftp://list:list@foolish.6600.org:2003/soft/list.txt


=============================================================================


FTP的传输有两种方式:ASCII传输模式和二进制数据传输模式。

1.ASCII传输方式:假定用户正在拷贝的文件包含的简单ASCII码文本,如果在远程机器上运行的不是UNIX,当文件传输时ftp通常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。但是常常有这样的情况,用户正在传输的文件包含的不是文本文件,它们可能是程序,数据库,字处理文件或者压缩文件(尽管字处理文件包含的大部分是文本,其中也包含有指示页尺寸,字库等信息的非打印符)。

在拷贝任何非文本文件之前,用binary 命令告诉ftp逐字拷贝,不要对这些文件进行处理,

2. 二进制传输模式:在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位一一对应的。即使目的地机器上包含位序列的文件是没意义的。

字符转义与否的区别


FTP的工作方式

一种方式叫做Standard (也就是 PORT方式,主动方式),

一种是 Passive (也就是PASV,被动方式)。 

Standard模式 FTP的客户端发送 PORT 命令到FTP服务器。Passive模式FTP的客户端发送 PASV命令到 FTP Server。

两种方式的工作原理

Port模式FTP 客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP20端口连接至客户端的指定端口发送数据FTP server必须和客户端建立一个新的连接用来传送数据。

Passive模式在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接

很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。

=============================================================================


FTP:屏幕信息举例 

1、用户要用FTP和远地主机(网络信息中心NIC上的主机)建立连接。 

2、本地FTP发出的连接成功信息。 

3、从远地服务器返回的信息,220表示“服务就绪”。 

4、本地FTP提示用户键入名字。用户键入的名字表示“匿名”。在internet上有许多文件免费向公众提供。用户不需要键入自己的真是名字而只需键入anonymous即可。 

5、数字331表示“用户名正确”,需要口令。 

6、本地FTP提示用户键入口令。用户这时可键入guest作为匿名的口令,也可以键入自己的电子邮件地址,即耶鲁大学数学系名为xyz的主机上的abc。 

7、数字230表示用户已经注册完毕。 

8、“ftp> ”是FTP提示信息。用户键入的是将目录改变为包含RFC文件的目录。 

9、字符CWD是FTP的标准命令,代表Change   Working   Directory。 

10、用户要求将名为rfc1261.txt的文件复制到本地主机上,并改名为nicinfo。 

11、字符PORT是FTP的标准命令,表示要建立数据连接。200表示“命令正确”。 

12、数字150表示“文件状态正确,即将建立数据连接”。 

13、数字226是“释放数据连接”。现在一个新的本地文件已产生。 

14、用户键入退出命令。 

15、表明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   "= ").     

120   Service   ready   in   nnn   minutes.     

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.     

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   "PATHNAME "   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     

 

110     

重新启动标记应答。在这种情况下文本是确定的,它必须是:MARK   yyyy=mmmm,其中yyyy是用户进程数据流标记,mmmm是服务器标记。     

120     

服务在nnn分钟内准备好     

125     

数据连接已打开,准备传送     

150     

文件状态良好,打开数据连接     

200     

命令成功     

202     

命令未实现     

211     

系统状态或系统帮助响应     

212     

目录状态     

213     

文件状态     

214     

帮助信息,信息仅对人类用户有用     

215     

名字系统类型     

220     

对新用户服务准备好     

221     

服务关闭控制连接,可以退出登录     

225     

数据连接打开,无传输正在进行     

226     

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

227     

进入被动模式     

230     

用户登录     

250     

请求的文件操作完成     

257     

创建 "PATHNAME "     

331     

用户名正确,需要口令     

332     

登录时需要帐户信息     

350     

请求的文件操作需要进一步命令     

421     

不能提供服务,关闭控制连接     

425     

不能打开数据连接     

426     

关闭连接,中止传输     

450     

请求的文件操作未执行     

451     

中止请求的操作:有本地错误     

452     

未执行请求的操作:系统存储空间不足     

500     

格式错误,命令不可识别     

501     

参数语法错误     

502     

命令未实现     

503     

命令顺序错误     

504     

此参数下的命令功能未实现     

530     

未登录(用户名或密码错误,1、FTP密码修改了?2、用户名/密码输入错误?先仔细检查有无输入错误   如复制的时候误复制了空格!!)     

532     

存储文件需要帐户信息     

550     

未执行请求的操作     

551     

请求操作中止:页类型未知     

552     

请求的文件操作中止,存储分配溢出     

553     

未执行请求的操作:文件名不合法 






0 0
原创粉丝点击