В FTP как активный, так и пассивный режимы предоставляют отдельный канал для передачи данных.Всякий раз, когда вы хотите отправить команду в пассивном режиме, которая включает отправку данных (например, list
), вы должны повторно отправить PASV
, чтобы сообщить серверу, что вы собираетесь выполнить операцию, которая включает соединение для передачи данных.Затем сервер может открыть новый сокет или продолжить использовать тот же.
Вот пример сеанса:
230 Login successful.
PASV
227 Entered Passive Mode (123,245,209,137,199,61)
LIST
150 Here comes the directory listing.
226 Directory send OK.
LIST
425 Use PORT or PASV first.
PASV
227 Entered Passive Mode (123,245,209,137,202,198)
LIST
150 Here comes the directory listing.
226 Directory send OK.
Обратите внимание, что моя вторая попытка использовать LIST
не удалась, посколькуне открыл канал данных.После того, как я отправил еще один PASV
, я смог снова использовать LIST
.