Qu'est-ce qu'un client de protocole de transfert de fichiers?
Un client de protocole de transfert de fichier est une application informatique utilisée pour accéder à un serveur de données à l'aide du protocole de transfert de fichier (FTP). Grâce à l'utilisation de ce protocole commun, le client peut transférer des données depuis et vers le serveur. L'application client fournit le moyen d'établir une connexion, puis d'envoyer les commandes FTP appropriées au serveur. Il existe sous de nombreuses formes, exploitées via une interface de ligne de commande (CLI), une interface utilisateur graphique (GUI), même un navigateur Web commun.
FTP fait partie de la couche applicative supérieure de la suite de protocoles Internet (IP), le protocole de contrôle de transmission (TCP) étant utilisé pour le transport des communications. Le client de protocole de transfert de fichier est ensuite chargé d'établir la connexion au serveur en ouvrant finalement deux connexions TCP. Le premier est la connexion de contrôle, où le client envoie des commandes au serveur FTP. Les premières commandes envoyées via la connexion de contrôle sont la commande USER, avec le nom de l'utilisateur en tant qu'argument, puis la commande PASS suivie du mot de passe. Une fois établie, la connexion de contrôle reste ouverte pendant toute la session.
Ici, le client protocole de transfert de fichiers configure les différents modes de communication qu’il aura avec le serveur. En règle générale, les données sont représentées de deux manières, texte ou binaire, en fonction des données envoyées ou reçues. Les transferts de type texte sont le plus souvent utilisés pour les fichiers de texte brut codés avec la méthode de codage ASCII (American Standard Code for Information Interchange). Le mode binaire, également appelé mode image, sert au transfert de fichiers dans un format binaire non textuel, tel que des images numériques. Un autre mode, appelé mode local, est un autre moyen par lequel FTP peut transférer des données en utilisant un format unique ou propriétaire.
Le deuxième canal TCP utilisé par le client protocole de transfert de fichier est la connexion de données. Cette connexion est de nature temporaire et est créée uniquement lorsqu'un client demande une liste des fichiers sur le serveur ou transfère un fichier vers ou depuis le serveur. La connexion de données est alors détruite lorsqu'aucun transfert de données n'a lieu. La connexion de données est également unique dans la façon dont elle est établie, soit activement de manière passive. Le client doit indiquer au serveur le type de connexion de données à utiliser en fonction du type de connexion disponible sur le client.
Avec une connexion de données active, le client protocole de transfert de fichier indique au serveur le numéro de port TCP à utiliser pour la connexion de données. Toutefois, lorsqu'il est utilisé en mode passif, le client indique simplement au serveur qu'il est passif et le serveur indique ensuite au client le port TCP à utiliser pour la connexion de données. Dans la plupart des cas, le client est configuré pour une connexion passive en raison de l'utilisation de pare-feu qui le protègent des accès non autorisés.
En raison du manque général de sécurité dans FTP, la sécurité d'un client utilisant un protocole de transfert de fichiers fait partie intégrante de son fonctionnement, de sorte que l'activité de l'utilisateur est à l'abri des regards indiscrets. Un certain nombre de techniques de sécurité supplémentaires ont été conçues pour être utilisées avec FTP au fil des années, telles que le client nomme explicitement un protocole de sécurité à utiliser ou implique automatiquement un protocole. D'autres clients tentent d'utiliser FTP via un tunnel SSH (Secure Shell), ce qui peut présenter des difficultés en raison de la nature fugace de la connexion de données.