FTP与SFTP两者有什么区别

在实际项目开发中最常使用的文件传输的方式有ftp和sftp两种,但是这两个传输方式各有什么特点呢?本文接下来将讨论SFTP、FTP的区别。

作者:聚IT来源:今日头条|2019-09-26 06:27

收藏

分享

在实际项目开发中最常使用的文件传输的方式有ftp和sftp两种,但是这两个传输方式各有什么特点呢?本文接下来将讨论SFTP、FTP的区别。

一、FTP协议

FTP是TCP/IP协议组中的协议之一,TP协议由两个部分组成:

  • FTP服务器(用来存储文件)
  • FTP客户端(用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源)

默认情况下FTP协议使用TCP端口中的20和21这两个端口。21端口用于传输控制信息,而是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用被动模式则具体使用哪个端口要服务器端和客户端协商决定。FTP传输模式分为以下两种:

  • 主动模式(Port)
  • 被动模式(Passive)

1. 主动模式

FTP客户端首先和FTP服务器的TCP21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。

2. 被动模式

在建立控制通道与主动模式相似,但建立连接后是Pasv命令。FTP服务器收到Pasv命令后便随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,通过三次握手建立通道,然后FTP服务器将通过这个端口进行数据的传送。

注意:很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。

二、SFTP协议

SFTP是SSH File Transfer Protocol的缩写,安全文件传送协议。SFTP与FTP有着几乎一样的语法和功能。SFTP为SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。

三、两者的主要区别

  • 链接方式:FTP使用TCP端口21上的控制连接建立连接。而,SFTP是在客户端和服务器之间通过SSH协议(TCP端口22)建立的安全连接来传输文件。
  • 安全性:SFTP使用加密传输认证信息和传输的数据,所以使用SFTP相对于FTP是非常安全。
  • 效率:SFTP这种传输方式使用了加密解密技术,所以传输效率比普通的FTP要低得多。

FTP与SFTP两者有什么区别相关推荐

  1. FTP、FTPS和SFTP的简介与区别

    FTP.FTPS和SFTP简介 FTP FTP 即 文件传输协议(英语:File Transfer Protocol 的缩写)是一个用于计算机网络上在客户端和服务器之间进行文件传输的应用层协议.完整的 ...

  2. 10自带sftp服务器_一文讲透FTP和SFTP的区别

    阅读本文约需要10分钟,您可以先关注我们或收藏本文,避免下次无法找到. FTP和SFTP都是文件传输协议,我们知道FTP使用的是20和21端口,SFTP使用的是22端口.另外,SFTP前面的S应该是S ...

  3. FTP,SFTP,FTPS三个文件传输协议的区别

    FTP,SFTP,FTPS三个文件传输协议的区别 文章目录: 简要说明 FTP(File Transfer Protocol):文件传送协议是 TCP/IP 协议组中的协议之一.FTP协议包括两个组成 ...

  4. ftp与sftp及sftp和scp的区别

    FTP VS SFTP FTP是文件传输协议.在网站上,如果你想把文件和人共享,最便捷的方式莫过于把文件上传到FTP服务器上,其他人通过FTP客户端程序来下载所需要的文件. FTP进行文件传输需要通过 ...

  5. 计算机网络stp和utp,关于网络线UTP FTP STP SFTP 屏蔽层区别

    PTYA23关于网络线UTP FTP STP SFTP屏蔽层区别 目前市场以五类(cat5)超五类(cat6)为主,其中还包括非屏蔽(UTP),单屏蔽(FTP和STP)以及双屏蔽(SFTP) (1)非 ...

  6. FTP(File Transfer Protocol)搭建文件传输服务器vsftp(vsftpd)(FTP和SFTP区别)(未完成)

    文章目录 ftp初探 linux ubuntu16.04安装vsftp 安装vsftp(Very Secure FTP) 启动VSFTPD服务 新建用户目录uftp 新建用户uftp,制定用户主目录和 ...

  7. 远程登录工具 —— filezilla(FTP vs. SFTP)、xshell、secureCRT

    filezilla:是一个免费开源的 FTP 软件,分为客户端版本和服务器版本,具备所有的 FTP 软件功能. 支持的协议:FTP & SFTP(Secure File Transfer Pr ...

  8. CHAPTER 5 文件共享 - FTP/FTPS/SFTP

    文件共享 - FTP 1 FTP 1.1 传输方式 1. ASCII传输方式 2. 二进制传输模式 3. 两种传输方式的区别 1.2 支持的模式 1. 主动模式(PORT) 2. 被动模式(PASV) ...

  9. seci-log 1.11 发布 增加了ftpserver,远程ftp,sftp采集简化配置等功能

    2019独角兽企业重金招聘Python工程师标准>>> 日志分析软件 seci-log 1.11发布,增加了增加了ftpserver,远程ftp,sftp采集简化配置等功能.上篇文章 ...

最新文章

  1. Windows支持直接访问Linux子系统文件:你的下一台Linux何必是Linux
  2. python使用redis队列_Python的Flask框架应用调用Redis队列数据的方法
  3. 看《你必须知道的.NET》有感--工厂模式的另类解读
  4. 【完结】你对深度学习模型的理解是否足够深刻,这12篇文章可以作为一个参考...
  5. 数据库:MySQL相关知识整理,值得收藏!
  6. ListView的CheckBox实现全部选中/不选中
  7. Python 函数 -next()
  8. Python+Matplotlib绘制带误差线的柱状图
  9. Angular 2 之七 依赖注入
  10. CF1047E Region Separation
  11. 解决Win10 /Win11 Fastboot驱动问题
  12. kindle电子书转换成pdf azw转pdf
  13. AutoCAD Civil 3D 中缓和曲线的定义
  14. Python学习足迹
  15. linux rapidsvn 使用教程,推荐一款简单方便的SVN客户端,在百度BAE中使用RapidSVN,百度BAE SVN教程...
  16. pod容器发生OOM错误(by quqi99)
  17. 一级路由器静态路由访问二级路由器的方法二
  18. Python3.7+Robot Framework 打开ride.py无界面
  19. 业务中台和数据中台的区别
  20. 浅析MySQL恶意服务器读取文件原理

热门文章

  1. 怎样将树的中序遍历的数输入到一个数组中_数据结构与算法-二叉查找树平衡(DSW)...
  2. python paramiko_Python3之paramiko模块
  3. python excel库 linux_python 在linux下读取 .xlsx
  4. html¥符号代码是什么,html怎么特殊符号赋
  5. 强化学习 ---baselines项目之 Atari游戏的网络结构解析
  6. 该设备或资源(Web代理)未设置为接受端口“7890“上的连接解决方案
  7. 编程语言安全性排行榜:Ruby最佳,C语言漏洞最多?
  8. 操作系统知识回顾(5)-内存管理
  9. LeetCode刷题(8)
  10. 手把手教你启动若依前后端分离项目