EPSV по-прежнему открывает отдельное соединение данных FTP. Он меняет сведения о конечной точке, а не число соединений.

Традиционный ответ PASV сообщает адрес и порт. Этот адрес может быть непригоден за пределами сети сервера. EPSV сообщает порт и использует адрес сервера, связанный с управляющим соединением.

Через прокси сохраняйте логическую идентичность FTP-сервера. Адрес прослушивания посредника не является автоматически тем сервером, которому принадлежит возвращённый порт данных.

Соединению данных также нужны заданный маршрут через прокси и разрешение достичь выбранного порта. Принятие CONNECT к порту управления FTP не разрешает каждое последующее соединение данных.

Прежде чем отключать EPSV, изучите пассивный ответ, а также адрес сервера и порт, запрошенные для передачи. Успешный вход по FTP устанавливает управляющее соединение; соединение данных остаётся для проверки. С Python ftplib отслеживайте оба конструктора сокетов, а не полагайтесь только на значение PySocks по умолчанию.

Похожие статьи