Le mode passif est activé en émettant la commande PASV
sur le serveur. S'il répond avec un code d'erreur (devrait être 500 Unknown command
) lors de l'émission de cette commande, alors vous savez qu'il n'est pas pris en charge. S'il répond par un 227 Entering Passive Mode
, alors vous savez que passif est supporté.
l'exemple en utilisant les commandes telnet de ligne de commande et FTP:
% telnet ftp.mozilla.org 21
Trying 63.245.208.138...
Connected to dm-ftp01.mozilla.org.
Escape character is '^]'.
220- [greeting omitted]
USER anonymous
331 Please specify the password.
PASS [email protected]
230- [banner omitted]
230 Login successful.
Bonne commande (mode passif est pris en charge):
PASV
227 Entering Passive Mode (63,245,208,138,202,53)
commande Bad (500 erreur levée):
FART
500 Unknown command.
Dans une réponse 'PASV' réussie, seul le code de réponse est standardisé (toujours 227), mais le texte contenant l'IP/Port n'est pas standardisé ré. Il diffère d'un fournisseur de serveur FTP à un autre. Tous les vendeurs ne disent pas "Entrée en mode passif", tous les vendeurs n'incluent pas l'IP/Port entre parenthèses, certains vendeurs placent l'IP/Port au début du texte alors que d'autres vendeurs le placent à la fin du texte, etc. Pour analyser le texte à la recherche de l'adresse IP/port, vous ne pouvez pas faire de supposition sur sa mise en forme. Ceci est discuté dans [RFC 1123 Section 4.1.2.6] (http://tools.ietf.org/html/rfc1123#page-31). –