On Tue, 2005-11-08 at 13:43, Nico wrote:
> Bonjour tout le monde.
>
> Voilà, j'ai un serveur ftp qui est lancé sur le port 21000. Afin de
> faire des tests, je me suis connecté en ssh sur la machine d'un copain
> et j'ai lancé la commande "ftp mon_IP 21000". Là pas de problèmes, je me
> connecte, je met mes identifiants et c'est bon.
> Par contre c'est lorsque je tape la commande "ls" que là ça passe pas =>
> "500 Illegal PORT command". Je lance mon serveur avec le port 21, et là
> avec un "ls" pas de problèmes.
> Donc apparement il associe le port 21 avec cette commande mais je ne
> comprend pas pourquoi car j'ai pourtant précisé que je voulais me
> connecter sur le port 21000 ce qu'il semble avoir compris puisque je
> peux le faire alors qu'en précisant le port 21 ça ne marche pas.
>
> Alors par contre quand je passe en mode passif là pas de problème à
> condition que je désactive le firewall du serveur ... donc le mode
> passif ne me sert pas à grand chose.
>
> Quelq'un a-t-il une explication ?
FTP a besoin de 2 ports. 1 pour le contrôle, c'est le port 21, celui que
tu utilises ici, et un pour les data, quand tu fais un ls, un get ou un
put. Ça pose tout plein de problèmes avec les firewalls, et le tien ne
doit plus reconnaitre le protocole une fois le port de contrôle changé.
Le mode 'passive' permet de tout faire passer par la connexion de
contrôle, et c'est étonnant que ça ne fonctionne pas chez toi.
Xav