EPSV ouvre toujours une connexion de données FTP distincte. Il change les informations de point de terminaison, pas le nombre de connexions.

Une réponse PASV classique fournit une adresse et un port. Cette adresse peut être inutilisable hors du réseau du serveur. EPSV fournit un port et utilise l'adresse du serveur associée à la connexion de contrôle.

À travers un proxy, conservez l'identité logique du serveur FTP. L'adresse d'écoute de l'intermédiaire n'est pas automatiquement le serveur qui possède le port de données renvoyé.

La connexion de données a aussi besoin de la route proxy prévue et de l'autorisation d'atteindre le port choisi. Accepter un CONNECT vers le port de contrôle FTP n'autorise pas chaque connexion de données suivante.

Avant de désactiver EPSV, examinez la réponse passive ainsi que l'adresse du serveur et le port demandés pour le transfert. Une connexion FTP réussie établit la connexion de contrôle ; elle laisse la connexion de données à vérifier. Avec Python ftplib, suivez les deux constructeurs de socket au lieu de vous fier au seul défaut de PySocks.

Articles similaires