Estaba practicando ftp pero enfrenté un problema: el comando ls no funciona en ftp>. ¿Por qué? Verifiqué en 2 servidores remotos, pero ls tampoco funcionó y di una salida diferente cuando se ejecutó ls. Consulte a continuación las 2 cajas remotas.
A continuación se muestra mi servidor remoto donde instalé vsftpd hoy.
ravbholua@ravbholua-Aspire-5315:~$ ftp rs
Connected to ravi.com.
220 (vsFTPd 3.0.2)
Name (rs:ravbholua):
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/home/ravbholua"
ftp> ls
500 Illegal PORT command.
ftp: bind: Address already in use
ftp>
Lo siguiente es para una máquina remota diferente donde tengo que enviar algunos archivos. Pero como ls en ftp> no funciona, ¿cómo transferiré archivos de mi casilla local a esa casilla porque no puedo confirmar sin ls si los archivos se han transferido o no?
ravbholua@ravbholua-Aspire-5315:~$ ftp 125.21.153.140
Connected to 125.21.153.140.
220---------- Welcome to Pure-FTPd [TLS] ----------
220-You are user number 1 of 10 allowed.
220-Local time is now 04:34. Server port: 21.
220-This server supports FXP transfers
220 You will be disconnected after 2 minutes of inactivity.
Name (125.21.153.140:ravbholua): peacenews
331 User peacenews OK. Password required
Password:
230 OK. Current restricted directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200-FXP transfer: from 123.63.112.168 to 10.215.10.80
200 PORT command successful
Tenga en cuenta que para la máquina anterior, una vez que ejecuté ls en ftp>, el mensaje no volvió.
En ambas máquinas remotas, obtuve resultados diferentes cuando ejecuté ls en ftp>
man ftp
y encontré la -p
opción para usar en modo pasivo. Como se man ftp
menciona que ftp es una interfaz de usuario para el protocolo de transferencia de archivos estándar de Internet: ¡así que es la interfaz y no el cliente ftp! Lo que entiendo es que el cliente ftp usa esta interfaz (ftp) para transferir archivos.