我对 FTP 还比较陌生。我的朋友和我正在尝试合作一个项目。他创建了一个 FTP 服务器,但是当我通过 Atom 编辑器的“远程 FTP”包连接时,出现了错误unable to parse PASV server response
。经过进一步研究,这个错误似乎不是 Atom 特有的错误,而是由 FTP 协议定义的更广泛错误。我也无法通过 WinSCP 连接,在切换到 FileZilla 后,FTP 就可以正常工作了。为了方便起见,我宁愿使用 Atom 的 FTP 包。有人能解释一下这个错误的含义以及可以做些什么来修复它吗?
我在 WinSCP 中收到此错误:
检测到超时。(控制连接)无法检索目录列表列出目录‘/’时出错。
我朋友的服务器其实就是一个运行 Advanced Tomato 的路由器,USB 端口上插着一个外部存储设备,所有的文件都放在那里。
谢谢。
答案1
这表明 Atom FTP 客户端无法正确处理被动模式。可能有一个设置可以处理它,或者如果它有交互模式,您可能需要以SET PASV
某种方式发送。
答案2
经过进一步的测试和研究,我发现问题出在我的网络。我使用网络共享作为我的主要网络连接(我的运营商是 T-Mobile,但据我所知,运营商与问题无关)。
据称,FTP 在蜂窝网络上存在漏洞我发现这个帖子。
由于其架构,FTP 协议在使用 NAT 的环境中无法很好地工作。NAT 在移动网络中被广泛使用,所使用的辅助应用程序有时会出现错误,这也许可以解释您看到的差异。它在一个网络中失败而在另一个网络中成功可能还有其他原因,但由于没有关于网络的大量详细信息,所以一切都只是猜测。
我强烈建议放弃 FTP,改用 SFTP,即通过 SSH 进行文件传输。FileZilla 支持 SFTP,但您需要在服务器端设置 SSH 服务器。但不要将 SFTP 与 FTPS 混淆,后者是使用 TLS 的 FTP,在使用 NAT 的环境中会出现更多问题。
我连接了 SFTP,现在一切都正常了。希望这篇文章对大家有所帮助。