详解 FTP、FTPS 与 SFTP 的原理

这篇具有很好参考价值的文章主要介绍了详解 FTP、FTPS 与 SFTP 的原理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

FTP、FTPS 与 SFTP 简介

FTP

FTP 即 文件传输协议(英语:File Transfer Protocol 的缩写)是一个用于计算机网络上在客户端和服务器之间进行文件传输的应用层协议。完整的 FTP 是由 FTP 服务器 和 FTP 客户端组成的,客户端可以将本地的文件通过 FTP 协议上传到服务器,也可以将服务器的文件下载到本地。它是当今使用的最古老的文件传输协议之一,是一种非常便捷的移动文件的方式。

FTP 的工作原理

FTP 连接需要 FTP 服务器和客户端两方在网络上建立通信。建立 FTP 连接时会有两个不同的通信通道。一个被称为命令通道,它的作用是发出和响应指令。另一个为数据通道,用于客户端和服务器端进行数据交互。

使用 FTP 传输文件时,用户需要通过向 FTP 服务器提供凭据来获得文件传输许可。当然某些公共 FTP 服务器可能不需要凭据即可访问其文件,但是无法保证数据传输的安全性,任何未加密公共网络上的数据发送都是非常危险的,所以为了保护传输数据的安全,由 FTP 衍生而出的就是下面的两种协议:FTPS 与 SFTP。

FTPS

接下来二狗子查询了一下,发现 FPTS 有 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、FTPS 与 SFTP 的原理

但是,新的疑问又出现了,二狗子看到这里的传输设置中的传输模式,有主动和被动之分,这又是什么意思呢。不懂就问的他又打开了 Google…

详解 FTP、FTPS 与 SFTP 的原理

FTP 软件的主动模式和被动模式的区别

主动模式

一般 FTP 的默认模式就是主动模式,也称为 port 模式。

它是通过两个步骤来进行工作的:

首先客户端上的随机端口与服务器上的 FTP 端口 21 建立命令通道,客户端发送 PORT 命令,指定服务器与客户端其中一个端口连接,并建立数据通道。

然后服务器从端口 20 连接到为数据通道指定的客户端端口。建立连接后,即可通过这些客户端和服务器端口进行文件传输。

被动模式

在传输方式栏,你还可以手动调整为被动传输模式,在该模式下用户端进行文件传输时,会先通过随机端口 A 连接到服务器上的端口 21,并发出 PASV 命令建立命令通道,告诉服务端这次是被动模式连接。之后服务器会打开一个随机端口用于数据传输,而客户端通过与发出命令的端口不同的随机端口 B 建立数据通道,从而进行文件传输。

详解 FTP、FTPS 与 SFTP 的原理

被动模式与主动模式不同的地方就是客户端启动数据连接。在主动模式下,客户端在命令通道上建立连接后,服务器将启动与客户端的数据连接。而在被动模式下,建立命令通道后,由客户端启动与服务器的数据连接。

因为这个区别,可以得出两者的优势和缺陷。比如主动模式有利于管理 FTP 服务端,因为只需要打开 21 端口的“准入”、20 端口的“准出” 即可,但是由于服务器连接到客户端的端口随机,所以客户端有可能会触发防火墙,甚至直接被防火墙拦截掉。反之被动模式则有利于管理客户端。

没想到一个看似简单的存储工具居然还有着这么多的分类和区别,不同的模式不同的方式都可以对应不同的需求,看来以后在使用工具的时候还是可以多少了解一点相关知识,能让工具用起来更顺手更舒心~文章来源地址https://www.toymoban.com/news/detail-465378.html

