Linux Troubleshooting

主动 FTP 与被动 FTP

2023-12-12  本文已影响0人  yangqing

环境

问题

解决

主动模式

在主动模式下,FTP 客户端不会实际连接到服务器的数据端口,它只是告诉服务器它正在侦听哪个端口,然后服务器连接回客户端上的指定端口。从客户端防火墙来看,这似乎是外部系统发起与内部客户端的连接,通常会被阻止并需要处理。

主动FTP对FTP服务器管理员有利,但对客户端管理员不利。 FTP 服务器尝试与客户端上的随机高端口建立连接,这可能会被客户端的防火墙阻止。

  1. FTP 客户端从随机非特权端口(N > 1023)连接到 FTP 服务器的命令端口 21。
  2. 服务器然后将“ACK”发送回客户端的命令端口。
  3. 服务器在其本地数据端口上启动与客户端先前在步骤 1 中指定的数据端口的连接。
  4. 最后客户端发送ACK。

被动模式

被动模式 FTP 解决了客户端的许多问题,同时在服务器端带来了一系列问题。最大的问题是需要允许任何远程连接到服务器上编号更高的端口。

被动FTP对客户端有利,但对FTP服务器管理员不利。客户端将与服务器建立两个连接,但其中一个将连接到随机的高端口,该端口可能会被服务器端的防火墙阻止。

  1. FTP 客户端从服务器命令端口 21 上的随机非特权端口(N > 1023)进行联系,并发出PASV命令。
  2. 服务器然后打开一个随机非特权端口(P > 1023)并发送P返回客户端以响应 PASV 命令。
  3. 然后,客户端在步骤 2 中启动从其(N+1 > 1023)数据端口到指定服务器数据端口的数据连接。
  4. 最后,服务器将步骤 4 中的 ACK 发送回客户端的数据端口。

端口号大致分为三个范围

上一篇 下一篇

猜你喜欢

热点阅读