FileZilla 外网访问配置指南——FTP Pasv Mode 解析
为了在校园内网下跨平台传输文件,找到了 FileZilla 这一款免费开源的 FTP 工具。 相比于一般的通讯软件或是 U 盘传文件,基于 FTP 等协议的这种分享方式有这么几个优点:接收方无需登录,甚至无需软件,彻底规避大号小号来回切换;可以支持一对多分享;多平台通用,Windows、macOS、Linux 都支持(Server 只有 Windows);速度快,理想情况下能跑满局域网物理上限。 软件本体可以在中文官网或是英文官网上下载,分为 Client 端和 Server 端。折腾的时候对于 Server 端其中一个 passive mode 设置感到非常疑惑,网上很多教程讲得并不明白,本文从 FTP 协议出发整理一下。 FileZilla Server FTP 数据连接 FTP (File Transfer Protocol) 已经有约四十年历史了,协议的制定并没有考虑到现如今的互联网规模,包括 NAT 路由、防火墙等。 FTP 协议的特殊之处在于其建立了两个连接:控制连接 control connection 用于传输命令及其回复,一般是 21 端口;数据连接 data connection 用于传输文件或目录,由特定的控制命令建立,每次端口不一定相同,建立之后可以上传或下载。 数据连接的方式有两种:主动模式 active mode、被动模式 passive mode。 在被动模式下: Client 通过控制连接发送 PASV 命令到 Server Server 回复地址和随机一个端口 Client 发送传输文件或者目录的命令,同时用 Server 的地址建立数据连接 在主动模式下: Client 通过控制连接发送 PORT 命令到 Server,同时附上了本机地址 Client 发送传输文件或者目录的命令 Server 使用 Client 的地址建立数据连接 A common network setup 注意 FTP 协议是建立在 TCP 协议的基础上,所以 Client 和 Server 的每次交互都有三次握手。...