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.mzph.cn/news/681218.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是智慧隧道,如何建设智慧隧道

一、隧道管理的难点痛点 近年来隧道建设规模不断扩大,作为隧道通车里程最多、规模最大的国家,截至2022年底,我国公路隧道共有24850处、2678.43万延米,其中特长隧道1752处、795.11万延米,长隧道6715处、1172.82万延米。…

蓝桥杯每日一题----素数筛

素数筛 素数筛的作用是筛选出[2,N]范围内的所有素数,本次主要讲解两种方法,分别是埃氏筛和欧拉筛。证明时会提到唯一分解定理,如果不知道的小伙伴可以先去学一学,那我们开始啦! 1.埃氏筛 主要思想:当找到…

【北邮鲁鹏老师计算机视觉课程笔记】06 corner 局部特征

【北邮鲁鹏老师计算机视觉课程笔记】06 corner 局部特征 1 局部特征的任务牵引:全景拼接 ①提取特征 ②匹配特征 ③拼接图像 我们希望特征有什么特性? ①可重复性 ②显著性 ③计算效率和表达紧凑性 ④局部性 2 特征点检测的任务 3 角点 在角点&#…

记一次Spring for Kotlin中JacksonConfig配置Long转String失败

目录 起因真相解决方案 起因 众所周知,浏览器在处理 Long类型(比如雪花算法生成的id)时,往往会出大事情。 浏览器在处理长整型(Long)类型时可能会遇到问题,主要原因是浏览器在处理数字时有限制…

8.【CPP】Vector(扩容问题||迭代器失效问题简述迭代器的种类)

vector是表示可变大小数组的序列容器。就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自…

ubuntu服务器部署gitlab docker并配置nginx反向代理https访问

拉取镜像 docker pull gitlab/gitlab-ce运行容器 docker run --detach \--publish 9080:80 --publish 9022:22 --publish 9443:443\--namegitlab \--restartalways \--volume /home/docker/gitlab/config:/etc/gitlab \--volume /home/docker/gitlab/logs:/var/log/gitlab \-…

我为什么选择Xamarin开发ios app安卓app

临岁之寒简书作者,转载 Xamarin是一项跨平台开发技术,之前是收费的,而且据说收费不菲,所以使用的人数比较少,在国内几乎无人问津。后来Xamarin被微软收购,现已免费开放,相信今后国内的使用人群会大幅地增长…

如何学习VBA_3.2.14:VBA中字符串的处理和判断函数

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的劳动效率,而且可以提高数据处理的准确度。我推出的VBA系列教程共九套和一部VBA汉英手册,现在已经全部完成,希望大家利用、学习。 如果…

RestFul的认识

前言 RESTful 是 Representational State Transfer 的缩写,是一种软件架构风格,用于在网络上构建和整合应用程序。它基于 HTTP 协议,并定义了一组约束和规范,用于规范客户端和服务器之间的通信。 RESTful API 是遵循 REST 架构规…

【复现】Supabase后端服务 SQL注入漏洞_48

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一: 四.修复建议: 五. 搜索语法: 六.免责声明 一.概述 Supabase是什么 Supabase将自己定位为Firebase的开源替代品,提供了一套工具来帮助开发者构建web或移动应用程序。 Sup…

441. Arranging Coins( 排列硬币)

问题描述 你总共有 n 枚硬币,并计划将它们按阶梯状排列。对于一个由 k 行组成的阶梯,其第 i 行必须正好有 i 枚硬币。阶梯的最后一行 可能 是不完整的。 给你一个数字 n ,计算并返回可形成 完整阶梯行 的总行数。 问题分析 等差数列求和问…

【c++基础】国王的魔镜

说明 国王有一个魔镜,可以把任何接触镜面的东西变成原来的两倍——只是,因为是镜子嘛,增加的那部分是反的。 比如一条项链,我们用AB来表示,不同的字母表示不同颜色的珍珠。如果把B端接触镜面的话,魔镜会把…

STM32面试相关问题

STM32面试相关问题: STM32的内核型号,主频,传感器和单片机总线类型,IIC,SPI,RS485UART数据帧项目中一些参数的设置 STM32 系统移植 ARM编译 常用的驱动编写方式 自己写过哪些方面驱动 其实如果问32的问题&#xff0c…

LeetCode、1268. 搜索推荐系统【中等,前缀树+优先队列、排序+前缀匹配】

文章目录 前言LeetCode、1268. 搜索推荐系统【中等,前缀树优先队列、排序前缀匹配】题目类型及分类思路API调用(排序前缀匹配)前缀树优先队列 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博客专家、Java领域优质创…

车载诊断协议DoIP系列 —— DoIP应用(Application)需求

车载诊断协议DoIP系列 —— DoIP应用(Application)需求 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎么看自己。江湖一…

实验1-4 输出三角形

本题要求编写程序&#xff0c;输出指定的由“*”组成的三角图案。 输入格式&#xff1a; 本题无输入 输出格式&#xff1a; 按照下列格式输出由“*”组成的三角图案。 **** *** ** * 示例代码&#xff1a; #include<stdio.h> int main() {int i4,j0;for(i4;i>0;i…

基于python深度学习的中文情感分析的系统,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

【Chrono Engine学习总结】4-vehicle-4.2-车辆轨迹跟踪

由于Chrono的官方教程在一些细节方面解释的并不清楚&#xff0c;自己做了一些尝试&#xff0c;做学习总结。 0、Vehicle的driver driver在上一篇总结中有过介绍&#xff0c;【Chrono Engine学习总结】4-vehicle-4.1-vehicle的基本概念&#xff0c;这里进一步介绍。 对于一个…

部分意图分类【LLM+RAG】

在生成人工智能领域工作最有价值的事情之一就是发现新兴技术如何融入新的解决方案。 举个例子&#xff1a;在为北美顶级金融服务公司之一设计对话式人工智能助手时&#xff0c;WillowTree 的数据和人工智能研究团队 (DART) 发现&#xff0c;将意图分类与大型语言模型 (LLM) 结合…

推荐高端资源素材图库下载平台整站源码

推荐高端图库素材下载站的响应式模板和完整的整站源码&#xff0c;适用于娱乐网资源网。该模板支持移动端&#xff0c;并集成了支付宝接口。 演示地 址 &#xff1a; runruncode.com/tupiao/19692.html 页面设计精美&#xff0c;不亚于大型网站的美工水准&#xff0c;并且用户…