FTP Определите, включены ли активные или пассивные режимы - PullRequest
3 голосов
/ 25 августа 2010

Специально для Twisted я хотел бы иметь возможность определить, поддерживает ли сервер, к которому я подключен, активный или пассивный режим. См. API .

Если кто-то может объяснить или привести пример в протоколе FTP, как вы можете определить, поддерживает ли сервер активный или пассивный режимы.

1 Ответ

4 голосов
/ 26 августа 2010

Пассивный режим включается с помощью команды PASV на сервере. Если он отвечает с кодом ошибки (должен быть 500 Unknown command) после выполнения этой команды, то вы знаете, что она не поддерживается. Если он отвечает 227 Entering Passive Mode, то вы знаете, что пассивный поддерживается.

Пример использования команд telnet и FTP из командной строки:

% telnet ftp.mozilla.org 21
Trying 63.245.208.138...
Connected to dm-ftp01.mozilla.org.
Escape character is '^]'.
220-  [greeting omitted]
USER anonymous
331 Please specify the password.
PASS jathanism@
230-  [banner omitted]
230 Login successful.

Хорошая команда (поддерживается пассивный режим):

PASV
227 Entering Passive Mode (63,245,208,138,202,53)

Плохая команда (выдано 500 ошибок):

FART
500 Unknown command.
...