🔄概述
FTP(File Transfer Protocol)在进行文件传输时,默认使用 两种数据连接模式:主动模式(PORT) 和 被动模式(PASV)。这两种模式的不同在于 谁来发起数据连接,对网络安全策略(如防火墙、NAT)有着直接影响。
本文将通过 Linux 实际操作截图,帮助你理解并掌握 FTP 模式切换方法,解决因模式不匹配而导致的连接错误。
📡 主动模式(PORT)
在 主动模式 下,连接过程如下:
- 客户端向服务器的 FTP 命令端口(通常是
21
)建立连接。 - 客户端发送
PORT
命令,告诉服务器它开放了某个端口(如49100
)。 - 服务器从自己的 20端口 主动连接客户端提供的端口,建立数据通道进行文件传输。
❗ 主动模式的问题
如果客户端(尤其是 Linux 环境)处于 NAT、防火墙或企业内网中,服务器无法反向连接 客户端,数据传输就会失败。
📸 错误案例(主动模式下连接失败):
🌐 被动模式(PASV)
在 被动模式 下,连接过程为:
- 客户端连接服务器的 FTP 命令端口(
21
)。 - 客户端发送