当前位置: 首页 > article >正文

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

        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)

http://www.lryc.cn/news/2414218.html

相关文章:

  • 高德Mapabc地图标注 基础篇
  • return true和 return false区别
  • matlab importdata显示,MATLAB中导入数据:importdata函数
  • windows系统关闭指定端口
  • B2B大型电子商务门户网站系统源码+160多套企业网站模板+安装搭建教程
  • 解决Windows丢失mfc71.dll问题
  • 指针的指针和指针的引用
  • ARP协议是什么?底层原理是什么?
  • CreateDialog和DialogBox的区别,模态对话框与非模态对话框
  • 如何制作个人网站(如何搭建个人博客)
  • RedHat认证介绍
  • 2信道模型
  • android Toast大全(五种情形)建立属于你自己的Toast
  • FarPoint 基本设置
  • forall minus oracle,Oracle PL/SQL 优化与调整 -- Bulk 说明
  • 六款堪称神器的网站
  • 数学分析中的典型问题与方法_裴礼文教授编数学分析中的典型问题与方法练习1.4参考解答...
  • startx 启动的过程
  • 搜索引擎入口
  • vi局部替换操作
  • 【数据中台】开源项目(3)-Linkis
  • RedHat操作系统安装
  • 计网 | Wireshark抓包和分析腾讯视频点播详细过程
  • ThinkPHP框架USDT买卖交易网站源码修复版
  • PHP实现的网站导航条源代码
  • stable_sort的含义
  • OS X进程管理之launchctl
  • textarea 换行问题
  • com.lowagie.text.DocumentException: Font ‘STSong-Light‘ with ‘UniGB-UCS2-H‘
  • VBox 启动虚拟机失败 - NtCreateFile(\Device\VBoxDrvStub)