EPSV і далі відкриває окреме з'єднання даних FTP. Він змінює відомості про кінцеву точку, а не кількість з'єднань.

Традиційна відповідь PASV подає адресу й порт. Ця адреса може бути непридатною поза мережею сервера. EPSV подає порт і використовує адресу сервера, пов'язану з керівним з'єднанням.

Через проксі зберігайте логічну ідентичність FTP-сервера. Адреса прослуховування посередника не є автоматично тим сервером, якому належить повернутий порт даних.

З'єднанню даних також потрібен передбачений маршрут через проксі й дозвіл дістатися вибраного порту. Прийняття CONNECT до порту керування FTP не дозволяє кожне наступне з'єднання даних.

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

Схожі статті