Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
090_applicatifs:205ftp:500proto_ftp:20_utilisation [le 16/02/2025 à 14:36] – supprimée - modification externe (Date inconnue) 127.0.0.1 | 090_applicatifs:205ftp:500proto_ftp:20_utilisation [le 24/03/2025 à 16:27] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. prof | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Plus en profondeur ====== | ||
+ | |||
+ | Ici, nous allons voir quelques points importants : | ||
+ | |||
+ | * Le mode passif ; | ||
+ | * le transfert de fichiers contenant autre chose que du texte ; | ||
+ | * un transfert en upload. | ||
+ | |||
+ | ===== Le mode Passif ===== | ||
+ | |||
+ | La première chose à faire, lorsque l'on prend en main un client FTP, c'est de trouver à quel endroit l'on peut lui expliquer qu'il doit fonctionner en mode actif ou passif. | ||
+ | |||
+ | Nous n' | ||
+ | * la possibilité d'une connexion « rapide » où l'on indique le nom du serveur et éventuellement ses nom d' | ||
+ | * la création d'une liste de sites FTP pour un usage répété ; | ||
+ | * une configuration par défaut, qui est appliquée aux connexions rapides et sert de base à la configuration d'un site enregistré dans la liste ; | ||
+ | * une configuration personnalisée pour chaque site FTP référencé dans la liste. | ||
+ | |||
+ | Nous nous bornerons pour l' | ||
+ | |||
+ | {{ 090_applicatifs: | ||
+ | |||
+ | Le mode passif est « recommandé » uniquement parce qu'il fonctionne plus facilement derrière un routeur NAT. En réalité, les serveurs FTP préfèrent le mode actif qui est pour eux moins consommateur de ressources. | ||
+ | |||
+ | Il serait intéressant de discuter des configurations particulières que l'on peut appliquer aux modes actif et passif, mais c'est peut-être encore un peu tôt. | ||
+ | |||
+ | Voyons ce que donne le même téléchargement, | ||
+ | |||
+ | No. Time | ||
+ | ... | ||
+ | |||
+ | L' | ||
+ | |||
+ | 20 10.588511 192.168.0.10 | ||
+ | 21 10.609876 194.2.0.36 | ||
+ | |||
+ | Jusqu' | ||
+ | |||
+ | < | ||
+ | 22 10.613105 192.168.0.10 | ||
+ | </ | ||
+ | |||
+ | Cette nouvelle commande indique au serveur FTP que nous souhaitons fonctionner en mode passif. | ||
+ | |||
+ | < | ||
+ | 23 10.661077 194.2.0.36 | ||
+ | </ | ||
+ | |||
+ | Le serveur accepte (227 veut dire : « Passage en mode passif »), et indique un numéro de port, ici 17 x 256 + 77 = 4429 | ||
+ | |||
+ | < | ||
+ | 24 10.663545 192.168.0.10 | ||
+ | 25 10.693712 194.2.0.36 | ||
+ | 26 10.697611 192.168.0.10 | ||
+ | 27 10.698306 192.168.0.10 | ||
+ | </ | ||
+ | Voyez ici comment la connexion TCP destinée à supporter le canal de données est créée. Ce n'est plus le serveur FTP qui, depuis son port 20 initie une connexion vers le client FTP, mais le client FTP qui ouvre une connexion TCP sur le port que lui a indiqué le serveur, à la suite de la commande '' | ||
+ | |||
+ | 28 10.731631 194.2.0.36 | ||
+ | 29 10.736716 194.2.0.36 | ||
+ | 30 10.736751 192.168.0.10 | ||
+ | 31 10.757437 194.2.0.36 | ||
+ | | ||
+ | 32 10.761018 194.2.0.36 | ||
+ | ... | ||
+ | |||
+ | Le reste ne présente pas de nouveautés particulières. Notons qu' | ||
+ | |||
+ | Ici, le suivi de connexion FTP n'est plus nécessaire sur la passerelle NAT/ | ||
+ | |||
+ | ==== Que pouvons-nous en conclure ? ==== | ||
+ | |||
+ | Dans le mode passif, le client FTP est toujours client TCP. A charge pour le serveur FTP d' | ||
+ | |||
+ | Chaque fois que ce sera possible, surtout si nous travaillons sur des « petits » serveurs FTP , utilisons plutôt le mode actif. | ||
+ | |||
+ | ===== Le transfert non ASCII ===== | ||
+ | |||
+ | C'est la deuxième chose qu'il faut savoir paramétrer sur son client FTP, parce qu'en principe, c'est lui qui décide. Nous avons bien vu que c' | ||
+ | |||
+ | {{ 090_applicatifs: | ||
+ | |||
+ | Ce client FTP est vraiment très bien fait... Toujours dans le menu « Edition/ | ||
+ | |||
+ | Si nous devons forcer un mode, forçons le mode binaire, qui fonctionnera avec tout type de fichier, mais pas forcément de manière optimale. | ||
+ | |||
+ | ==== Quelles différences ? ==== | ||
+ | |||
+ | Juste un petit morceau de sniff : | ||
+ | |||
+ | No. Time Source | ||
+ | ... | ||
+ | 418 57.591410 192.168.0.10 194.2.0.36 | ||
+ | |||
+ | Le type demandé est maintenant I et non plus A | ||
+ | |||
+ | 419 57.612530 194.2.0.36 | ||
+ | 420 57.615147 192.168.0.10 194.2.0.36 | ||
+ | 421 57.635511 194.2.0.36 | ||
+ | 422 57.640090 192.168.0.10 194.2.0.36 | ||
+ | 423 57.640783 192.168.0.10 194.2.0.36 | ||
+ | 424 57.679211 194.2.0.36 | ||
+ | 425 57.679269 192.168.0.10 194.2.0.36 | ||
+ | 426 57.684695 194.2.0.36 | ||
+ | 427 57.699374 194.2.0.36 | ||
+ | | ||
+ | |||
+ | Le serveur répond qu'il ouvre le fichier en mode binaire et non plus ASCII | ||
+ | |||
+ | 428 57.722806 194.2.0.36 | ||
+ | 429 57.724012 194.2.0.36 | ||
+ | ... | ||
+ | |||
+ | Les [[http:// | ||
+ | |||
+ | |||
+ | ===== Où le serveur engueule le client ===== | ||
+ | |||
+ | Encore un test hors d'age, mais qui reste intéressant. Un « upload » : | ||
+ | |||
+ | * En utilisant un autre client FTP, ici, ce sera le client gFTP sous GNU/Linux | ||
+ | * En utilisant un autre serveur FTP, ici, le serveur '' | ||
+ | |||
+ | En effet, chaque client FTP a ses petites habitudes et chaque serveur aussi... | ||
+ | |||
+ | Une fois de plus, nous allons étudier dans le détail cet échange. | ||
+ | |||
+ | No. Time | ||
+ | 93 1.620013 192.168.0.254 | ||
+ | 94 1.650006 193.252.18.14 | ||
+ | 95 1.650162 192.168.0.254 | ||
+ | |||
+ | Ouverture du canal de contrôle | ||
+ | |||
+ | 96 2.228519 193.252.18.14 | ||
+ | | ||
+ | 97 2.228698 192.168.0.254 | ||
+ | 98 2.229021 192.168.0.254 | ||
+ | 99 2.256639 193.252.18.14 | ||
+ | 100 2.261983 193.252.18.14 | ||
+ | 101 2.262205 192.168.0.254 | ||
+ | 102 2.388503 193.252.18.14 | ||
+ | 103 2.388952 193.252.18.14 | ||
+ | Access restrictions apply. | ||
+ | |||
+ | Identification du client. Notons que le couple dupond/ | ||
+ | |||
+ | 104 2.389150 192.168.0.254 | ||
+ | 105 2.414035 193.252.18.14 | ||
+ | |||
+ | gFTP, quand on lui dit : « Mode binaire », il fait « mode binaire », même pour la récupération de la liste du répertoire. | ||
+ | |||
+ | 106 2.414241 192.168.0.254 | ||
+ | 107 2.433222 193.252.18.14 | ||
+ | 108 2.438940 192.168.0.254 | ||
+ | 109 2.462881 193.252.18.14 | ||
+ | 110 2.463200 192.168.0.254 | ||
+ | 111 2.582733 193.252.18.14 | ||
+ | |||
+ | Mais il demande des détails. Les options « a » et « L » permettent d' | ||
+ | |||
+ | 112 2.757014 193.252.18.14 | ||
+ | 113 2.757157 192.168.0.254 | ||
+ | 114 2.774846 193.252.18.14 | ||
+ | |||
+ | Ouverture du canal de données. | ||
+ | |||
+ | 115 2.775365 193.252.18.14 | ||
+ | for /bin/ls. | ||
+ | 116 2.808833 193.252.18.14 | ||
+ | 117 2.808916 193.252.18.14 | ||
+ | 118 2.808983 192.168.0.254 | ||
+ | 119 2.809821 192.168.0.254 | ||
+ | 120 2.822139 192.168.0.254 | ||
+ | 121 2.835875 193.252.18.14 | ||
+ | |||
+ | Le canal de données est fermé d'un commun accord. | ||
+ | |||
+ | 122 2.844263 193.252.18.14 | ||
+ | 123 2.844383 192.168.0.254 | ||
+ | 126 6.738405 192.168.0.254 | ||
+ | 127 6.760458 193.252.18.14 | ||
+ | 128 6.760606 192.168.0.254 | ||
+ | 129 6.760844 192.168.0.254 | ||
+ | |||
+ | Le client va envoyer son fichier. | ||
+ | |||
+ | 130 6.886677 193.252.18.14 | ||
+ | 131 6.923111 193.252.18.14 | ||
+ | 132 6.923242 192.168.0.254 | ||
+ | 133 6.947755 193.252.18.14 | ||
+ | |||
+ | Un nouveau canal de données est ouvert. | ||
+ | |||
+ | 134 6.948206 193.252.18.14 | ||
+ | for / | ||
+ | 135 6.959283 192.168.0.254 | ||
+ | 136 6.960470 192.168.0.254 | ||
+ | 137 6.982307 192.168.0.254 | ||
+ | |||
+ | Et le transfert démarre. | ||
+ | |||
+ | 138 6.986320 193.252.18.14 | ||
+ | 139 6.987578 192.168.0.254 | ||
+ | 140 6.988767 192.168.0.254 | ||
+ | 141 6.999923 193.252.18.14 | ||
+ | 142 7.001176 192.168.0.254 | ||
+ | 143 7.002388 192.168.0.254 | ||
+ | 144 7.123111 193.252.18.14 | ||
+ | 145 7.124365 192.168.0.254 | ||
+ | 146 7.125555 192.168.0.254 | ||
+ | 147 7.126746 192.168.0.254 | ||
+ | 148 7.314251 193.252.18.14 | ||
+ | 149 7.315529 192.168.0.254 | ||
+ | 150 7.315885 192.168.0.254 | ||
+ | 151 7.315950 192.168.0.254 | ||
+ | 152 7.502913 193.252.18.14 | ||
+ | 153 7.680958 193.252.18.14 | ||
+ | 154 7.713910 193.252.18.14 | ||
+ | 155 7.714014 193.252.18.14 | ||
+ | 156 7.714093 193.252.18.14 | ||
+ | 157 7.714166 192.168.0.254 | ||
+ | 158 7.714232 192.168.0.254 | ||
+ | |||
+ | Le transfert est terminé, le canal de données est fermé. | ||
+ | |||
+ | 159 7.714542 192.168.0.254 | ||
+ | 160 7.765540 193.252.18.14 | ||
+ | 161 7.802347 192.168.0.254 | ||
+ | |||
+ | Le monde Unix... \\ Le client gFTP demande au serveur de changer les attributs du fichier. 744, ce qui signifie que le propriétaire a tous les droits et que les autres ne peuvent que lire. | ||
+ | |||
+ | 162 8.334702 192.168.0.254 | ||
+ | 163 8.355047 193.252.18.14 | ||
+ | 164 8.355196 192.168.0.254 | ||
+ | 165 8.355366 192.168.0.254 | ||
+ | 166 8.435637 193.252.18.14 | ||
+ | 167 8.435767 192.168.0.254 | ||
+ | 168 8.457199 193.252.18.14 | ||
+ | 169 8.457363 193.252.18.14 | ||
+ | for /bin/ls. | ||
+ | 170 8.464111 193.252.18.14 | ||
+ | 171 8.464194 193.252.18.14 | ||
+ | 172 8.464262 192.168.0.254 | ||
+ | 173 8.465013 192.168.0.254 | ||
+ | 174 8.492369 192.168.0.254 | ||
+ | 175 8.494386 193.252.18.14 | ||
+ | 176 8.511638 193.252.18.14 | ||
+ | |||
+ | Rien de bien nouveau, le client rafraichit la liste des entrées du répertoire courant. | ||
+ | |||
+ | 177 8.511763 192.168.0.254 | ||
+ | 178 14.584417 192.168.0.254 | ||
+ | 179 14.603193 193.252.18.14 | ||
+ | |||
+ | Le client ferme alors le canal de contrôle, sans autre forme de procès... | ||
+ | |||
+ | 180 14.603616 193.252.18.14 | ||
+ | |||
+ | Et se fait jeter par le serveur qui, habitué à la politesse, est choqué de ne pas lire une formule du genre « au revoir et merci | ||
+ | |||
+ | 181 14.603731 192.168.0.254 | ||
+ | |||
+ | Mais le client répond en gros « va te faire f... » [RST] indiquant au serveur qu'il parle devant une porte fermée, affichant ouvertement sa grossièreté. | ||
+ | ===== Ca y est ? Nous avons tout vu ? ===== | ||
+ | |||
+ | Non. FTP sait encore faire d' | ||
+ | |||
+ | * Le transfert binaire ou ASCII. C'est une notion qu'il faut connaître si l'on ne veut pas risquer de perdre beaucoup de temps. Si l'on peut transférer n' | ||
+ | * Les modes Actif et Passif. La notion est elle aussi essentielle, | ||
+ | * Nous avons vu avec suffisamment de précision le mécanisme des canaux de commandes et de données, en modes actif et passif, pour pouvoir configurer avec quelques espoir de réussite un firewall du genre GNU/Linux avec Netfilter. | ||
+ | |||
+ | Nous n' | ||
+ | |||
+ | * Comment utiliser FTP pour faire de l' | ||
+ | * comment utiliser FTP à travers un serveur PROXY ou un proxy SOCKS, mais ces problèmes ne sont pas spécifiquement du ressort de FTP et ne peuvent se rencontrer qu'en entreprise. | ||
+ | * Enfin, nous n' | ||
+ | * Finalement, nous n' | ||
+ | * Un client FTP qui sache faire ce genre d' | ||
+ | * des serveurs FTP qui acceptent ce genre d' | ||
+ | |||
+ | Si vous voulez en savoir d' | ||
Plus en profondeur: Dernière modification le: 01/01/1970 à 00:00 par