FTP 是一种基于 TCP 的应用层协议,它不支持 UDP 协议。 FTP 工作在一种特殊的服务机制上,它使用两个端口,一个 ‘数据’ 端口和一个 ‘命令’ 端口(也称为控制端口)。 通常情况下,端口 21 用作命令端口,端口 20 用作数据端口。
一、主动模式和被动模式
1、主动模式
客户端从一个任意的非特权端口N(N>1024)连接到FTP服务器的命令端口(21端口),发送用户名和密码登录,登录成功后要list列表或者读取数据时,客户端开放N+1端口,发送 PORT N+1 命令到FTP服务器,告诉服务器客户端采用主动模式以及开放的端口;FTP服务器收到PORT主动模式命令和端口号后,通过服务器的20端口和客户端开放的端口N+1连接,发送数据。

2、被动模式
为了解决服务器主动发起到客户端连接会被阻止的问题。被动模式工作的前提是客户端明确告知 FTP 服务器它使用被动模式。FTP客户端使用N(N>1023)端口连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,发送PASV命令到FTP服务器, 服务器在本地开放一个端口(1024以上),然后把开放的端口告诉客户端, 客户端再通过N+1端口连接到服务器开放的端口进行数据传输。

3、区别
显然两者的区别就在于建立数据传输连接的方式。
主动模式的连接发起方为服务器端,服务器使用20号端口主动去连接客户端的N+1端口建立数据连接;
然而当客户

本文详细讲解了FTP的主动模式与被动模式,演示如何搭建FTP服务器,包括使用FileZillaServer、FRP内网穿透和花生壳。重点介绍了如何在NAT环境中配置FTP,以及设置开机自启动和安全设置。
最低0.47元/天 解锁文章
2567

被折叠的 条评论
为什么被折叠?



