Описание тега passive-mode
FTP может работать в активном или пассивном режиме, который определяет, как устанавливается соединение для передачи данных.
В обоих случаях клиент создает управляющее TCP-соединение со случайным непривилегированным портом N на командный порт 21 FTP-сервера. В активных режимах клиент начинает прослушивать входящие подключения данных на порт N+1 с сервера (клиент отправляет Команда FTP PORT
или EPRT
чтобы сообщить серверу, какой порт он слушает).
В ситуациях, когда клиент находится за брандмауэром и не может принимать входящие TCP-соединения, может использоваться пассивный режим.
В этом режиме клиент использует управляющее соединение для отправки PASV
или EPSV
на сервер, а затем получает от сервера номер порта сервера, который затем использует клиент для открытия соединения для передачи данных от произвольного клиентского порта к полученному IP-адресу сервера и номеру порта сервера.