FTP服务器

合集 – Linux基础服务(1)

1.FTP服务器06-19

收起

一、FTP服务

什么是FTP协议?

File Transfer Protocol文件传输协议是互联网中使用最广泛的文件传输协议。FTP使用交互式的访问,允许客户指定文件的类型和格式(比如知名是否使用ASCLL码),并允许文件具有存取权限

 

文件传输协议有基于TCP的FTP和基于UDP的简单文件传输协议TFTP。

FTP的传输模式

针对传输的文件类型不同,FTP可以采用不同的传输模式:

ASCLL模式:传输文本文件时会对文本内容进行编码方式转换,提高传输效率。当传输网络设备配置文件,日志文件时推荐使用该模式。

Binary模式:传输非文本文件,如图片,可执行程序等,以二进制直接传输原始文件。

 

ftp传输的弊端

1.FTP不具备安全性:普通的FTP没有针对数据传输中或存储时的本地加密,潜在地暴漏了保密信息,通过FTP发送的用户名和密码,也暴露在外。因此,可以通过任意上百个FTP客户端访问FTP服务器

2.FTP缺少足够的管控功能:比如数据审核功能,不能保证发送的数据是否合规,数据流向不可控,存在数据泄露风险。

3.FTP追溯功能弱

4.FTP不可靠:在传输过程中,尤其是传输大规模文件时,容易出现错误传输,文件丢失等

 

FTP通信接口:

21端口:控制连接

FTP服务端监听21端口等待建立连接,只有身份验证通过,才可顺利建立连接
在FTP连接期间,控制连接始终保持连接状态,在数据连接存在期间,控制连接必须存在,一旦连接断开,数据连接自动关闭

20端口:数据连接

FTP服务端监听20端口来等待数据连接
数据连接依赖于控制连接

 

FTP工作过程

1.客户端向服务器发送申请建立连接

2.服务器21端口监听到客户端请求,做出响应,建立会话连接

3.客户端程序打开一个控制端口,连接到FTP服务器的21端口

4.需要传输数据时,FTP客户端打开一个数据端口,连接到FTP服务器的21端口,文件传输完毕后断开会话连接,释放窗口

5.当空闲时间超过规定后,FTP会话自动终止

二、客户端程序

Linux:ftp,lftp

  lftp默认以匿名用户方式访问,可以批量进行文件传输,而且可以下载目录。

  ftp以“用户名+密码”的方式访问

Windows:Xftp,Chrome,Firefox

三、主动模式和被动模式

模式是从服务器角度来看的,FTP服务器主动与客户端建立连接就是主动模式,客户端主动连接服务器就是被动模式。

FTP服务器默认为被动模式,主动模式下可能被客户端防火墙拦截。

 

 

主动模式:

 

由客户端向服务器端的TCP 21号端口发起TCP三次握手,建立控制连接,用户登录认证后客户端通过FTP PORT命令,通知服务器端自身开放端口(大于1024的随机端口),服务器端向客户端的TCP PORT P发起三次握手,建立传输连接,其中服务器端的源端口为20

FTP服务器

被动模式

由客户端向服务器端的TCP PORT 21发起TCP三次握手,建立控制连接,用户登录认证后客户端发送PASV命令;服务器端通过ENTER PASV命令告知客户端自身开放端口,由客户端向服务器TCP PORT N发起TCP三次握手,建立传输连接。

FTP服务器

 四、搭建过程

1.检查服务器环境

  关闭防火墙:systemctl stop firewalld;systemctl disable firewalld

  关闭selinux:setenforce 0;

  设置selinux永久关闭:vim /etc/selinuxconfig   修改SELINUX=disabled

2.安装软件

yum install -y vsftpd

3.开启服务并设置开机自启

systemctl start vsftpd

systemctl enable vsftpd

4.本机访问服务器测试

ftp://本机ip

  

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...