50% off 所有套餐限时优惠,起价 $2.48/mo
7 min left
Security & Networking

FTP 主动与被动 — 哪种更适合你的需求?

Matt Schmitt By Matt Schmitt 7 min read Updated Apr 15, 2023
FTP 主动与被动

FTP 有主动和被动两种运行模式。主动模式是 FTP 最早的运行方式,但如今大多数连接都通过被动 FTP 方式进行。那么什么是被动和主动 FTP?它们有什么区别?哪一种更安全、更容易设置?我们在这里尝试回答了关于主动与被动 FTP 的所有常见问题。让我们先从详细的定义开始:

Active FTP 是什么?

FTP 主动模式

比较 FTP 主动和被动模式。主动模式是 FTP 连接的一种较早方法,既有优点也有缺点。在 FTP 连接中,你有一个客户端和一个服务器。这两台计算机通过两个端口连接。一个称为命令端口,另一个称为数据端口。服务器和客户端必须决定用哪个端口号相互连接。以下是主动模式的工作流程(粗略版):

  1. 客户端使用随机端口向服务器的 21 端口发送命令(PORT 命令)。这个命令告诉服务器应该连接到客户端的哪个数据端口。
  2. 服务器使用 20 端口连接该端口并建立连接。

这个过程称为主动模式,因为客户端主动指定它希望服务器连接的端口号。在主动 FTP 中,服务器是发起连接的一方,遵循客户端的命令。那么被动 FTP 是什么呢?

Passive FTP 是什么?

FTP 被动模式

被动 FTP 是一种较新的 FTP 模式,被认为更安全、更易使用。与主动 FTP 类似,客户端向服务器的 21 端口发送命令。但这次客户端发送的是 PASV 命令。然后服务器决定它想接收数据的端口。最后客户端发起连接。

流程如下:

  1. 客户端使用随机端口向服务器的 21 端口发送命令(PASV 命令)。
  2. 服务器通过指定它想使用的数据端口来响应(这是一个随机端口)。
  3. 客户端使用随机端口向服务器指定的端口发送数据。

注意服务器的数据端口现在也是随机选择的。因此在被动 FTP 中,21 端口仍然用作服务器的命令端口,但服务器的数据端口现在是随机的(而不是仅为 20 端口)。

还要注意,客户端是两个端口连接的发起者。

FTP 主动与被动的区别

FTP 主动与被动对比

如前所述,主要区别在于,在主动 FTP 中,服务器发起数据连接,而在被动 FTP 中,是客户端发起数据连接。这会导致一些对数据传输的安全性和便利性很重要的变化。下面是详细说明:

主动式 FTP 与被动式 FTP 在安全性中的对比

主动 FTP 始终使用 21 端口(命令)和 20 端口(数据)传输信息。这意味着如果有人试图入侵你的网络,他们已经知道要针对哪些端口。

在被动 FTP 中,服务器端的数据端口是随机的。所以虽然你仍然使用 21 端口用于命令,但实际的数据传输更难被拦截。

另一方面,要使用被动模式,服务器需要打开更多端口,因为数据端口这次是随机的。这可能会给服务器造成一些安全漏洞。服务器管理员通常会限制开放端口的范围,以减少被攻击者利用的可能性。

RDP-vps 需要远程桌面吗?

可靠的高性能 RDP 服务器,正常运行时间达 99.95%。在美国、欧洲和亚洲的主要城市中随时随地使用你的桌面。

获取 RDP 服务器

主动 FTP 与被动 FTP 的防火墙问题

如你所知,防火墙在网络连接中可能成为问题所在。防火墙的作用是阻止来自未知端口的任何连接尝试。这个问题在客户端防火墙上更为严重,因为服务器防火墙通常会对来自未知端口的连接更加开放。

在 Active FTP 中,客户端通过随机端口接收来自服务器的连接。因此客户端的防火墙可能会阻止该连接。

在被动 FTP 模式中,客户端负责建立两个连接。这样就能轻松穿过客户端的防火墙,不会出现问题。服务器的防火墙仍然可能造成阻碍,因为这次数据端口是随机的。但通常这不是大问题,因为服务器防火墙本身就配置为接受更多未知连接,比客户端电脑的防火墙限制更宽松。

FTP 主动模式和被动模式中的命令通道和数据通道是什么?

总结一下,命令通道和数据通道的流程是这样的:

  • 主动模式下,客户端的命令端口和数据端口都是随机的。服务器的命令通道使用端口 21,数据通道使用端口 20。
  • 被动模式下,客户端的命令端口和数据端口都是随机的。服务器的命令通道使用 Port 21,数据通道也是随机的。

如需被动模式下使用端口 20 作为数据通道也可以,或者你可以限制通道只使用某个端口范围。

