ftp:Linux 上使用 ls 的 PORT 命令非法,但 OS X 上不行?

ftp:Linux 上使用 ls 的 PORT 命令非法,但 OS X 上不行?

我在ftpLinux 上遇到了奇怪的错误(Arch,更具体地说,作为inetutils包的一部分)。说实话,我使用 shell 命令的原因是因为我的所有其他客户端都在大惊小怪,这似乎对于故障排除很有用。

[user@machine ~]$ ftp ftp2.example.com
[ logging in ]
ftp> ls
500 Illegal PORT command (Virtual Traffic Manager FTP proxy).
502 Command not implemented (Virtual Traffic Manager FTP proxy).
ftp: bind: Address already in use

我尝试过被动模式,但没有效果。它会这样做:

ftp> passive
Passive mode on.
ftp> ls
227 Entered Passive Mode [numbers here]

然后我会等待大约六分钟左右并终止提示。与此同时,在房间另一台电脑的 OS X 终端中:

Group-iMac-2:~ intern$ ftp ftp2.ftptoyoursite.com
[ logging in again ]
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
229 Extended Passive Mode Entered (|||61644|)
150 Opening ASCII mode data connection for file list
drwxr-x---   5 user   group     4096 Oct 21  2013 directory_1
drwxr-x---   5 user   group     4096 Oct 22 11:46 directory_2
226 Transfer complete

这与扩展被动模式有关系吗?如果我没记错的话,该epsv命令可以帮助解决这个问题。但我在Linux下尝试过,也遇到了同样的问题。

ftp> 
ftp> epsv
Use of EPRT/EPSV for IPv4: on.
ftp> ls
500 Illegal PORT command (Virtual Traffic Manager FTP proxy).
500 Illegal PORT command (Virtual Traffic Manager FTP proxy).
502 Command not implemented (Virtual Traffic Manager FTP proxy).
ftp: bind: Address already in use
ftp> passive
Passive mode on.
ftp> ls
227 Entered Passive Mode [ more numbers ]

它挂在那里。总的来说,我发现自己有点无知。 curlftpfslftp给我类似的问题; Filezilla 在执行 LIST 命令后也超时。我可以通过仅从 OS X 访问该站点来解决此问题,但我更喜欢在我自己的工作站上执行操作。也许我可以ssh进入另一台计算机......但我希望有一个替代方案。

感谢您的任何见解或建议。

相关内容