Protocole de transfer de fichier
| Protocole de transfer de fichier | ||||||||
|---|---|---|---|---|---|---|---|---|
| Famille | Famille de protocole Internet | |||||||
| Fonction | transfert de fichier | |||||||
| ports |
Port de données 20 / TCP 21 / Port de contrôle TCP | |||||||
| Emplacement dans la pile de protocole | ||||||||
| ||||||||
| normes | ||||||||
|
FTP: RFC 959 ( 1985 ) Extensions FTP pour IPv6 et NATS: RFC 2428 ( 1998 ) | ||||||||
Le protocole de transfert de fichiers (dans le protocole de transfert de fichiers en anglais ou FTP ) est un protocole réseau pour le transfert de fichiers entre les systèmes connectés à un réseau TCP (protocole de contrôle de transmission), basé sur l' architecture client-serveur . À partir d'un ordinateur client, vous pouvez vous connecter à un serveur pour télécharger des fichiers à partir de celui-ci ou pour y envoyer des fichiers, quel que soit le système d'exploitation utilisé sur chaque ordinateur.
Le service FTP est proposé par la couche d'application du modèle de couche réseau TCP / IP à l'utilisateur, utilisant normalement les ports réseau 20 et 21. Un problème de base avec FTP est qu'il est conçu pour offrir une vitesse de connexion maximale., Mais pas le maximum La sécurité, puisque tout l'échange d'informations, de la connexion et du mot de passe de l'utilisateur sur le serveur au transfert de n'importe quel fichier, est effectué en texte brut sans aucun type de cryptage, avec lequel un éventuel attaquant peut capturer ce trafic, accéder au serveur et/ou s'approprier les fichiers transférés.
Pour résoudre ce problème, les applications telles que SCP et SFTP sont très utiles, incluses dans le package SSH , qui permettent de transférer des fichiers mais tout le trafic est crypté .
Historique
Le protocole FTP a commencé à être utilisé en avril 1971, publié sous le nom de RFC 114 , avant l'existence de la pile TCP / IP. La structure générale a été établie en 1973. Il a été modifié plusieurs fois, ajoutant de nouvelles commandes et fonctionnalités. En fin de compte, RFC 959 a été publié en octobre 1985, actuellement utilisé. [ 1 ]
Le modèle FTP
Dans le modèle, l'utilisateur PI initie la connexion de contrôle sur le port 21. Les commandes FTP standard sont générées par l'utilisateur PI et transmises au processus du serveur sur la connexion de contrôle. Les réponses standard sont envoyées à partir du PI du serveur à l'utilisateur PI par la connexion de contrôle en réponse aux commandes.
Ces commandes FTP spécifient les paramètres de la connexion de données (port de données, mode de transfert, type de représentation et structure) et la nature de l'opération sur le système de fichiers (stocker, récupérer, ajouter, supprimer, etc.). Le processus de transfert de données (DTP) de l'utilisateur ou autre processus en place, doit attendre que le serveur initie le port de données spécifié (port 20 en mode actif ou standard) et transfère les données selon les paramètres qui ont été spécifiés.
Nous voyons également dans le diagramme que la communication entre le client et le serveur est indépendante du système de fichiers utilisé dans chaque ordinateur , donc peu importe que leurs systèmes d'exploitation soient différents, car les entités qui communiquent entre elles sont le PI et le DTP , qui utilisent le même protocole standardisé : le FTP.
Il convient également de noter que la connexion de données est bidirectionnelle, c'est-à-dire qu'elle peut être utilisée simultanément pour envoyer et recevoir, et elle n'a pas à exister tout le temps que la connexion FTP dure. Mais j'ai eu un problème dans ses débuts, et c'était l'emplacement des serveurs sur le réseau. C'est-à-dire que l'utilisateur qui voulait télécharger un fichier devrait savoir quelle machine il se trouvait. Le seul outil de recherche d'informations qui existait était Gopher, avec toutes ses limites.
Premier chercheur d'informations
Gopher signifie «lancer» des informations. Il s'agit d'un service dont l'objectif est l'emplacement des fichiers de son titre. Il se compose d'un ensemble de menus de ressources situés dans différentes machines qui sont intercom. Chaque machine dessert une zone d'information, mais son organisation interne permet à toutes de fonctionner comme s'il s'agissait d'une seule machine. L'utilisateur navigue dans ces menus pour localiser les informations recherchées et ne sait pas exactement quelle machine télécharge ces informations. Avec l'arrivée d'Internet, les puissants moteurs de recherche ont quitté le service Gopher et l'emplacement des serveurs FTP a cessé d'être un problème. A l'heure actuelle, lorsque l'utilisateur télécharge un fichier à partir d'un lien d'une page web, il ne sait pas ce qu'il fait depuis un serveur FTP. Le service FTP a évolué au fil du temps et est aujourd'hui largement utilisé sur Internet, dans les réseaux d'entreprise, les intranets, etc. Pris en charge par n'importe quel système d'exploitation, il existe une grande quantité de logiciels basés sur le protocole FTP.
Serveur FTP
Un serveur FTP est un programme spécial qui s'exécute sur un ordinateur de serveur normalement connecté à Internet (bien qu'il puisse être connecté à d'autres types de réseaux, LAN , homme , etc.). Sa fonction est de permettre l'échange de données entre différents serveurs/ordinateurs.
En général, les programmes de serveurs FTP ne sont généralement pas trouvés sur les ordinateurs personnels, donc un utilisateur utilisera normalement le FTP pour se connecter à distance à un et échanger ainsi des informations avec elle.
Les applications les plus courantes des serveurs FTP sont généralement l' hébergement Web , dans lequel leurs clients utilisent le service pour élever leurs pages Web et leurs fichiers correspondants; ou en tant que serveur de sauvegarde (sauvegarde) des fichiers importants qu'une entreprise peut avoir. Pour ce faire, il existe des protocoles de communication FTP afin que les données soient transmises cryptées, telles que le SFTP ( protocole de transfert de fichiers sécurisé ).
Exemples de serveurs
- Serveur Titan FTP
- Ws_ftpsserver
Client FTP
Lorsqu'un navigateur n'est pas équipé de la fonction FTP, ou si vous souhaitez charger des fichiers sur un ordinateur distant, vous devrez utiliser un programme client FTP. Un client FTP est un programme installé sur l'ordinateur de l'utilisateur, et qui utilise le protocole FTP pour se connecter à un serveur FTP et transférer des fichiers, soit pour les télécharger ou pour les télécharger.
Pour utiliser un client FTP, vous devez connaître le nom du fichier, l'ordinateur que vous résidez (serveur, dans le cas du téléchargement de fichiers), l'ordinateur que vous souhaitez transférer le fichier (si vous souhaitez le télécharger sur le serveur) et le dossier dans lequel il se trouve.
Certains clients FTP de base en mode console sont intégrés dans les systèmes d'exploitation , notamment Microsoft Windows , Two , GNU / Linux et Unix . Cependant, des clients avec des options supplémentaires et une interface graphique sont disponibles. Bien que de nombreux navigateurs aient déjà intégré FTP, il est plus fiable lors de la connexion avec des serveurs FTP non anonymes pour utiliser un programme client.
Accès anonyme
Les serveurs FTP anonymes offrent leurs services librement à tous les utilisateurs, permettent d'accéder à leurs fichiers sans avoir un «ID utilisateur» ou un compte utilisateur. Il est le moyen le plus confortable en dehors du service Web pour permettre à chacun d'avoir accès à certaines informations sans que l'administrateur système doit créer un compte pour chaque utilisateur.
Si un serveur a un service «FTP Anonymous» uniquement avec la saisie du mot «anonyme», lorsque vous demandez à votre utilisateur, vous aurez accès à ce système. Aucun mot de passe pré-établi n'est nécessaire, même si vous devrez introduire uniquement pour ce moment, la propre adresse e-mail est généralement utilisée.
Ce n'est qu'avec cela que l'on parvient aux fichiers FTP, bien qu'avec moins de privilèges qu'un utilisateur normal. Normalement, vous ne pouvez lire et copier que les fichiers publics, ainsi indiqués par l'administrateur du serveur auquel nous voulons connecter.
Normalmente, se utiliza un servidor FTP anónimo para depositar grandes archivos que no tienen utilidad si no son transferidos a la máquina del usuario, como por ejemplo programas, y se reservan los servidores de páginas web (HTTP) para almacenar información textual destinada a la lectura en ligne.
Accès utilisateur
Si vous souhaitez avoir des privilèges d'accès à n'importe quelle partie du système de fichiers Server FTP, une modification de fichier existante et la possibilité de télécharger nos propres fichiers, cela se fait généralement via un compte utilisateur. Le serveur est enregistré par les informations des différents comptes d'utilisateurs qui peuvent y accéder, de sorte que pour démarrer une session FTP, nous devons introduire une authentification (en anglais : connexion ) et un mot de passe (en anglais: mot de passe ) qui nous identifie de manière unique.
Client FTP basé sur le Web
Un «client FTP basé sur le Web» n'est rien de plus qu'un client FTP auquel nous pouvons accéder via notre navigateur Web sans avoir une autre application pour cela. L'utilisateur connecte HTTP à un serveur Web et le serveur Web est connecté via FTP au serveur de fichiers. Le serveur Web agit comme un intermédiaire en passant les informations du serveur FTP dans les ports 20 et 21 vers le port 80 HTTP que l'utilisateur voit.
Il y a toujours des moments où nous sommes loin de chez nous, nous ne portons pas l'ordinateur portable sur le dessus et devons effectuer une tâche urgente à partir d'un ordinateur d'accès public, d'un ami, du travail, de l'université, etc. Le plus courant est que les applications dont nous avons besoin ne sont pas installées et dans de nombreux cas, nous n'avons pas les autorisations nécessaires pour effectuer son installation. D'autres fois, nous sommes derrière un proxy ou un pare-feu qui ne nous permet pas d'accéder aux serveurs FTP externes.
En ayant un client FTP basé sur le Web, nous pouvons accéder au serveur FTP distant comme si nous faisions un autre type de navigation Web. Grâce à un client FTP basé sur le Web, vous pouvez créer, copier, renommer et supprimer des fichiers et des répertoires. Modifier les permis, modifier, voir, télécharger et télécharger des fichiers, ainsi que toute autre fonction de protocole FTP que le serveur FTP distant permet.
Accès invité
L'accès sans restrictions au serveur fourni par les comptes d'utilisateurs implique des problèmes de sécurité, qui ont abouti à un troisième type d'accès FTP appelé invité (invité), qui peut être considéré comme un mélange des deux précédents.
L'idée de ce mécanisme est la suivante: il s'agit de permettre à chaque utilisateur de se connecter à la machine via sa connexion et leur mot de passe, mais en évitant d'avoir accès à des parties du système de fichiers que vous n'avez pas besoin de faire son travail, dans De cette façon, il accédera à un environnement restreint, quelque chose de très similaire à ce qui se passe dans les accès anonymes, mais avec plus de privilèges.
Exemples du client FTPS
Parmi les différents clients FTP qui existent, les éléments suivants peuvent être mentionnés: [ 2 ]
- net2ftp
- WebDrive [ 3 ]
- Web-ftp
- Jambai FTP
- Ftp4net
- Client FTP PHP
- ASUK PHP FTP
- Manager de fichiers Weble
- Filezilla [ 4 ]
Modes de connexion client FTP
FTP admet deux modes de connexion client. Ces modes sont dits actif (ou standard, ou PORT, car le client envoie des commandes de type Port au serveur par le canal de contrôle lors de l'établissement de la connexion) et passif (ou PASV, car dans ce cas il envoie des commandes de type PASV). En mode actif et passif, le client établit une connexion avec le serveur via le port 21, qui établit le canal de contrôle.
Mode actif
En mode actif, le serveur crée toujours le canal de données dans son port 20, alors que côté client le canal de données est associé à un port aléatoire supérieur à 1024. Pour cela, le client envoie une commande de port au serveur Sur le canal de contrôle indiquant ce numéro de port, afin que le serveur puisse ouvrir une connexion de données où les fichiers et les listes seront transférés, dans le port spécifié.
Ce qui précède a un problème de sécurité grave, et la machine client doit être disposée à accepter toute connexion d'entrée dans un port de 1024, avec les problèmes que cela implique si nous avons l'équipement connecté à un réseau non sécurisé comme Internet. En fait, les pare -feux qui sont installés dans l'équipement pour éviter les attaques rejetteront sûrement ces connexions aléatoires. Pour résoudre ce problème, le mode passif a été développé . Bien que ce ne soit vraiment pas le cas, car la sécurité aura sûrement un sérieux problème.
Mode passif
Lorsque le client envoie une commande PASV sur le canal de contrôle, le serveur FTP indique sur le canal de contrôle, le port (supérieur à 1024 du serveur. Exemple : 2040) sur lequel le client doit se connecter. Le client démarre une connexion à partir du port suivant le port de commande (exemple: 1036) au port du serveur spécifié ci-dessus (exemple: 2040). [ 5 ]
Avant chaque nouveau transfert à la fois actif et passif, le client doit envoyer une commande de contrôle (PORT ou PASV à nouveau, selon la manière dont il s'est connecté), et le serveur recevra cette connexion de données dans un nouveau port (aléatoire s'il est en mode passif ou par le port 20 s'il est actif).
Types de transfert de fichiers FTP
Dans le protocole FTP il existe 2 types de transfert en ASCII et en binaire. Il est important de savoir comment transporter un fichier le long du réseau, si nous n'utilisons pas les options appropriées, nous pouvons détruire les informations de fichier. Par conséquent, lors de l'exécution de l'application FTP, nous devons nous rappeler d'utiliser l'une de ces commandes (ou de mettre l'option correspondante dans un programme avec une interface graphique):
- Type ASCII
Convient pour transférer des fichiers qui ne contiennent que des caractères imprimables (fichiers ASCII, pas des fichiers résultant d'un processeur de texte), par exemple des pages HTML, mais pas les images qu'ils peuvent contenir. Certains symboles de contrôle sont transformés pour les garder compatibles entre différents systèmes, par exemple, si le fichier est logé sur un serveur Linux, le saut de ligne pour les fichiers texte est "\ n" (octet 10 en décimal). Si le client est un système Mac, le saut de ligne est "\ r" (octet 13 en décimal), ce mode modifie ces symboles de contrôle afin que le fichier soit lisible des deux côtés, comme s'il était envoyé à un système Window le saut de ligne est "\r\n" (deux octets, 13 et 10). Si ce mode est utilisé dans des fichiers qui ne sont pas du texte plat, en cas d'échange entre différents systèmes, ce fichier sera corrompu.
- Type binaire
Ce type est utilisé lorsque des fichiers compressés, exécutables pour PC, les images, les fichiers audio, entre autres.
Exemples de transfert de certains types de fichiers en fonction de leur extension :
| extension de fichier | type de transfert |
|---|---|
| Txt (texte) | ascii |
| HTML (site Web) | ascii |
| Doc (document) | binaire |
| PS (Postcript) | ascii |
| HQX (tablette) | ascii |
| Z (tablette) | binaire |
| Zip (tablette) | binaire |
| Zoo (tablette) | binaire |
| S'asseoir (tablette) | binaire |
| Pit (tablette) | binaire |
| Shar (tablette) | binaire |
| Uu (tablette) | binaire |
| Arc (tablette) | binaire |
| goudron (emballage) | binaire |
Dans le réseau, il existe diverses solutions logicielles qui développent ce type de technologie, les plus connues, sont Filezilla ( Software ) et FreeTFTP ( Shareware ).
Commandes FTP
| Commande et arguments | Action que vous effectuez |
|---|---|
| Porte ouverte | Démarrez une connexion avec un serveur FTP. |
| fermer ou se déconnecter | Termine une connexion FTP sans fermer le programme client. |
| Au revoir ou arrêter | Termine une connexion FTP et la session de travail avec le programme client. |
| Répertoire de CD | Modifiez le répertoire de travail sur le serveur. |
| Supprimer le fichier | Supprimer un fichier sur le serveur |
| Motif mdelete | Supprimez plusieurs fichiers en fonction d'un modèle appliqué au nom. |
| dire | Affiche le contenu du répertoire dans lequel nous nous trouvons sur le serveur. |
| obtenir un fichier | Obtenir un fichier |
| NOOP sans opération | Il est communiqué au serveur que le client est en mode non-opération, le serveur répond généralement par un "ZZZ" et rafraîchit le compteur de temps inactif de l'utilisateur. |
| Fichiers MGET | Obtenez plusieurs fichiers |
| hachage | Permet l'impression de caractères # lorsque les fichiers sont transférés, comme barre de progression. |
| Répertoire LCD | Le répertoire de travail local change. |
| ls | Affiche le contenu du répertoire sur le serveur. |
| rapide | Active / désactive la confirmation de l'utilisateur de l'exécution des commandes. Par exemple en supprimant plusieurs fichiers. |
| placer le fichier | Envoyez un fichier à la répertoire Active du serveur. |
| fichiers mput | Envoyer plusieurs fichiers. |
| PWD | Il affiche le Active Directory sur le serveur. |
| Renommer le fichier | Modifiez le nom en fichier sur le serveur. |
| Répertoire RMDIR | Supprimez un répertoire sur le serveur si ce répertoire est vide. |
| statut | Il montre l'état actuel de la connexion. |
| bac ou binaire | Activez le mode de transfert binaire. |
| ascii | Activez le mode de transfert en mode texte ASCII. |
| ! | Permet d'accéder temporairement à la ligne de commande sans couper la connexion. Pour revenir, tapez la sortie sur la ligne de commande. |
| ? Nom de commande | Afficher les informations liées à la commande. |
| ? ou aider | Affichez une liste des commandes disponibles. |
| Nom du fichier annexé | Continue un téléchargement qui a été précédemment coupé. |
| cloche | Activer/désactiver la reproduction d'un son lorsqu'un processus de transfert de fichier est terminé. |
| globe | Activer/désactiver l'affichage des noms longs de notre PC. |
| littéral | Avec cette commande, vous pouvez exécuter des commandes de serveur à distance. Pour connaître les disponibles, utilisez: Aide littérale . |
| Mkdir | Créez le répertoire indiqué à distance. |
| Devis | Fait la même fonction que littéral . |
| envoyer le numéro de l'archive | Envoie le fichier indiqué au répertoire actif du serveur. |
| utilisateur | Pour changer notre nom d'utilisateur et mot de passe sans quitter la session ftp. |
Codes de réponse FTP
Vous trouverez ci-dessous un résumé des codes de réponse FTP qui peuvent être renvoyés par un serveur FTP. Ces codes ont été normalisés dans la RFC 959 par l'IETF. Le code de réponse est une valeur à trois chiffres. Le premier chiffre est utilisé pour indiquer l'un des trois résultats possibles—succès, échec, ou pour indiquer une erreur ou une réponse incomplète :
- 2yz - respuesta Éxito
- 4yz ou 5yz - Il n'y a pas de réponse
- 1Yz ou 3Yz - une erreur ou une réponse incomplète
Le deuxième chiffre définit la classe d'erreur :
- x0z - Sintaxis. Estas respuestas se refieren a errores de sintaxis.
- x1z - Informations. Las respuestas a las sollicitudes d'information.
- x2z - Connexions. Respuestas en referencia al control y las conexiones de datos.
- x3z - Authentification et contrôle. Respuestas para el proceso de inicio de sesión y los procedimientos contables.
- x4z - Non défini.
- X5Z - Système de fichiers.
Le troisième chiffre du code de réponse est utilisé pour fournir des détails supplémentaires pour chacune des catégories définies par le deuxième chiffre. [ 6 ]
Pour initier la session sur un serveur FTP, vous devez contrarier l'URL sous la forme suivante :
ftp://<usuario>:<contraseña>@<servidor ftp>/<url-ruta>
Où <usuario>est le nom d'utilisateur, <servidor ftp>le serveur FTP <contraseña>est le mot de passe d'accès et <url-ruta>est le répertoire où nous nous connectons.
Exemple:ftp://alumno:[email protected]/public
Voir aussi
- Archie
- FTPS
- TFTP
- OFTP
- Protocole d'échange de fichiers
- PTP , protocole de transfert d'image
- MTP , Media Transfer Protocol (une extension de PTP)
- Protocole de transfert de fichiers SSH
- Système de fichiers réseau
- Système de fichiers
- système de fichiers distribué
Serveurs FTP
- Serveur FTP (Lista)
- Serveur Titan FTP [ 7 ] (Windows)
- Serveur FileZilla (Windows)
- Pure-FTPd (Unix)
- VsFTPd (Unix)
- ProFTPd (Unix)
Liens externes
- RFC 959 - Protocole de transfert de fichiers
- RFC 1579 - FTP sympathique du pare-feu
- RFC 2228 - Extensions de sécurité FTP
- RFC 2428 - Extensions FTP pour IPv6 et NATS
- RFC 2640 - Internationalisation du protocole de transfert de fichiers
- Protocole
Références
- ↑ « L'histoire du protocole FTP salue 1004 (y sus desventajas actuales) » . Consulté le 26 juin 2014 .
- «Les 10 meilleurs clients FTP» .
- ↑ https://webdrive.com/purchase/purchase-spanish/
- ↑ https://filezilla-project.org/
- ↑ « FTP actif vs FTP passif, une explication définitive » (en francés) .
- ↑ Forouzan, Behrouz. Suite du protocole TCP / IP . McGraw Hill.
- Softonic . Consulté le 19 décembre 2018 .