我最近为了尝试 3D 打印,买了一台拓竹 A1 Mini 3D 打印机。这台打印机支持 FTP 连接,用户可以使用 FileZilla、WinSCP 等 FTP 客户端上传需要打印的模型文件,以及下载延时摄影录像。 但是我尝试用 FileZilla 连接打印机时,却发现虽然用户名密码都正确,可以完成登录,但无法获取到文件列表: 拓竹官方论坛上也有一些用户报告了这个问题,例如 这个回复 ,以及 这个回复 。 有用户提到了 WinSCP 可以用 ,但我日常使用 Linux,不想专门为了连接打印机的 FTP 服务就切换到 Windows,就研究了一下问题的原因,以及 Linux 下的解决办法。 FTP 协议简介 要理解这个问题,首先要了解 FTP 协议是如何工作的。FTP(File Transfer Protocol)是一种古老的文件传输协议,诞生于 1971 年。它使用多条 TCP 连接来分离控制命令和数据传输: 控制连接:客户端主动连接服务器(一般是 21 端口),建立一条持久的 TCP 连接。所有命令(如登录、切换目录、列出文件)...