FTP、FTPS 与 SFTP 是什么?

FTP

FTP 也就是文件传输协议(英文全称 File Transfer Protocol),属于应用层协议,专门用于在网络环境中实现客户端与服务器之间的文件交换。一套完整的 FTP 体系由 FTP 服务端和 FTP 客户端共同构成,用户既能把本地文件经由 FTP 协议推送到远程服务器,也能把服务器上的文件拉取到本地。它算得上是目前仍在使用的最早期的文件传输协议之一,是一种相当高效的文件搬运手段。

FTP 的运作机制

FTP 通信需要服务端和客户端双方在网络中建立联络。连接建立后会产生两条独立的通信链路:一条叫做命令链路,负责发送和接收操作指令;另一条叫做数据链路,专门用于双方之间的数据交换。

利用 FTP 传送文件时,用户必须向 FTP 服务端提交身份凭证才能获得传输权限。当然部分公开的 FTP 服务端或许无需凭证就能访问其中的资源,但无法确保数据在传输过程中的安全。任何未经过加密的公共网络上发送数据都极其危险,因此为了保障传输过程中的数据安全,从 FTP 演变出了下面两种协议:FTPS 和 SFTP。

FTPS

接着查了一下资料,发现 FTPS 分为 FTPS 隐式 SSL 和 FTPS 显式 SSL 两种运作方式,二者均采用 SSL 进行加密处理。那它们之间有何不同呢?

FTPS 隐式 SSL: 这种方式一般在端口 990 上运作。在此模式下,所有数据交换都必须先在客户端与服务端之间搭建 SSL 会话,而且服务端会拒绝一切不采用 SSL 的连接请求。

FTPS 显式 SSL: 显式 SSL 模式下,服务端可以同时兼容 FTP 和 FTPS 会话。会话开启前,客户端需先与 FTP 服务端建立一条未加密的连接,并在提交用户凭证之前发送 AUTH TLS 或 AUTH SSL 指令,请求服务端把命令链路切换为 SSL 加密链路。加密链路搭建成功后再把用户凭证发给 FTP 服务端,这样就能确保整个会话期间的所有指令都经由 SSL 链路自动加密。

给大家做个简洁的归纳。启用隐式模式时,FTP 的默认端口会变更为 TCP/990,服务端自动建立加密连接,同时要求客户端也必须支持加密连接方式,也就是通过 SSL 来完成连接。启用显式模式时,连接方式和默认端口与普通 FTP 保持一致,但需要通过 AUTH SSL/TLS 类指令激活加密连接后才能正常传送数据。

SFTP

最后再来了解一下 SFTP。SFTP 是 Secure File Transfer Protocol 的缩写,中文名为安全文件传送协议。

如果说 FTPS 是在 FTP 协议基础上叠加了一层 SSL 加密,那么 SFTP 则是完全基于 SSH(安全外壳)网络协议的产物,与前面提到的 FTP 有本质区别。SFTP 不采用独立的命令链路和数据链路,而是把数据和指令全部通过单一连接,以特殊格式的数据包方式进行传送。

SFTP 提供了两种身份验证方式:

第一种与 FTP 类似,连接时仅需验证用户 ID 和密码即可。但与 FTP 不同的是,这些凭证是经过加密传输的,这也是 SFTP 最核心的安全优势。

第二种是除了密码之外,还能借助 SSH 密钥来完成验证并通过 SFTP 协议建立连接。

弄清楚这几种协议之后,使用 FTP 客户端工具时就更加得心应手了,可以依据实际需要切换协议和加密方式,不必再为看不懂某项设置而发愁。

不过,新的困惑又冒了出来——传输设置里还有主动和被动两种模式,这又代表什么呢?于是又打开了搜索引擎……

FTP 软件的主动模式与被动模式有何不同

主动模式

通常 FTP 的默认工作方式就是主动模式,也叫 port 模式。

它通过两个步骤来完成工作:

第一步,客户端上的随机端口与服务端的 FTP 端口 21 建立命令链路,客户端发送 PORT 指令,指定服务端连接到客户端的某个端口,并据此建立数据链路。

第二步,服务端从端口 20 连接到客户端为数据链路指定的那个端口。连接建立后,就可以通过这些端口完成文件传送。

被动模式

在传输方式选项中,也可以手动切换为被动传输模式。在该模式下,用户端进行文件传输时,会先通过随机端口 A 连接到服务端的端口 21,并发出 PASV 指令建立命令链路,通知服务端此次采用被动方式连接。随后服务端会开启一个随机端口用于数据传送,而客户端则通过与发出指令的端口不同的随机端口 B 建立数据链路,从而实现文件传输。

