ftp主动模式和被动模式
nan_kliang 12/1/2023 ftp
FTP(File Transfer Protocol)是一种用于在计算机之间传输文件的标准网络协议。FTP使用两种不同的模式来建立数据连接:主动模式(Active mode)和被动模式(Passive mode)。
# 主动模式(Active mode):
工作流程:
- 客户端通过命令通道(默认端口21)与服务器建立控制连接。
- 当需要传输文件时,客户端向服务器发送PORT命令,指定客户端用于数据传输的IP地址和端口号。
- 服务器通过控制连接从客户端的指定端口发起数据连接,将文件传输到客户端。
特点: - 客户端主动地打开一个临时端口,用于数据连接。
- 服务器连接到客户端指定的端口,向客户端发送数据。
- 可能面临防火墙问题,因为服务器主动连接到客户端的端口,而一些防火墙可能会阻止这种类型的流量。
# 被动模式(Passive mode):
工作流程:
- 客户端通过命令通道与服务器建立控制连接。
- 当需要传输文件时,客户端向服务器发送PASV命令。
- 服务器在一个范围内选择一个端口,并通过控制连接告知客户端,然后等待客户端连接。
- 客户端通过一个新的数据连接连接到服务器的指定端口,文件传输开始。
特点: - 服务器在一个范围内选择一个端口,并告知客户端,由客户端连接。
- 可以更容易地穿越防火墙,因为客户端发起了数据连接。
- 通常在被动模式下更容易实现对防火墙友好的配置。
# 如何选择模式:
- 主动模式: 通常在客户端位于防火墙后,且防火墙无法自动处理FTP流量时使用。
- 被动模式: 通常在服务器位于防火墙后,或者要求更好的防火墙穿越能力时使用。
选择模式取决于网络拓扑、防火墙配置以及安全性要求。被动模式更常见,因为它通常更容易在各种网络环境中工作。