FTP主被动讲解
FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议,它使用客户端-服务器,即C/S模式,客户端通过FTP协议连接到FTP服务器,并可以通过该协议进行文件上传、文件下载和文件管理等操作,其有两种工作模式,即主动模式(ActiveMode)和被动模式(PassiveMode),它们分别对应于不同的数据连接建立方式。
1.FTP 主动模式(ActiveMode)
在主动模式下,FTP客户端首先与FTP服务器的21端口建立控制连接。
当需要传输数据时,客户端会随机选择一个大于1024的高位端口号,并告知服务器它
将监听这个端口(通过PORT命令)。
服务器随后在收到此信息后,从自己的20号端口发起数据连接到客户端先前指定的那
个高位端口。
2.FTP 被动模式(PassiveMode)
同样,被动模式下也是先建立一个从客户端到服务器21端口的控制连接。
当需要进行数据传输时,客户端会发送PASV命令请求服务器开启一个高位端口并进入
被动监听状态。
服务器收到PASV命令后,在自己的系统上随机打开一个高位端口(大于1024),并将
该端口号通过控制连接告诉客户端。
客户端接收到服务器提供的端口号后,由客户端自己发起数据连接到服务器上预先打开
的被动监听端口。
总结:
1)主动模式
21 端口:控制端口
20 端口:数据端口
2)被动模式
21 端口+随机端口作为数据传输端口
注意:
主动模式中,服务器主动建立数据连接到客户端的随机端口。
被动模式中,客户端主动建立数据连接到服务器的随机端口。

常见的FTP服务器:
①FileZilla Server
②Server-U ③IIS ④Vsftpd
常见的FTP客户端:
①FileZilla Client ②WinSCP ③FireFTP
FTP主被动原理讲解
FTP简介
FTP(File Transfer Protocol)是一种基于客户端-服务器(C/S)模式的文件传输协议,用于在网络上实现文件上传、下载和管理操作。FTP支持两种工作模式:主动模式(Active Mode)和被动模式(Passive Mode),两者的主要区别在于数据连接的建立方式。
1. FTP主动模式(Active Mode)
- 控制连接:客户端通过服务器的 21 端口 建立控制连接。
- 数据连接建立过程:
- 客户端随机选择一个大于 1024 的高位端口(如
50001),并通过PORT命令告知服务器。 - 服务器从 20 端口 主动发起数据连接到客户端指定的高位端口。
- 客户端随机选择一个大于 1024 的高位端口(如
- 端口总结:
- 控制端口:
21 - 数据端口:
20(服务器端)
- 控制端口:
2. FTP被动模式(Passive Mode)
- 控制连接:客户端同样通过服务器的 21 端口 建立控制连接。
- 数据连接建立过程:
- 客户端发送
PASV命令请求服务器进入被动模式。 - 服务器随机开启一个高位端口(如
20001),并将该端口号返回给客户端。 - 客户端主动发起数据连接到服务器的随机高位端口。
- 客户端发送
- 端口总结:
- 控制端口:
21 - 数据端口:服务器随机高位端口(如
20001)
- 控制端口:
模式对比总结
| 模式 | 控制连接端口 | 数据连接发起方 | 数据端口 |
|---|---|---|---|
| 主动模式 | 21 | 服务器 → 客户端 | 服务器 20 端口 |
| 被动模式 | 21 | 客户端 → 服务器 | 服务器随机高位端口 |
交互示意图
主动模式流程
客户端 服务器
50001 (控制) →→→→→→ 21
客户端发送PORT命令 →→→→ 指定端口50002
服务器20端口 →→→→→→ 客户端50002(数据传输)

浙公网安备 33010602011771号