被动模式与主动模式的核心差异在于谁来发起数据连接。主动模式下,客户端在命令链路建立完成后,由服务端主动发起与客户端的数据连接。而被动模式下,命令链路建立之后,改由客户端主动发起与服务端的数据连接。

正因为这个差异,两者各有优劣。比如主动模式更便于管理 FTP 服务端,因为只需开放 21 端口的入站和 20 端口的出站即可。但由于服务端连接的是客户端的随机端口,客户端可能会触发防火墙规则,甚至直接被防火墙阻断。反过来,被动模式则更有利于管理客户端一侧。

没想到一个看上去很简单的文件存储工具竟然有这么多分类和差别,不同模式、不同方式都能匹配不同的使用场景。看来以后使用工具时多少了解一些背后的原理,确实能让操作更加顺畅、更加省心。

原创文章,作者:余初云,如若转载,请注明出处:https://blog.jidcy.com/jsjc/2986.html

Like (1)
Previous 2026年6月22日
Next 2026年6月23日

相关推荐

  • 什么是WAF(Web应用防火墙)?WAF常用的核心防护技术

    WAF 全称为 Web Application Firewall(Web 应用防护系统),从字面含义就能看出,它是专门部署在网页应用层面的专属防火墙,是当下主流的Web安全防护方案…

    2026年7月3日
    0
  • 云主机快照有什么作用?

    伴随用户业务的推进,云主机磁盘数据持续发生变化,用户期望对某些关键时刻的数据进行备份,方便后续磁盘数据发生异常时,能够回退到备份时的状态,此时我们便可以借助云主机快照功能,实现数据…

    2026年6月13日
    0
  • MongoDB是什么?优缺点、特点及应用场景一网打尽!

    在数字化时代,数据库扮演着至关重要的角色,无论是个人用户还是企业,都需要具备数据存储、缓存、搜索索引、异步处理以及批量处理等功能。目前存在多种不同的数据库和数据管理系统,其中Mon…

    2026年4月2日
    0
  • 什么是SQL注入?SQL注入如何防范?

    一、SQL注入 1、什么是SQL注入? SQL注入属于较为常见的一种网络攻击手法,主要攻击目标锁定在数据库上,针对程序员在编写代码时出现的疏漏,借助SQL语句,达成无需账号即可登录…

    2026年7月10日
    0
  • 保护性DNS是什么?

    保护性 DNS (PDNS) 是利用现有 DNS 协议和架构来分析 DNS 查询并采取措施减轻威胁的安全服务。保护性DNS 从源头上阻止对恶意软件、勒索软件、网络钓鱼攻击、病毒、恶…

    2026年5月25日
    0
  • 什么是内网渗透?内网渗透工具有哪些?

    内网穿透也叫NAT穿越,核心是在部署了NAT设备的私有TCP/IP网络里,让不同内网主机之间成功建立连接,通过端口映射的方式,让公网设备能够定位到处于内网环境的主机。 而内网渗透指…

    2026年6月30日
    0
  • 网站采用CDN加速的好处

    在数字内容高速增长、用户对网络体验要求不断提升的背景下,CDN 内容分发网络通过就近缓存与智能调度,为网站加速、视频点播、文件分发等场景提供高效稳定的内容传输能力。CDN(内容分发…

    2026年6月16日
    0
  • 高防ip是什么?

    高防 IP 属于一项付费增值服务,主要用于解决互联网服务器遭遇大流量 DDoS 攻击后服务中断的问题。用户配置该 IP 后,可把攻击流量导向高防节点,保障源服务器平稳运行。该服务无…

    2026年5月27日
    0
  • 什么是会话固定攻击(Session Fixation)?

    你知道吗?登录网站时,网站是怎么记住你身份的?答案就是会话(Session)。 可以把 Session 想象成住酒店拿到的房卡。拿着这张卡,酒店就知道你是哪个房间的客人,能进出房间…

    2026年5月18日
    0
  • 拒绝服务攻击 DoS 与 DDoS 解析

    在网络安全领域,DoS 和 DDoS 是两类高频且危害显著的攻击方式,二者核心目的都是让目标网络或服务器无法正常提供服务,但攻击模式、破坏力和应对难度截然不同。 DoS,即拒绝服务…

    2026年5月18日
    0