我在列出 ftp 上的文件时遇到了问题。我可以正常连接,但ls
似乎不起作用。启用调试模式后的输出如下 --
ftp> ls
ftp: setsockopt (ignored): Permission denied
---> PORT xx,xx,xx,xx,xx,xx
200 PORT command successful
---> LIST
425 Unable to build data connection: Connection timed out
ftp> passive
Passive mode on.
ftp> ls
ftp: setsockopt (ignored): Permission denied
---> PASV
227 Entering Passive Mode (xx,xx,xx,xx,xx,xx).
---> LIST
^C
421 Service not available, remote server has closed connection
receive aborted
waiting for remote to finish abort
ftp>
这只发生在我的服务器上(即,在我的本地机器上工作正常)。所以我猜这与客户端有关——但我不知道是什么。
提前致谢。如果我需要添加更多信息,请发表评论。
答案1
当在 NAT 后面使用时,ftp 确实会中断。
被动 ftp 将会打开一个大于 1024 的随机端口来发送数据。主动 ftp 将使用端口 20 来发送数据,使用端口 21 来发送命令。
我将使用主动模式并确保端口 20 和 21 已打开且正确转发。