【FTP】FTP(文件传输协议)工作原理(SFTP)

摘要:
用户可以通过各种FTP客户端程序和FTP协议连接到FTP服务器,以上载或下载文件。SFTP,文件加密传输协议SFTP,在Linux系统中,传输的默认端口是22端口。这种传输方式更安全。传输双方应进行密码安全验证和基于密钥的安全验证,有效防止“中间人”的威胁和攻击。

目前在网络上,如果你想把文件和其他人共享。最方便的办法莫过于将文件放FTP服务器上,然后其他人通过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建立控制链路。所有的控制命令比如Is或get都是通过这条链路传送的。
          当客户端需要服务器端给它传送数据时,客户端会发消息给服务器端,告诉自己的位置和打开的高位端口(一般大于1024的端口都就叫高位端口),等候服务器 的20端口和客户端打开的端口进行连接,从而进行数据的传输。当服务器端收到信息后,就会和客户端打开的端口连接,这样数据链路就建立起来了。
 
          采用主动模式连接服务器的客户端,当它位于NAT或者防火墙的保护之后时会碰到连接失败的问题。这是因为当防火墙接到服务器发送过来的信息的时候,并不知道应该发送给内部网络中的哪一台客户端造成的。
      被动模式
 
         被动模式是这样工作的:当客户端发送数据请求后,服务器也会发信息给客户端,告诉客户端:服务器在本地打开了一个高位端口P,你现在来连接我吧。当客户端收到该信息时,就会去连接服务器端的端口P,连接成功后,数据链路就建立了。
 

          从上面的解释中我们可以看到,两种模式主要的不同是数据连接建立的不同。对于Port模式,是客户端在本地打开一个端口等服务器去连接建立数据连接,而Pasv模式就是服务器打开一个端口等待客户端去建立一个数据连接。

SFTP(Secure File Transfer Protocol),即文件加密传输协议

        SFTP在linux系统中,传输默认的端口为22端口,这种传输方式更为安全,传输双方既要进行密码安全验证,还要进行基于密钥的安全验证,有效的防止了“中间人”的威胁和攻击。

      sftp是ssh内含的协议,只要sshd服务器启动了,它就可用,它本身不需要ftp服务器启动

在使用linux的centos服务器系统中,两个比较起来,ftp传输会比sftp传输速率快,毕竟sftp牺牲了一定的效率,以保证传输过程的安全。

转自:https://blog.csdn.net/qq_41750040/article/details/80249507

免责声明:文章转载自《【FTP】FTP(文件传输协议)工作原理(SFTP)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何在Web项目中给没有添加API核心组件添加APIController的帮助页HelpPage微笑小程序的几种跳转方式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

运维配置环境中间件

日常Linux运维环境配置笔记---不定期更新 声明:本文为个人维护笔记,当中的例子或者步骤都是借鉴网络上的方法或者方案,后自己一步步的进行试验后得出来的。有可能会写错,也有可能是缺少某部分没有记录,如发现请大家指出。谢谢 版权声明:本文为博主原创文章,未经博主允许不得转载。 1.环境建立 输入用户、密码登录Luinx 查看网络情况如何,有没有加载网...

ftp操作方法整理

1.整理简化了下C#的ftp操作,方便使用    1.支持创建多级目录    2.批量删除    3.整个目录上传    4.整个目录删除    5.整个目录下载 2.调用方法展示, var ftp = new FtpHelper("10.136.12.11", "qdx1213123", "123ddddf");//初始化ftp,...

邮件基本概念及发送方式

 一:邮件发送的基本介绍   在工作中我相信大家会经常和邮件打交道,用邮件来进行信息的交流和汇报工作情况;但是在我们程序员眼里,邮件的用处还是挺广泛的,比如我们在注册账号完成时平台会发送一封邮件给我们,让我们点击邮件里的链接来激活当前注册的账号;其实邮件还可以实现验证码的发送、用户操作提醒、活动通知等功能 1:邮件基本介绍 邮件服务器: 邮件服务器...

谷歌火狐浏览器限制的端口

最近新项目,开了新端口进行测试,端口号是6666,却发现火狐和谷歌浏览器均不能访问。 火狐提示如下: 此地址使用了一个通常用于网络浏览以外目的的端口。出于安全原因,Firefox 取消了该请求。 谷歌提示如下: 无法显示此网页 ERR_UNSAFE_PORT 然后就开始怀疑是否是端口的问题,结果换成了8090,谷歌浏览器能正常访问了,想了下可能是谷歌浏览...

FTP、SFTP与FTPS

先简单介绍下FTP的基础知识   FTP的传输有两种方式:ASCII、二进制。   FTP支持两种模式:Standard (PORT方式,主动方式),Passive (PASV,被动方式)。 主动模式   FTP 客户端首先和服务器的TCP 21端口建立连接,用来发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么...

【收集】常用的cmd命令

运行操作 CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本、文件系统版本) CMD命令锦集       1. gpedit.msc-----组策略   2. sndrec32-------录音机   3. Nslookup-------IP地址侦测器 ,是一个 监测网络中 DNS 服务器是否能正确实现域名解...