ftp主动模式和被动模式

12/1/2023 ftp

FTP(File Transfer Protocol)是一种用于在计算机之间传输文件的标准网络协议。FTP使用两种不同的模式来建立数据连接:主动模式(Active mode)和被动模式(Passive mode)。

# 主动模式(Active mode):

工作流程:

  • 客户端通过命令通道(默认端口21)与服务器建立控制连接。
  • 当需要传输文件时,客户端向服务器发送PORT命令,指定客户端用于数据传输的IP地址和端口号。
  • 服务器通过控制连接从客户端的指定端口发起数据连接,将文件传输到客户端。
    特点:
  • 客户端主动地打开一个临时端口,用于数据连接。
  • 服务器连接到客户端指定的端口,向客户端发送数据。
  • 可能面临防火墙问题,因为服务器主动连接到客户端的端口,而一些防火墙可能会阻止这种类型的流量。

# 被动模式(Passive mode):

工作流程:

  • 客户端通过命令通道与服务器建立控制连接。
  • 当需要传输文件时,客户端向服务器发送PASV命令。
  • 服务器在一个范围内选择一个端口,并通过控制连接告知客户端,然后等待客户端连接。
  • 客户端通过一个新的数据连接连接到服务器的指定端口,文件传输开始。
    特点:
  • 服务器在一个范围内选择一个端口,并告知客户端,由客户端连接。
  • 可以更容易地穿越防火墙,因为客户端发起了数据连接。
  • 通常在被动模式下更容易实现对防火墙友好的配置。

# 如何选择模式:

  • 主动模式: 通常在客户端位于防火墙后,且防火墙无法自动处理FTP流量时使用。
  • 被动模式: 通常在服务器位于防火墙后,或者要求更好的防火墙穿越能力时使用。
    选择模式取决于网络拓扑、防火墙配置以及安全性要求。被动模式更常见,因为它通常更容易在各种网络环境中工作。