FTP学习
个人学习记录
一、FTP简解
FTP(File Transfer Protocol)协议,文件传输协议。提供交互式的访问,对传输文件的格式和类型有分类,允许文件具有存取权限。适合异构网络任意计算机的传送。
FTP在工作时使用两个并行的TCP链接,一个是控制连接(端口号21),一个是数据连接(端口号20)。使用两个不同的端口号可使协议更加简单和更容易实现。
二、FTP的两种连接模式
主动模式
FTP客户端:自身开启一个N端口(n>1024),连接到FTP服务器的21端口,发送用户名密码
服务器21端口->客户端N端口:反馈登录成功
客户端:使用N端口,发送PORT命令到FTP服务器21端口,告诉服务器自己开放的端口N+1。
服务器20端口:发送数据到客户端提供的端口
被动模式
FTP客户端:使用N端口连接到FTP服务器的21端口,发送用户名密码
服务器21端口:反馈登录成功
客户端:发送PASV命令到FTP服务器
服务器:在服务器本地开放随机端口(大于1024),把开放的端口号发送给客户端
客户端:使用N+1端口 连接到服务器开放的端口进行数据传输
主动被动两者的不同之处
主动模式:由客户端在本地开放一个端口,服务端(一般使用20端口)连接到本端口进行数据的传输。
被动模式:客户端告诉服务器要传送数据,服务器在自身创建端口,让客户端连接到该端口进行数据传输。
主动模式下服务器使用20端口进行数据链接的构建
被动模式下服务器使用未知的端口M进行数据链接的构建
三、Ubuntu下FTP服务器程序
vsftpd是 UNIX 操作系统中的一个开源的、免费的 FTP 服务软件。具有以下特点:安全性高
轻小易用
支持系统用户匿名用户和虚拟用户的权限验证和相关操作
四、FTP安全问题
-
匿名访问
-
弱口令
-
未限制登录用户访问目录权限
-
密码和文件内容都使用明文传输
推荐阅读:(100条消息) FTP协议安全分析_liaowenxiong的博客-CSDN博客_ftp安全性
FTP安全搭建
aowenxiong/article/details/115586891)