到了这里,关于详解 FTP、FTPS 与 SFTP 的原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何利用SFTP协议远程实现更安全的文件传输 ——【内网穿透】

    🎬 鸽芷咕 :个人主页  🔥 个人专栏 : 《高效编程技巧》《cpolar》 ⛺️生活的理想,就是为了理想的生活! SFTP(SSH File Transfer Protocol)是一种基于SSH(Secure Shell)安全协议的文件传输协议。与FTP协议相比,SFTP使用了加密和身份验证机制来保护数据的安全性和完整性,可以在

    2024年02月11日
    浏览(44)
  • sftp和scp协议,哪个传大文件到服务器传输速率快?

    1.Win scp 6.1.1 2.XFTP 7 3.9.6G压缩文件 4.Centos 7 5.联想E14笔记本Win10 6.HW-S1730S-S48T4S-A交换机 sftp和scp协议,哪个传大文件到服务器速度快? 1.使用Win scp 上传9.6G压缩文件到Centos服务器 2.使用XFTP 上传9.6G压缩文件到Centos服务器 3.电脑网线直连服务器

    2024年02月05日
    浏览(57)
  • FTP(File Transfer Protocol,文件传输协议)是一种用于在网络上传输文件的协议

    FTP(File Transfer Protocol,文件传输协议)是一种用于在网络上传输文件的协议。它允许用户通过网络连接到远程计算机,并在本地计算机和远程计算机之间进行文件传输。 FTP分为两个主要角色:客户端和服务器。客户端是发起文件传输请求的计算机,而服务器是存放文件和响

    2024年02月05日
    浏览(51)
  • FTP与HTTP: 哪种协议更适合大文件传输?

    随着互联网技术的发展,网络传输已成为了现代社会中不可或缺的一部分。无论是文本、图像、音频、视频等各种类型的数据,相应的传输协议也在不断地发展和更新。FTP(File Transfer Protocol)和HTTP(Hyper Text Transfer Protocol)是两种被广泛应用的协议,它们都在网络上进行数据

    2024年02月16日
    浏览(39)
  • 【Linux】基于FTP协议实现Linux与Windows文件传输

    基于FTP协议实现Linux与Winodows实现文件传输,是大学期间的一个小实验。在这里做个总结。 实验环境: Linux CentOS 7.9 Xshell 7 Win10 通过yum安装vxftpd pacakge,并按照如下指令执行 修改 vsftpd.conf,此前先备份 成 vsftpd.conf.bak ,防止该配置文件改错导致无法运行。 执行 vim vsftpd.conf ,加

    2024年02月04日
    浏览(49)
  • 【解决方法】错误:无法和SFTP服务器建立FTP连接,请选择合适的协议

    在家连实验室的服务器时,出现了如下的情况:当时一直在想为啥协议不合适。 1. 点击【文件】-【站点管理器】,出现如下界面: 可能你的那里没有新站点,如果没有就点击新站点哦。 2. 点击【协议】,选择【SFTP-SSH File Transform Protocol】协议。   3. 输入【IP地址】和【端口

    2024年02月06日
    浏览(50)
  • 计算机网络 应用层上 | 域名解析系统DNS 文件传输协议FTP,NFS 万维网URL HTTP HTML

    之前我们讲运输层的时候已经讲了运输层可以给不同进程之间通信,但我们还需要应用层原因是,许多 应用需要多个进程之间相互配合完成,所以应用层进程用来约束这些配合! 每个应用层协议用来解决一个问题 应用层的许多协议都是基于客户服务器方式 客户是请求方,服

    2024年01月24日
    浏览(60)
  • vsftpd作为FTP服务器按照以下步骤来配置FTPS

    如果你正在使用vsftpd作为FTP服务器,你可以按照以下步骤来配置FTPS(FTP over TLS): **安装vsftpd:**如果你还没有安装vsftpd,你可以根据你的Linux发行版使用对应的包管理器来安装。例如,在CentOS或RHEL上,可以使用以下命令: **生成SSL证书:**你需要一个SSL证书来加密你的FTP连

    2024年02月06日
    浏览(41)
  • 【传输层协议】UDP/TCP结构特点与原理(详解)

    2字节的长度表示整个数据报的最大长度(UDP首部+UDP数据)。 校验和用来验证数据是否出错,出错就摒弃。 首部8个字节。 源/目的端口号:表示数据是从哪个进程来,到哪个进程去; 校验和:发送端填充,CRC校验。接收端校验不通过,则认为数据有问题。 1. 无连接 知道对

    2024年02月07日
    浏览(39)
  • 哈工大计算机网络传输层协议详解之:可靠数据传输的基本原理

    哈工大计算机网络课程传输层协议详解之:流水线机制与滑动窗口协议 哈工大计算机网络课程传输层协议详解之:TCP协议 哈工大计算机网络课程传输层协议详解之:拥塞控制原理剖析 什么是可靠? 不错、不丢、不乱 可靠数据传输协议 可靠数据传输对应用层、传输层、链路

    2024年02月12日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包