为什么选择主动 FTP 而不是被动?

比较 FTP Active 和 Passive 两种模式,开发者倾向于选择 Active FTP 主要有两个原因。其一是服务器安全。Passive FTP 需要在防火墙上开放多个端口,因为数据端口是随机选择的。这样虽然增加了端口识别难度,但也意味着更多的端口暴露在潜在攻击下。

另一个原因是,有时候配置服务器防火墙很麻烦,或者防火墙不在你的控制范围内。因此人们改用主动模式,通过端口 20 来建立连接,这个端口被所有防火墙都认可。

windows-vps Windows 10 VPS 托管

获得一个高效的 Windows 10 VPS 用于远程桌面,价格最优。免费运行 Windows 10,配置 NVMe SSD 存储和高速互联网。

查看 Windows 10 VPS 方案

将 FTP 从主动模式改为被动模式

从主动 FTP 切换到被动 FTP 的方法取决于你使用的软件类型。

要在 FileZilla 中将 FTP 从活跃状态改为被动状态,请按以下步骤操作:

  1. Open Filezilla
  2. 从菜单栏选择「编辑」>「设置」。
  3. 在设置窗口中,转到「连接」,然后选择 FTP。
  4. Choose ‘Passive (recommended)’ from the Transfer Mode.
  5. Click on OK.

每个现代 FTP 客户端都有类似的设置。不过如我们前面提到的,在这两种情况下你都可能遇到服务器防火墙的问题,需要进行调整。

命令提示符 FTP 是主动还是被动?

Windows 命令提示符 FTP 行处于活动状态,不支持被动 FTP。您可以使用 WinSCP 或使用其他命令行客户端通过被动模式连接到您的服务器。

Windows 7 FTP 服务器是主动还是被动?

Windows 7 支持多达 7 个用户使用 IIS 等服务。如要使用 Windows 7 作为服务器,您需要 在 Windows 7 上启用 IIS.

IIS 同时支持主动模式和被动模式,无需启用其中任何一种。但你可以在 IIS 中配置被动模式的端口范围。

Also Read: 如何在 Windows 10 上安装 IIS?

网络浏览器使用被动 FTP 还是主动 FTP?

Web浏览器,如 Chrome 和 Firefox 使用操作系统的网络设置来配置 Active 或 Passive FTP。通常 Windows 使用 Passive FTP,因为这是兼容性最好的模式。

要为网络浏览器启用或禁用被动模式,请按照以下步骤操作:

  1. 按 'WinKey + S' 打开 Windows 搜索。
  2. Type-in ‘Internet Options’ and click on it.
  3. 在「Internet 属性」窗口中,切换到「高级」选项卡。
  4. 向下滚动至浏览部分。
  5. Check-mark the ‘Use Passive FTP (for firewall…’ option.
  6. Click OK.
RDP-vps 需要远程桌面吗?

可靠的高性能 RDP 服务器,正常运行时间达 99.95%。在美国、欧洲和亚洲的主要城市中随时随地使用你的桌面。

获取 RDP 服务器

Conclusion

FTP 主动模式和被动模式建立连接的步骤不同,各有优缺点。选择最适合你的方式就行。本文还解答了关于主动和被动 FTP 的常见问题。

Share

博客更新

Keep reading.

MikroTik L2TP VPN 指南的 Cloudzy 标题图像,展示笔记本电脑通过发光的蓝色和金色数字隧道连接到服务器机架,并配有盾牌图标。
Security & Networking

MikroTik L2TP VPN 设置(含 IPsec):RouterOS 指南(2026)

在这个 MikroTik L2TP VPN 设置中,L2TP 处理隧道,IPsec 处理加密和完整性验证。将两者结合使用可以获得原生客户端兼容性,无需第三方工具。

Rexa CyrusRexa Cyrus 9 min read
终端窗口显示 SSH 警告信息,提示远程主机标识已更改。深蓝绿色背景上显示修复指南标题和 Cloudzy 品牌标识。
Security & Networking

警告:远程主机标识已更改及修复方法

SSH 是一种安全网络协议,可在系统之间创建加密隧道。在需要远程访问计算机但无需图形界面的开发者中仍然广泛使用。

Rexa CyrusRexa Cyrus 10 min read
DNS 服务器故障排查指南插图,深色背景上显示警告符号和蓝色服务器,用于 Linux 名称解析错误。
Security & Networking

名称解析临时失败:含义和修复方法?

使用 Linux 时,在尝试访问网站、更新软件包或执行需要网络连接的任务时,可能会遇到名称解析临时失败错误。

Rexa CyrusRexa Cyrus 12 min read

Ready to deploy? From $2.48/mo.

独立云服务,始于2008年。AMD EPYC、NVMe,40 Gbps。14天退款保障。