题记:来乍到,希望各位前辈多多指教,本文所列内容尽可能详细。但由于能力有限,在整理的过程中难免出错,希望各位多多批评。向您表示深深的谢意。

FTP概念篇

FTP:File Transfer Protocol文件传输协议,是大多数网页浏览器和文件管理器都能够支持的文件传输协议,它的历史据今天已经整整42年的时间,比较古老古老特征:是一种基于明文认证的协议。

它设计之初:用两个端口来控制整个通信过程。

如:21号端口作用:命令控制 如:ftp 账号 密码 put get ls等命令是通过21号端口来接收命令的;

   20号端口  作用:实现数据传输   服务器工作在主动模式下时,将通过20号端口向客户端传递数据。

ftp两种工作模式:(PORT)主动模式和(PASV)被动模式。在登陆ftp的时候,会有一个传输模式的设定选项,分别是主动模式和被动模式。注意:我这里写这句话是要告诉你ftp是主动还是被动是由客户来决定的。

   主动模式:当客户端选择用主动方式据时,客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接收连

接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XX(大于1023)

端口,你过来连接我。”于是服务器从20端口向客户端的XX端口发送连接请求,建立一条数据链路来传送数据。

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

接我。”于是客户端向服务器的XX端口发送连接请求,建立一条数据链路来传送数据。

小结:两种方式的命令链路连接方法是一样的,而数据传送方法就完全不同。而FTP的复杂性就在于此。

数据传输的格式同样分为两种:二进制码和ASCII码。

FTP用户服务类型:

Ø 匿名用户:

   anonymous或ftp

Ø 本地用户:

   账号名称、密码等信息保存在passwd、shadow文件中

Ø 虚拟用户:

使用独立的账号密码数据文件

FTP服务器软件

   常用的有:IIS、Serv-U   windows上面的;

   wu-ftpd(华盛顿大学开发的,安全性比较差)、

   Proftpd(功能非常强大的FTP软件,根据需要能够制定各种应用)

   vsftpd (安全性好,它用yum安装可靠性高)

本文以VSFTPD为例子进行简单的介绍说明。

FTP客户端软件:

常用的有:IE浏览器、FLASHFXP(优点速度极快)

说明:匿名用户指不用输入账号密码或是使用ftp用户ftp密码进行登录;本地用户指的是本地主机用户登录,但是一般不推荐此种方式进行登录,因为本地用户登录容易遭到***使用缓冲区溢出从而提升至root权限;虚拟用户是较为稳妥的登录方式,它由多个虚拟用户映射一个本地用户的机制来实现,虚拟用户使用对应虚拟用户密码来访问,从而实

现与本地用户分离的目的。