File Transfer Protocol
Pstack
< ! -- Éditer l'image de pile à : Calibre : IPstack --> Ftp ou File Transfer Protocol est employé pour transférer des données à partir d'un ordinateur à l'autre sur l'Internet, ou par un réseau.
Spécifiquement, le ftp est un protocole utilisé généralement pour échanger des dossiers au-dessus de n'importe quel réseau basé par TCP/IP pour manoeuvrer des dossiers sur un autre ordinateur sur ce réseau indépendamment duquel les logiciels d'exploitation sont impliqués (si les ordinateurs permettent l'accès de ftp). Il y a beaucoup des programmes existants de client et de serveur de ftp. Des serveurs de ftp peuvent être installés n'importe où entre les serveurs de jeu, les serveurs de voix, les centres serveurs d'Internet, et d'autres serveurs physiques.
Méthodes de raccordement
Courses de ftp exclusivement au-dessus du TCP . Les serveurs de ftp par défaut écoutent sur le port 21 les raccordements entrants des clients de ftp. Un raccordement à ce port du client de ftp forme le jet de commande sur lequel des commandes sont passées au ftp server du client de ftp et occasionnellement du ftp server au client de ftp. Le ftp emploie la commande hors bande , que le moyen il emploie un raccordement séparé pour la commande et les données. Ainsi, pour que le transfert de fichier réel ait lieu, on exige un raccordement différent qui s'appelle le train de données de données. Selon le mode de transfert, le processus d'installer le train de données de données est différent.
En mode actif , le client de ftp ouvre un port aléatoire (> 1023), envoie au ftp server le numéro d'accès aléatoire sur lequel il écoute au-dessus du jet de commande et attend un raccordement du ftp server. Quand le ftp server lance le raccordement de données au client de ftp il lie le port de source pour mettre en communication 20 sur le ftp server.
Afin d'employer le mode actif, le client envoie une commande GAUCHE, avec l'IP et le port comme argument. Le format pour l'IP et le port est " ; h1, h2, h3, h4, p1, p2" ;. Chaque champ est une représentation décimale de 8 bits de l'IP de centre serveur, suivis des données choisies mettent en communication. Par exemple, un client avec un IP de 192.1, écoutant sur le port 1025 le raccordement de données enverra le " de commande ; PORT 192,168,0,1,4,1" ;. Les champs gauches devraient être interprétés en tant que p1×256 + p2 = port, ou, dans cet exemple, 4×256 + 1 = 1025.
En mode passif , le ftp server ouvre un port aléatoire (> 1023), envoie au client de ftp l'IP address du serveur pour se relier à et le port sur lesquels il écoute (une valeur de bit 16 divisée en byte de ciel et terre, comme expliqué avant) au-dessus du jet et des attentes de commande un raccordement du client de ftp. Dans ce cas-ci le client de ftp lie le port de source du raccordement plus considérablement qu'à un 1023 gauche aléatoire.
Pour employer le mode passif, le client envoie la commande du PASV à laquelle le serveur répondrait avec quelque chose semblable au " ; 127.52) " passif entrant du mode 227 (;. La syntaxe de l'IP address et le port sont la même que pour l'argument à la commande GAUCHE.
Dans le le mode passif prolongé , le ftp server actionne exactement les mêmes que le mode passif, toutefois il transmet seulement le numéro d'accès (non divisé en bytes de ciel et terre) et le client doit supposer qu'il se relie au même IP address au lequel a été à l'origine relié. Le mode passif prolongé a été ajouté par RFC 2428 en septembre 1998.
Tandis que des données sont transférées par l'intermédiaire du train de données de données , le jet de commande repose le ralenti. Ceci peut poser des problèmes avec de grands transferts de données par les murs à l'épreuve du feu qui chronomètrent dehors des sessions après des périodes prolongées de l'oisiveté. Tandis que le dossier peut bien être avec succès transféré, la session de commande peut être déconnectée par le mur à l'épreuve du feu, causant une erreur d'être produite.
Le protocole de ftp soutient la reprise des téléchargements interrompus using la commande de REPOS. Le client passe le nombre de bytes qu'il a déjà reçus car argument à la commande de REPOS et remet en marche le transfert. Dans quelques clients de commandline par exemple, il y a une commande souvent-ignorée mais valable, " ; reget" ; (" de signification ; obtenir l'again" ;) cela causera un " interrompu ; get" ; commander d'être continué, si tout va bien à l'accomplissement, après une interruption de communications.
La reprise des téléchargements n'est pas comme facile. Bien que le protocole de ftp soutienne la commande d'APPE d'apposer des données à un dossier sur le serveur, le client ne sait pas la position exacte à laquelle un transfert a obtenu interrompu. Il doit obtenir la taille du dossier une autre manière, par exemple au-dessus d'une liste d'annuaire ou d'employer la commande de TAILLE.
En mode d'ASCII (voir ci-dessous), la reprise des transferts peut être ennuyeuse si le client et le serveur emploient la fin de de la ligne différente caractères de .
Les objectifs du ftp, comme décrits par son RFC , sont : Pour favoriser le partage des dossiers (programmes informatiques et/ou données).
Critiques de ftp de
Les mots de passe et le contenu de dossier sont introduits le texte clair , qui peut être arrêté par les oreilles indiscrètes . Il y a des perfectionnements de protocole qui évitent ceci, par exemple en employant le SSL ou le TLS.
Problèmes de sécurité
Les spécifications originales de ftp sont une méthode en soi peu sûre de transférer des dossiers parce qu'il n'y a aucune méthode spécifique pour transférer des données d'une mode chiffrée. Ceci signifie que sous la plupart des configurations réseau, noms d'utilisateur, les mots de passe, ftp commande et a transféré des dossiers peut être " ; sniffed" ; ou vu par n'importe qui sur le même réseau using un renifleur de paquet . C'est un problème commun à beaucoup de caractéristiques d'Internet Protocol écrites avant la création de SSL tel que HTTP , smtp et telnet . La solution commune à ce problème est d'employer le SFTP (File Transfer Protocol de SSH), ou le FTPS (ftp au-dessus de SSL ), qui ajoute le chiffrage de SSL ou de TLS au ftp comme spécifique dans RFC 4217.
Codes retour de ftp
voient également : Liste des codes retour de ftp server
Les codes retour de ftp server indiquent leur statut par les chiffres dans eux. Une brève explication des significations des divers chiffres sont données ci-dessous :
1xx : Réponse préliminaire de positif. L'action demandée est lancée mais il y aura une autre réponse avant qu'elle commence.
2xx : Réponse positive d'accomplissement. L'action demandée a été accomplie. Le client peut maintenant publier une nouvelle commande.
3xx : Réponse intermédiaire positive. La commande était réussie, mais une autre commande est exigée avant que le serveur puisse agir sur requête.
4xx : Réponse négative passagère d'accomplissement. La commande n'était pas réussie, mais le client est libre pour essayer la commande encore car l'échec est seulement provisoire.
5xx : Réponse négative permanente d'accomplissement. La commande n'était pas réussie et le client ne devrait pas essayer de la répéter encore.
x0x : L'échec était dû à une erreur de la syntaxe .
x1x : Cette réponse est une réponse à une demande de renseignements.
x2x : Cette réponse est une réponse concernant l'information de raccordement.
x3x : Cette réponse est une réponse concernant la comptabilité et l'autorisation.
x4x : Non spécifié jusqu'ici
x5x : Ces réponses indiquent le statut du système de fichiers de serveur vis-à-vis du transfert demandé ou de toute autre action de système de fichiers
Anonymous FTP
Beaucoup d'emplacements qui courent des serveurs de ftp permettent le ftp anonyme du . Dans le cadre de cet arrangement, les utilisateurs n'ont pas besoin d'un compte sur le serveur. Le nom d'utilisateur pour l'accès anonyme est typiquement « anonyme ». Ce compte n'a pas besoin d'un mot de passe. Bien que des utilisateurs soient généralement invités à envoyer leurs adresses de l'email en tant que leurs mots de passe pour l'authentification, habituellement il y a insignifiant ou aucune vérification, selon le ftp server et sa configuration. Pendant que les clients modernes de ftp cachent le processus d'ouverture de l'utilisateur et habituellement ne savent pas l'email address de l'utilisateur, ils fournissent les mots de passe factices, par exemple :Mozilla Firefox (2.0) -
mozilla@example.com de Konqueror (3.5) -
anonymous@ du KDE wget (1.2) -
-wget@ de lftp (3.4) -
lftp@ de Le Gopher d'Internet de a été suggéré comme alternative à l'Anonymous FTP, aussi bien que le File Transfer Protocol insignifiant et le protocole de service d'archivage de .
Format de données
Tout en transférant des données sur le réseau, plusieurs représentations de données peuvent être employées. Les deux modes de transfert les plus communs sont :
Dans le " ; Mode" d'ASCII ; , n'importe quelle forme de données qui ne sont pas texte plat sera corrompue. Quand un dossier est envoyé using un ASCII-type transfert, les lettres, les nombres, et les caractères d'individu sont envoyés using leurs codes de caractère d'ASCII. La machine de réception sauve ces derniers dans un dossier des textes dans le format approprié (par exemple, Unix usinent le sauve dans un format d'Unix, une machine de Windows la sauve dans un format de Windows). Par conséquent si un transfert d'ASCII est employé il peut supposer que le texte plat est envoyé, qui est stocké par l'ordinateur de réception dans son propre format. La traduction entre les mises en forme de texte pourrait nécessiter de substituer la fin de de la ligne et des caractères de fin de fichier du de utilisés sur la plate-forme de source avec ceux sur la plate-forme de destination, par exemple une machine de Windows recevant un dossier d'une machine d'Unix remplacera retour à la ligne par le retour de chariot - paires de retour à la ligne. Elle pourrait également impliquer de traduire des caractères ; par exemple, quand transférant à partir d'une unité centrale d'IBM de à un système using l'ASCII, des caractères de l'EBCDIC utilisés sur l'unité centrale seront traduits à leurs équivalents d'ASCII, et quand transférant du système using l'ASCII à l'unité centrale, des caractères d'ASCII seront traduits à leurs équivalents d'EBCDIC.
Par défaut, la plupart des clients de ftp emploient le mode d'ASCII. Quelques clients essayent de déterminer le transférer-mode required en inspectant le nom ou le contenu du dossier, ou en déterminant si le serveur court un du système d'exploitation avec le même format de fichier des textes.
Les caractéristiques de ftp énumèrent également les modes suivants de transfert :
Dans la pratique, ces modes additionnels de transfert sont rarement employés. Ils cependant sont encore employés par quelques systèmes de l'unité centrale du legs .
Navigateurs de ftp et de Web
La plupart des navigateurs récents de Web de et gestionnaires peuvent se relier aux serveurs de ftp, bien qu'ils puissent manquer du soutien des prolongements de protocole tels que le FTPS . Ceci permet la manipulation des dossiers à distance au-dessus du ftp par une interface semblable à cela utilisée pour les dossiers locaux. Ceci est fait par l'intermédiaire d'un URL de ftp, qui prend le ftp de forme : //< ftpserveraddress >   ; (par exemple,). Un mot de passe peut sur option être donné dans l'URL, par exemple :   ;   ; ftp : > de l'ouverture //< : ftpserveraddress de du mot de passe >@< de de < > : < gauche >. La plupart des Web-navigateurs ont besoin de l'utilisation du ftp passif de mode, qui non tous les serveurs de ftp sont capables de la manipulation. Quelques navigateurs permettent seulement le téléchargement des dossiers, mais n'offrent aucune manière de télécharger des dossiers au serveur.
Dispositifs de ftp et de NAT
La représentation de l'IPS et des ports dans la commande GAUCHE et la réponse de PASV lance un autre défi pour des dispositifs de NAT en manipulant le ftp. Le dispositif de NAT doit changer ces valeurs, de sorte qu'elles contiennent l'IP du client de National-ed, et un port choisi par le dispositif de NAT pour le raccordement de données. Le nouveaux IP et port différeront probablement dans la longueur dans leur représentation décimale de l'IP et du port originaux. Ceci signifie que cela le changement des valeurs sur le raccordement de commande par le dispositif de NAT doit être fait soigneusement, changeant les champs d'ordre et de reconnaissance de TCP pour tous les paquets suivants.
Par exemple : Un client avec un IP de 192.1, commençant un transfert de mode actif sur le port 1025, enverra le " de corde ; PORT 192,168,0,1,4,1" ;. Un dispositif de NAT déguisant ce client avec un IP de 192.5, avec un port choisi de 2000 pour le raccordement de données, devra remplacer la corde ci-dessus par le " ; PORT 192,168,15,5,7,208" ;.
La nouvelle corde est 23 caractères longtemps, comparé à 20 caractères dans le paquet original. Le champ de reconnaissance par le serveur à ce paquet devra être diminué de 3 bytes par le dispositif de NAT pour que le client comprenne correctement que la commande GAUCHE est arrivée au serveur. Si le dispositif de NAT n'est pas capable de corriger les champs d'ordre et de reconnaissance, il ne sera pas possible d'employer le ftp de mode actif. Le ftp passif de mode fonctionnera dans ce cas-ci, parce que les informations sur l'IP et le port pour le raccordement de données sont envoyées par le serveur, qui n'a pas besoin d'être NATed. Si le NAT est exécuté sur le serveur par le dispositif de NAT, alors les exacts vis-à-vis de la volonté se produisent. Le mode actif fonctionnera, mais le mode passif échouera.
Il convient noter que beaucoup de dispositifs de NAT effectuent cette inspection de protocole et modifient la commande GAUCHE sans être explicitement dit de faire ainsi par l'utilisateur. Ceci peut mener à plusieurs problèmes. Tout d'abord, il n'y a aucune garantie que le protocole utilisé est vraiment ftp, ou il pourrait employer une certaine prolongation non comprise par le dispositif de NAT. Un exemple serait un raccordement de ftp fixé par SSL. En raison du chiffrage, le dispositif de NAT ne pourra pas modifier l'adresse. Comme résultat, les transferts de mode actif échoueront seulement si le chiffrage est employé, beaucoup à la confusion de l'utilisateur.
La manière appropriée de résoudre ceci est de dire au client quels IP address et ports à employer pour le mode actif. En outre, le dispositif de NAT doit être configuré pour expédier la gamme choisie des ports à la machine de client.
le de
Ftp au-dessus de SSH< ! -- Cette section est liée du OpenSSH -->
le ftp de au-dessus de SSH se rapporte à la pratique de percer un tunnel une session normale de ftp au-dessus d'un raccordement du SSH .
Puisque le ftp emploie les raccordements multiples de TCP (peu communs pour un protocole de TCP/IP qui est encore en service), il est particulièrement difficile de percer un tunnel au-dessus de SSH. Avec beaucoup de clients de SSH, essayer d'installer un tunnel pour le canal de contrôle de (le raccordement initial de client-à-serveur sur port 21) protégera seulement ce canal ; quand des données sont transférées, le logiciel de ftp à l'une ou l'autre extrémité installera de nouveaux raccordements de TCP (voies de transmission de données de ) qui déviera le raccordement de SSH, et n'a ainsi aucune confidentialité , protection d'intégrité de , etc.
Si le client de ftp est configuré employer le mode passif de et se relier à une interface de serveur des CHAUSSETTES que beaucoup de clients de SSH peuvent présenter pour le perçage d'un tunnel, il est possible de courir tous les canaux de ftp au-dessus du raccordement de SSH.
Autrement, il est que le logiciel de client de SSH ait la connaissance spécifique du protocole de ftp, et surveille et récrit des messages de canal de contrôle de ftp et ouvre de façon autonome de nouveaux expéditions pour des voies de transmission de données de ftp. La version 3 le suite de logiciel de s de sécurité les communications SSH de ', et le GPL FONC autorisé par sont deux progiciels qui soutiennent ce mode.
Le ftp au-dessus de SSH désigné parfois sous le nom de ftp bloqué ; ceci ne devrait pas être confondu avec d'autres méthodes de fixer le ftp, comme avec SSL/TLS ( FTPS ). D'autres méthodes de transfert classe employant SSH qui ne sont pas liés au ftp incluent le SFTP et le SCP ; dans chacune de ces derniers, la conversation entière (des qualifications et des données) est toujours protégée par le protocole de SSH.
| Random links: | Démographie de la Martinique | Sillon de Buford O., JR. | Tae BO | Ansty, le Warwickshire | Bizzle mortel | File_Transfer_Protocol |