sftp和ftp的区别

sftp和ftp的区别当客户端需要服务器端给它传送数据时 客户端会发消息给服务器端 告诉自己的位置和打开的高位端口 一般大于 1024 的端口就叫高位端口 等候服务器的 20 端口和客户端打开的端口进行连接 从而进行数据的传输 区别 SFTP 是 ssh 内含的协议 ssh 是加密的 telnet 协议 只要 sshd 服务器启动了 它就可用 而且 sftp 安全性较高 它本身不需要 ftp 服务器启动 被动模式是这样工作的当客户端发送数据请求后 服务器也会发信息给客户端 告诉客户端服务器在本地打开了一个高位端口 你现在来连接我吧

1、ftp架构

如同其他的很多通讯协议,FTP通讯协议也采用客户机/服务器(Client/Server)架构。用户可以通过各种不同的FTP客户端程序,借助FTP协议,来连接FTP服务器,上传或下载文件。

2、FTP通讯端口知识

FTP服务器和客户端要进行文件传输,就需要通过端口来进行。FTP协议需要的端口一般包括两种:

控制链路—–TCP端口21

控制器端。用于发送指令给服务器以及等待服务器响应。所有你发往FTP服务器的命令和服务器反馈的指令都是通过服务器上的21端口传送的。

数据链路—–TCP端口20

数据传输端口。用来建立数据传输通道的。主要用来从客户向服务器发送一个文件、从服务器向客户发送一个文件、从服务器向客户发送文件或目录列表。数据链路主要是用来传送数据的,比如客户端上传、下载内容,以及列目录显示的内容等。

3、FTP连接的两种方式

在数据链路的建立上,FTP Server为了适应不同的网络环境,支持两种连接方式:主动模式(PORT)和被动模式(PASV)。其实这两种连接模式主要是针对数据链路进行的,和控制链路无关。

主动模式

主动模式是这样工作的:客户端把自己的高位端口和服务器端口21建立控制链路。所有的控制命令比如Ls或get都是通过这条链路传送的。当客户端需要服务器端给它传送数据时,客户端会发消息给服务器端,告诉自己的位置和打开的高位端口(一般大于1024的端口就叫高位端口),等候服务器的20端口和客户端打开的端口进行连接,从而进行数据的传输。当服务端收到信息后,就会和客户端打开的端口连接,这样数据链路就建立起来了。采用主动模式连接服务器的客户端,当它位于NAT或者防火墙的保护之后时会碰到连接失败的问题。这是因为当防火墙接到服务器发送过来的信息的时候,并不知道发送给内部网络中的哪一台客户端造成的。

被动模式

被动模式是这样工作的:当客户端发送数据请求后,服务器也会发信息给客户端,告诉客户端:服务器在本地打开了一个高位端口,你现在来连接我吧。当客户端收到该信息时,就会去连接服务器端的端口,连接成功后,数据链路就建立了。从上面的解释中我们可以看到,两种模式主要的不同是数据连接建立的不同。对于主动模式,是客户端在本地打开一个端口等服务器去连接建立数据连接,而Pasv模式就是服务器打开一个端口等待客户端去建立一个数据连接。

SFTP和FTP的区别

SFTP是secure File Transfer Protocol的缩写,是安全文件传输协议。可以为传输文件提供一种安全的加密方法。跟ftp几乎语法功能一样。SFTP是ssh的一部分,是一种传输档案至Blogger伺服器的安全方式。它本身没有单独的守护进程,必须使用sshd守护进程来完成相应的连接操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。SFTP同样是使用加密传输认证信息和传输的数据,所以使用SFTP是十分安全的。但是由于这种传输方式使用了加密/解密技术,所以传输下来比普通的FTP要低得多。在对网络安全性要求更高时,代替FTP使用。

SFTP和FTP都是文件传输协议。区别:SFTP是ssh内含的协议(ssh是加密的telnet协议),只要sshd服务器启动了,它就可用,而且sftp安全性较高,它本身不需要ftp服务器启动。sftp = ssh + ftp。由于ftp是明文传输的。没有安全性,而sftp基于ssh,传输内容是加密过的,较为安全。目前网络不太安全,以前用telnet的都改用ssh2(ssh1已被激活成功教程)。sftp这个工具和ftps用法一样。但是它的传输文件是通过ssl加密了的,即使被截获了也无法激活成功教程。而且sftp相比ftps功能要多一些,多了一些文件属性的设置。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/200205.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午11:19
下一篇 2026年3月20日 上午11:20


相关推荐

  • 350页前端校招面试题直击大厂:前端基础、前端核心、计算机基础、项目、Hr面…「建议收藏」

    350页前端校招面试题直击大厂:前端基础、前端核心、计算机基础、项目、Hr面…「建议收藏」前言考虑到关注的小伙伴们也会有在校生或应届生,要参加校招的同学,一直挺想总结一些关于校招面试题,赶在春招结束前终于写完了,除了写到前端方面的面试题外,项目、职业发展、H面等高频问题也会有,写的很详细,全方面做好准备,为同学们的校招保驾护航!目录1.HTML2.CSS3.前端基础4.前端核心5.前端进阶6.移动端开发7.计算机基础8.算法与数据结构9.设计模式10.项目11.职业发展12.Hr面正文HTML1.浏览器页面有哪三层构成,分别是什么,作用是什么?2.HTML5的

    2022年6月19日
    40
  • 数模笔记(五):变异系数法

    数模笔记(五):变异系数法数模笔记(一):线性规划、整数规划及非线性规划数模笔记(二):层次分析法数模笔记(三):灰色系统分析方法数模笔记(四):插值与拟合一、原理若某项指标的数值差异较大,能明确区分开各被评价对象,说明该指标的分辨信息丰富,因而应给该指标以较大的权重;反之,若各个被评价对象在某项指标上的数值差异较小,那么这项指标区分各评价对象的能力较弱,因而应给该指标较小的权重。因为方差可以描述取值的离散程度,即某指标的方差反映了该指标的的分辨能力,所以可用方差定义指标的…

    2022年6月8日
    67
  • select top语句 mysql_SQL SELECT TOP 语句[通俗易懂]

    select top语句 mysql_SQL SELECT TOP 语句[通俗易懂]SELECTTOP子句用于规定要返回的记录的数目。SELECTTOP子句对于拥有数千条记录的大型表来说,是非常有用的。注释:并非所有的数据库系统都支持SELECTTOP子句。SQLServer/MSAccess语法SELECTTOPnumber|percentcolumn_name(s)FROMtable_name;MySQL和Oracle中的SQLSEL…

    2022年7月13日
    19
  • css如何设置透明度

    css如何设置透明度今天面试遇到了一个之前写 css 样式时没太注意的问题 关于 css 如何设置透明度

    2025年9月12日
    6
  • 导航窗口用html语言怎么写,html通用导航条制作详解

    导航窗口用html语言怎么写,html通用导航条制作详解第一步:先创建一个盒子,定义类为nav,width1000,height40px,防京东的导航,与浏览器顶部100px,margin-top:100px,看的更直观第二步:使用无序列表放置,导航条的内容,这个可以自己定,这里设定ul宽1000px;高40px;因为ul是块状元素,出现下面的样子,可以思考块状元素在firefox中和ie6下面有什么不同。通常在写样式的时候,要初始化我…

    2022年5月15日
    42
  • OpenClaw超全指南!是什么?能干嘛?怎么部署?

    OpenClaw超全指南!是什么?能干嘛?怎么部署?

    2026年3月13日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号