FTP服务简介(工作原理、连接模式、流行服务器软件)

本文详细介绍了FTP(FileTransferProtocol)的工作原理,包括客户机/服务器模式,主动和被动模式的区别,以及FileZilla、ProFTPd、vsFTPd和PureFTPd等流行FTP服务器软件的特点和功能。
摘要由CSDN通过智能技术生成

        FTP(File Transfer Protocol,文件传输服务)提供在Internet上的任意两台计算机之间相互进行的文件传输。只要双方主机都支持FTP协议,就可以利用FTP来进行文件传输。

工作原理

        FTP服务是客户/服务器模式,用户通过客户机程序连接远程计算机上运行的服务器程序。FTP协议需要两个端口,一个作为控制连接端口(端口号为21),用于发送指令给服务器以及等待服务器响应;另一个作为数据传输端口(端口号为20),用于建立数据通道。

        FTP服务具体过程如下:

  • 客户端向服务器发出连接请求,同时客户端系统动态打开一个大于1024的端口等候服务器连接。
  • 若FTP服务器在端口21侦听到该请求,则在客户端1031端口和服务器的21端口之间建立起一个FTP会话连接。
  • 需要传输数据时,FTP客户端再动态打开一个大于1024的端口,连接到服务器的20端口,并在这两个端口之间进行数据的传输。
  • 传输完毕后,这两个端口会自动关闭。

匿名用户

        FTP服务要求先登录服务器,再进行文件传输,这对于很多公开提供软件下载的服务器来说十分不便。匿名用户访问就是在这样的环境中诞生的,通过使用一个公用的用户名Anonymous,密码不限的管理策略(一般使用用户的邮箱作为密码即可),让任何用户都可以很方便地从这些服务器上下载软件。匿名文件传输使用户以匿名身份与远程主机建立起连接,并被允许从远程主机上拷贝文件。

FTP服务的连接模式

主动模式

        FTP客户端会随机开启一个大于1024的端口N,并和服务器的21号端口建立连接,然后开放N+1号端口进行监听,同时向服务器发出PORT 1026命令(PORT命令包括客户端用什么端口接收数据)。服务器端在传送数据的时候,通过自己的TCP 20端口发送数据,因此FTP必须和客户端建立一个新的连接用于数据传输。

被动模式

        在建立控制通道的时候和主动模式类似,只是向服务器发送的命令是PASV,通知服务器之间处于被动模式。服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是1521。客户端收到命令后,会通过1026号端口连接服务器的端口1521,然后在两个端口之间进行数据传输。

        主动模式的FTP是服务器主动连接客户端的数据端口,被动模式的FTP是服务器被动地等待客户端连接自己的数据端口。

流行FTP服务器软件介绍

FileZilla

        FileZilla是一种免费的FTP客户端以及服务器端开放源代码程序,具有多种平台的软件包,可以在Windows,Linux和macOS平台上运行。服务器和客户端都支持FTP和FTPS(FTP over SSL/TLS),而客户端还可以连接到SFTP服务器。

特点

  • 跨平台,在Windows,Linux,Mac OS X和其他平台下运行more;
  • 多种可用的语言(包含中文);
  • 多标签用户界面;
  • 功能强大的站点管理器(Site Manager)和传输队列管理;
  • 上传下载速度限制,并可以限定某个特定的时间段的速度;
  • 支持虚拟目录,可以映射不同的盘符的文件到根目录下。

 其官网为:FileZilla - The free FTP solution (filezilla-project.org)​​​​

ProFTPd

        ProFTPd是一套可配置性强的开放源代码FTP服务器软件,名称最后的d字是因为在Linux中是用daemon来称呼。ProFTPd与Apache的配置方式类似,因此十分容易配置和管理。

        ProFTPd亦开发了有图形用户界面的FTP服务器软件称为gProFTPd

特点

  • 可设定多个虚拟FTP服务器,匿名FTP服务更是十分容易;
    • 单配置文档,容易配置,其配置指示和apache的有类似之处;
      • 基于单个目录的.ftpaccess配置文档,类似于Apache的.htaccess文档;
        • 能够配置为从inetd启动,或是单独FTP服务器两种运行方式;
          • 匿名FTP的根目录无需任何特别的目录结构,或系统程式或其他系统文档;
            • 以非root身份运行以及不执行任何外部程式,从而减少了安全隐患;
              • 能够根据文档属主情况或UNIX风格的访问控制来隐藏文档或目录;
                • 支持Shadow密码,包括支持密码过期机制;
                  • 强大的Log功能,支持utmp/wtmp及Wu-ftpd格式的记录标准,并支持扩展功能的日志记录。

 其官网为:The ProFTPD Project: Home

vsFTPd

        vsFTPd的最初发展理念是为了建构一个安全为主的 FTP 服务器,针对操作系统的程序的权限 (privilege) 概念来设计,具有很多独有的特性,有非常高的安全性需求、带宽限制、良好的可伸缩性、创建虚拟用户的可能性、IPv6支持、中等偏上的性能、分配虚拟IP的可能性等。

特点

  • 匿名服务设置十分方便;
  • 匿名FTP的根目录不需要任何特殊的目录结构,或系统程序或其它的系统文件;
  • 不执行任何外部程序,从而减少了安全隐患;
  • 支持虚拟用户,并且每个虚拟用户可以具有独立的属性配置;
  • 可以设置从inetd中启动,或者独立的FTP服务器两种运行方式;
  • 支持两种认证方式(PAP或xinetd/ tcp_wrappers);
  • 支持带宽限制。

 PureFTPd

        PureFTPd 是一款专注于程序健壮和软件安全的免费FTP服务器软件。

特点

  • 轻量级的 FTP 服务器软件,它具有优化的代码和高效的处理机制,可以提供快速的文件传输和响应速度;
  • 采用了多种安全措施来保护 FTP 服务器,包括 chroot 限制、用户权限控制、密码加密等;
  • 支持多种扩展模块,可以满足不同用户的需求;
  • 提供了一个 Web 管理界面,可以方便地管理 FTP 服务器;
  • 允许创建虚拟用户,并可以为每个用户设置独立的目录和权限。这样可以灵活地控制用户的访问权限和文件操作权限,实现更精细的权限管理。

其官网为:Pure-FTPd :: Pure-FTPd (pureftpd.org)

  • 16
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值