Au temps pour moi, je me suis mélangé dans serveur/client mais pour le reste c’est pareil:
Connexion en actif (serveur hercule, client totoche):
ftp> passive
Passive mode off.
ftp>
tcpdump donne
[quote]22:15:54.613791 totoche.rebelles.33339 > hercule.ftp
22:15:54.614046 hercule.ftp > totoche.33339
22:15:54.614073 totoche.33339 > hercule.ftp
22:15:54.614105 totoche.33339 > hercule.ftp
là hercule ouvre une connexion sur totoche à partir de ftp-data
22:15:54.624619 hercule.ftp-data > totoche.33352
22:15:54.624657 totoche.33352 > hercule.ftp-data
22:15:54.624786 hercule.ftp-data > totoche.33352
22:15:54.624922 hercule.ftp > totoche.33339
22:15:54.625815 hercule.ftp-data > totoche.33352
22:15:54.625835 totoche.33352 > hercule.ftp-data
22:15:54.625937 hercule.ftp-data > totoche.33352
…
22:15:54.633514 hercule.ftp-data > totoche.33352
22:15:54.633522 totoche.33352 > hercule.ftp-data
22:15:54.633552 hercule.ftp-data > totoche.33352
22:15:54.635352 totoche.33352 > hercule.ftp-data
22:15:54.635465 hercule.ftp-data > totoche.33352
22:15:54.660490 totoche.33339 > hercule.ftp
22:15:54.660657 hercule.ftp > totoche.33339
22:15:54.660679 totoche.33339 > hercule.ftp
[/quote]
Il est une connexion à partir du port ftp-data
ftp> passive
Passive mode on.
ftp>
[quote]22:16:03.062015 totoche.33339 > hercule.ftp
22:16:03.063272 hercule.ftp > totoche.33339
22:16:03.063302 totoche.33339 > hercule.ftp
là c’est totoche le client qui va ouvrir une connexion sur un port donné par le serveur (ici 8928)
22:16:03.063348 totoche.33355 > hercule.8928
22:16:03.063489 hercule.8928 > totoche.33355
22:16:03.063505 totoche.33355 > hercule.8928
22:16:03.063529 totoche.33339 > hercule.ftp
22:16:03.099027 hercule.ftp > totoche.33339
22:16:03.110162 hercule.8928 > totoche.33355
22:16:03.110200 totoche.33355 > hercule.8928
22:16:03.110286 hercule.8928 > totoche.33355
22:16:03.110343 totoche.33355 > hercule.8928
22:16:03.110384 hercule.8928 > totoche.33355
22:16:03.110448 totoche.33355 > hercule.8928
…
22:16:03.119535 totoche.33355 > hercule.8928
22:16:03.130455 totoche.33339 > hercule.ftp
22:16:03.135648 hercule.8928 > totoche.33355
22:16:03.135730 hercule.ftp > totoche.33339
22:16:03.135750 totoche.33339 > hercule.ftp
22:16:04.939574 totoche.33339 > hercule.ftp
22:16:04.952525 hercule.ftp > totoche.33339
22:16:04.952561 totoche.33339 > hercule.ftp
22:16:04.952714 hercule.ftp > totoche.33339
22:16:04.952732 totoche.33339 > hercule.ftp
22:16:04.952935 totoche.33339 > hercule.ftp
22:16:04.964948 hercule.ftp > totoche.33339
22:16:04.964984 totoche.33339 > hercule.ftp
[/quote]
Dans le premier cas (actif), c’est bien le serveur qui initie la connexion à partir du port ftp-data (et non sur le port ftp-data du client comme je l’avais dit), dans le deuxième cas, la connexion pour le transfert des données est crée par le client (le serveur est passif) sur un port donné par le serveur.
Désolé de t’avoir vexé, ça n’était pas le but.
Je ne comprends donc pas ce que tu veux dire par faire fonctionner un serveur passif sur le port 20, le port 20 ne joue en rôle qu’en mode actif.
Dans ce mode actif, le serveur veut ouvrir une connexion sur un port dont le numéro est fourni par le client. Il est donc important que le port en question soit routé vers la machine client si celle ci est derrière un parefeu. C’est le rôle du module ip_nat_ft et ip_countrack_ftp. Le mode passif a été rajouté lorsque justement on ne controle pas tout sur les parefeu. Cela explique par exemple pourquoi IE fait du FTP par défaut en mode passif.