El comando ls en ftp> ¡no funciona!

El comando ls en ftp> ¡no funciona!

Estaba practicando ftp pero encontré un problema: el comando ls no funciona en ftp>. ¿Por qué? Revisé 2 servidores remotos pero ls no funcionó en ninguno y dio un resultado 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 a la que tengo que enviar algunos archivos.Pero como ls en ftp> no funciona, ¿cómo transferiré archivos desde mi caja local a esa caja? 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>

Respuesta1

FTP es un protocolo antiguo. Se basa en dos conexiones TCP: unaconexión de controlsobre qué comandos se intercambian, yconexiones de datospara el contenido de archivos y también para la salida de comandos como ls. Lo que sucede aquí es que la conexión de control está establecida, pero las conexiones de datos no se realizan.

Por defecto (modo activo), las conexiones de datos se establecen desde el remitente hasta el receptor. Para la salida de ls, los datos son enviados por el servidor, por lo que el servidor intenta abrir una conexión con el cliente. Esto funcionó bien cuando se inventó el FTP, pero hoy en día, los clientes suelen estar detrás de un firewall o NAT que puede o no admitir FTP activo. Cambie al modo pasivo, donde el cliente siempre inicia la conexión de datos.

Consulta el manual de tu ftpcomando para ver cómo cambiar al modo pasivo de forma predeterminada. Para una sola vez, escribir el comando passivesuele ser suficiente.

Es posible que desees cambiar a un cliente FTP más agradable, comoncftpolftp.

Respuesta2

Solución Solución completa para el "comando ftp 500 Illegal PORT". Haga clic en el siguiente enlace:http://www.ucodice.com/articles/ftp-500-illegal-port-command/.

Extracto

Intentando conectar el servidor ftp y obteniendo el comando 500 Puerto ilegal. Este problema puede ocurrir cuando el programa ftp no está configurado para el modo pasivo.

Es posible que reciba un fragmento de error como:

COMMAND:>              [3/11/2015 1:17:05 PM] PORT 192,168,0,101,196,215    
                       [3/11/2015 1:17:05 PM] 500 Illegal PORT command.    
ERROR:>                [3/11/2015 1:17:05 PM] Syntax error: command unrecognized.    
ERROR:>                [3/11/2015 1:17:05 PM] Failed to establish data socket.

Para resolver este problema, puede definir el puerto o ftp en el archivo de configuración del servidor ftp y definir la dirección IP o el servidor PASV.

Verifique el archivo de configuración para conocer las siguientes configuraciones.

pasv_enable=YES
pasv_promiscuous=YES
pasv_max_port=Enter the max port range allowed on your server.
pasv_min_port=Enter the min port range allowed on your server.
pasv_address=Ip Address of your server.

Después de eso, reinicie el servicio ftp y verifique la conexión ftp.

información relacionada