ftp的主被动模式

Posted by t298 on April 24, 2021

ftp的主被动模式

FTP是一个文件传输的常用协议,它使用了两个端口:数据端口 20,命令端口 21.但是当混入主动/被动模式的概念时,数据端口可能会发生改变。

主动模式

PORT中文称为主动模式。FTP客户端使用N端口(N>1023)端口连接到FTP服务器的21端口,发送用户名和密码进行登录,登录成功读取数据时,客户端开放N+1端口,发送PORT命令到FTP服务器,告诉服务器采用主动模式并开放端口,FTP服务器接收到PORT主动模式命令和端口号后,通过服务器的20端口和客户端开放的端口进行连接。

被动模式

PASV中文称为被动模式。FTP客户端使用N端口(N>1023)端口连接到FTP服务器的21端口,发送用户名和密码进行登录,登录成功读取数据时,客户端开放N+1端口,发送PASV命令到FTP服务器,服务器在本地开放一个端口(1024以上),然后把开放的端口告诉客户端,客户端再通过N+1端口连接到服务器端口进行数据传输。

两者的区别

主动模式对服务端有利,但对客户端不利。主动模式是服务器主动送达,客户端需要提供地址,不安全

被动模式对客户端有利,因为客户端的命令端口和数据端口都是“准出”,防火墙对于“准出”一般是不拦截的。