Я использую 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 руководство явно не проблема.