题记:初来乍到,希望各位前辈多多指教,本文所列内容尽可能详细。但由于能力有限,在整理的过程中难免出错,希望各位多多批评。向您表示深深的谢意。
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权限;虚拟用户是较为稳妥的登录方式,它由多个虚拟用户映射一个本地用户的机制来实现,虚拟用户使用对应虚拟用户密码来访问,从而实
现与本地用户分离的目的。
转载于:https://blog.51cto.com/redhatcciezhang/1226296