vsftpd主动模式和被动模式

vsftpd主动模式和被动模式

主动模式(PORT)

所谓主动模式,指的是FTP服务器主动去连接客户端的数据端口来传输数据,其过程具体来说就是:客户端从一个任意的非特权端口N(N>1024)连接到FTP服务器的命令端口(即tcp 21端口),紧接着客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。然后服务器会从它自己的数据端口(20)“主动”连接到客户端指定的数据端口(N+1),这样客户端就可以和ftp服务器建立数据传输通道了。

被动模式(PASV)

所谓被动模式,指的是FTP服务器被动等待客户端来连接自己的数据端口,其过程具体是:当开启一个FTP连接时,客户端打开两个任意的非特权本地端口N(N >1024)和N+1。第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交PASV命令。这样做的结果是服务器会开启一个任意的非特权端口P(P > 1024),并发送PORT P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。(注意此模式下的FTP服务器不需要开启tcp 20端口)

两种模式比较

  1. 主动模式(PORT)只要开启服务器的21(进)和20(出)端口,而被动模式(PASV)需要开启服务器大于1024所有tcp端口和21端口。
  2. 从网络安全的角度来看的话似乎ftp 主动(PORT)模式更安全,而ftp被动模式( PASV)更不安全,那么为什么要在ftp 主动模式(PORT)基础再制定一个ftp被动模式( PASV)呢?原因是因为制定ftp 被动模式(PASV)的主要目的是为了数据传输安全角度出发的,因为ftp 主动模式端口使用固定20端口进行传输数据,黑客很容使用sniffer等探嗅器抓取ftp数据,这样一来通过ftp 主动模式(PORT)传输数据很容易被黑客窃取,因此使用被动模式(PASV)方式来架设ftp 服务比主动模式安全。

你可能感兴趣的:(linux,基础,服务器,linux,ftp)