Linux里面FTP主被动模式区别是什么?

Linux里面FTP主被动模式区别是什么?,第1张

题主你好,

首先要说的是FTP的通信是由两部分组成的: 发送命令 + 传输数据.

换种说法就是: 发送命令 与 传输数据 是走的两条道(不同的tcp连接).

发送命令 这条道方向是固定的, 总是由客户端向服务端发起请求把这条道铺起来.

传输数据 这条道方向就不是固定的了, 可能与 发送命令 一样, 也是由客户端向服务端发起请求, 还可能是反向的,即由服务端向客户端发起请求来铺起传输数据的这条道.

而题主的问题里所说的FTP主动被模式其实指的就是 传输数据 这条道的铺设到底是 谁向谁发起请求?  这里的主被动是根据 服务端 来说的, 即 服务端主动向客户端发起的就是所谓的主动模式, 反之, 客户端向服务端发起的(服务端连接),即是被动模式

最后再说下区别: 一开始的ftp只有主动模式,即服务端主动向客户端发请求建立连接,然后利用建立的这个连接进行数据传输. 但后来客户端这边的防火墙很多时候为了安全考虑只相信自己向外发送的请求, 不相信外面连进来的请求,会把从外向内的请求给截断,说白了就是数据传输这条道没建成, 数据肯定就传输不了的. 所以后来又开发了被动模式,让客户端主动向服务端发请求建立连接, 这样防火墙一看是从自己家主动发出去的,就不会拦截,这样路铺好了, 数据自然能成功传输了.

写在最后: 希望可以帮到题主, 欢迎追问.

Linux *** 作系统文件传输的方式有很多种,但在日常工作以及实际项目开发中最常使用的文件传输方式就是FTP和SFTP,那么Linux系统中FTP和Sftp的区别有哪些?这两个传输方式各有什么特点呢?接下来我们一起来看看详细的介绍。

第一、FTP协议

FTP是TCP/IP协议组中的协议之一,TP协议由两个部分组成:1、FTP服务器,用来存储文件2、FTP客户端,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。

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

①主动模式

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

20端口连接至客户端的指定端口发送数据。

②被动模式

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

第二、SFTP协议

SFTP是SSH File Transfer

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

第三、二者的主要区别

链接方式:FTP使用TCP端口21上的控制连接建立连接。而SFTP是在客户端和服务器之间通过SSH协议建立的安全连接来传输文件。

安全性:SFTP使用加密传输认证信息和传输的数据,所以使用SFTP相对于FTP是非常安全。

效率:SFTP这种传输方式使用了加密解密技术,所以传输效率比普通的FTP要低很多。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/6181399.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-17
下一篇2023-03-17

发表评论

登录后才能评论

评论列表(0条)

    保存