我正在使用 LFTP 从服务器传输文件,遗憾的是它无法识别 PORT 命令。我无法控制服务器(不知道详细的服务器是什么),我必须使用主动模式。
这是命令行:
lftp -e 'debug 10;set ftp:passive-mode off; set ftp:auto-passive-mode no; ls; bye;' -u user,password ftp://ftp.site.com
这是调试输出:
<--- 200 Using default language en_US
---> OPTS UTF8 ON
<--- 200 UTF8 set to on
---> OPTS MLST modify;perm;size;type;UNIX.group;UNIX.mode;UNIX.owner;
<--- 200 OPTS MLST modify;perm;size;type;UNIX.group;UNIX.mode;UNIX.owner;
---> USER xxxxx
<--- 331 Password required for xxxxx
---> PASS xxxxxx
<--- 230 User xxxxx logged in
---> PBSZ 0
<--- 200 PBSZ 0 successful
---> PROT P
<--- 200 Protection set to Private
---> PORT 172,16,133,11,146,168
<--- 500 Illegal PORT command
---> LIST
---> ABOR
---- Closing aborted data socket
---- Chiusura del socket di controllo
LFTP 似乎放弃连接到数据套接字,因为远程服务器不支持 PORT 命令。有没有办法说服 LFTP 仍然可以连接到端口 20?通过FTP手动显然没有问题。