Quelle est la différence entre le FTP actif et FTP passif?

Quelqu’un peut-il me dire quelle est la différence entre le FTP actif et le FTP passif ?

Lequel est préférable ?

Le mode actif et le mode passif sont les deux modes dans lesquels le protocole FTP peut fonctionner.

À titre d’information, le protocole FTP utilise en fait deux canaux entre le client et le serveur, le canal de contrôle et le canal de données, qui sont en fait des connexions TCP distinctes.

Le canal de contrôle est destiné aux commandes et aux réponses, tandis que le canal de données sert à transférer les fichiers.

Cette séparation des informations de contrôle et des données dans des canaux distincts est un moyen astucieux d’envoyer des commandes au serveur sans avoir à attendre les données en cours. Selon la RFC, cela n’est obligatoire que pour un sous-ensemble de commandes, telles que la fin du transfert, l’interruption du transfert en cours et l’obtention de l’état.


En mode actif, le client établit le canal de contrôle, mais le serveur est responsable de l’établissement du canal de données. Cela peut être un problème si, par exemple, la machine du client est protégée par des pare-feu et n’autorise pas les demandes de session non autorisées provenant de parties externes.

active

En mode passif, le client établit les deux canaux. Nous savons déjà qu’il établit le canal de contrôle en mode actif et il fait la même chose ici.

passif

Cependant, il demande ensuite au serveur (sur le canal de contrôle) de commencer à écouter sur un port (à la discrétion du serveur) plutôt que d’essayer d’établir une connexion avec le client.

Dans ce contexte, le serveur renvoie également au client le numéro de port sur lequel il a choisi d’écouter, afin que le client sache comment s’y connecter.

Une fois que le client le sait, il peut alors créer avec succès le canal de données et continuer.

Mode actif - Le client envoie une commande PORT au serveur pour lui signaler qu’il fournira « activement » une adresse IP et un numéro de port permettant d’ouvrir la communication de données avec le client.

Mode passif - Le client envoie une commande PASV pour indiquer qu’il attend « passivement » que le serveur lui fournisse une adresse IP et un numéro de port, après quoi le client créera une connexion de données avec le serveur.

Je vous recommande de lire:

Mode actif :

  • le serveur initie la connexion.

Mode passif :

  • le client initie la connexion.