目录
前言:
FTP 是因特网网络上历史最悠久的网络工具,从 1971 年由 A KBHUSHAN 提出第一个 FTP 的RFC(RFC114) 至今近半个世纪来,FTP 凭借其独特的优势一直都是因特网中最重要、最广泛的服务之一。
一,FTP传输模式
FTP(File TransferProtocol,文件传输协议)是典型的C/S架构的应用层协议,需要由服务端软件、客户端软件两个部分共同实现文件传输功能。FTP客户端和服务器之间的连接是可靠的,面向连接的,为数据的传输提供了可靠的保证。tcp协议:20,21端口。
21端口:用于传输指令
22端口:用于传输数据
FTP是一种文件传输协议,它支持两种模式,一种方式叫做Standard(也就是Active,主动方式),一种是 Passive(也就是PASV被动方式)。
Standard模式FTP的客户端发送PORT命令到FTPserver。Passive模式FTP的客户端发送 PASV命令到FTP Server
1.1 主动模式:
服务器主动发起数据连接。
首先客户端的高位端口向服务器的21端口建立FTP连接请求(连接请求包括:认证,用户,密码,连接模式,命令PORT端口); FTP服务器响应ACK确认,服务器的21号端口和客户端的高位端口建立ftp会话连接; FTP服务器从自己的20号端口连接客户端发送的连接请求是主动模式命令提供的端口; 客户端发送ACK确认,开始数据传输
弊端:客户端的防火墙未关,可被拦截
1.2 被动模式:
客户机主动发起数据连接。
首先客户端的高位端口向服务器的21端口建立FTP连接请求(连接请求包括:认证,用户,密码,连接模式,命令PORT端口);
FTP服务器响应ACK确认,服务器的21号端口和客户端的高位端口建立ftp会话连接,并告诉客户端已开放20号端口,等你来连接;
客户端用自己的一个高位端口连接服务器响应的一个高位端口;
服务器给客户端发送ACK确认,开始数据传输
1.3总结:
主动模式:服务器主动发起数据连接
被动模式:服务器被动等待数据连接
1.4 FTP:匿名、系统、虚拟账户:
1.4.1匿名账户
登录名为ftp或anonymous,不验证密码即可登录;
1.4.2系统账户
本身已经存在的账户、密码做验证。
验证方式:
(1)验证的是/etc/passwd和/etc/shadow;
(2)验证的是用户列表(用户必须是系统创建),相当于白名单。
(3)默认的root账户不允许登陆
1.4.3虚拟账户
预定义的列表账户(以前系统从未创建过)
二、搭建和配置FTP服务
2.1 安装前准备工作
2..1.1关闭防火墙和核心防护