Puerto FTP

¿Qué es un puerto FTP?

El FTP, o Protocolo de Transferencia de Archivos, hace posible que los usuarios intercambien archivos entre sus ordenadores personales y servidores remotos con la ayuda de herramientas de software especializadas llamadas clientes FTP. A través de las herramientas de software FTP los usuarios pueden establecer conexiones con una máquina remota de su elección y realizar las transferencias de datos necesarias. Las conexiones FTP se ejecutan a través de determinados puertos, que son los puertos TCP por defecto o los puertos personalizados establecidos por un administrador.

Ejecutar una conexión de puerto FTP a través de un cliente es un proceso de dos etapas que requiere el uso de dos puertos diferentes. Una vez que el usuario introduce el nombre del servidor y las credenciales de acceso en los campos de autorización del cliente FTP, se establece la conexión FTP y se abre el puerto de control FTP del servidor FTP (el puerto por defecto para el envío de comandos es el 21). A continuación, el cliente realiza una segunda conexión con el servidor, seguida de una respuesta del servidor FTP desde el puerto de envío de datos (el puerto de envío de datos por defecto es el 20), momento en el que comienza realmente la transferencia de archivos.

Resolución de problemas con un puerto FTP bloqueado

Como ya hemos mencionado, el puerto de comandos por defecto para las conexiones FTP es el puerto 21, por lo que, es importante comprobar si tu ISP no está bloqueando el acceso a ese puerto. Para comprobar si tu router o ISP está bloqueando el puerto 21, debes utilizar telnet. Dependiendo de tu sistema operativo, puedes abrir un terminal (Linux, OSX) o un símbolo del sistema (Windows XP, Vista, Windows7) y escribir la línea que aparece a continuación.

Un ejemplo de comando telnet para comprobar el puerto FTP 21

telnet mi-mejor-dominio.net 21
Si la conexión se abre con éxito, el resultado debería ser similar.

Resultados de la comprobación del puerto 21

telnet mi-mejor-dominio.net 21
Intentando 192.128.34.174…
Conectado a mi-mejor-dominio.net.
220 Servidor ProFTPD 1.2.10 (mi-mejor-dominio.net)

Si no ha establecido una conexión FTP usando telnet, debería comprobar su software de firewall y añadir su Cliente FTP en la lista de exclusión / blanca de programas que pueden abrir puertos. Si su puerto FTP ya está en la lista y no puede abrir una conexión FTP usando telnet, póngase en contacto con su ISP y pídales que abran el puerto 21.

Si se conecta al servidor FTP mediante telnet, pero tiene problemas para establecer una conexión FTP mediante su software FTP, haga lo siguiente:

  • comprueba los detalles de tu cuenta FTP en busca de errores
  • comprueba la configuración de la conexión del cliente FTP
  • desactiva las transferencias FTP simultáneas
  • ajusta el número de las conexiones FTP al mínimo permitido

Si todos estos consejos no te permiten conectarte al servidor, intenta poner tu cliente FTP en modo pasivo.

Conexiones FTP en modo activo y pasivo

Cuál es la diferencia entre una conexión FTP activa y una pasiva y cómo funcionan es una de las preguntas más formuladas. Es bueno tener un host FTP que ofrezca soporte para ambas, porque hay casos en los que una funciona y la otra rechaza la conexión. Estos casos ocurren por culpa de cortafuegos y routers mal configurados en el lado del cliente o en la red del ISP del cliente.

Entonces, ¿cuál es la diferencia entre las conexiones FTP en modo activo y pasivo? – Y la respuesta está en las conexiones del puerto FTP. El FTP es un servicio TCP que utiliza 2 puertos. El primer puerto FTP es el ‘puerto de comandos’ que utiliza la comunicación entre el servidor FTP y el cliente FTP. El segundo puerto es el de ‘transferencia de datos’, donde se ejecuta la verdadera transferencia de archivos. Normalmente, el puerto de comandos se establece en el puerto 21 y el puerto de transferencia de datos es el puerto 20, pero en realidad, dependiendo del modo de conexión, el puerto de transferencia de datos puede cambiarse.

La conexión en modo activo

Cuando intentas establecer una conexión FTP en modo activo, primero tienes que comprobar en la configuración de tu software FTP si el «modo activo» está activado. En los programas FTP gratuitos más populares el modo activo está activado por defecto. Si está deshabilitado, actívalo y procede a rellenar los datos de tu cuenta FTP.

Mira el registro de conexión que aparece a continuación para ver cómo se desarrolla la conexión. Usted notará que el cliente envía un comando PORT que contiene el número de puerto dinámico en el que está escuchando sobre el flujo de control y espera una conexión del servidor FTP. Cuando el servidor FTP inicia la conexión de datos con el cliente FTP vincula el puerto de origen al puerto 20 del servidor FTP.

Un ejemplo de registro de conexión FTP utilizando un modo Activo

Estado: Resolviendo la dirección de mi-mejor-dominio.net
Estado: Conectando a 66.40.34.171:21…
Estado: Conexión establecida, esperando mensaje de bienvenida…
Respuesta: 220 Servidor ProFTPD 1.2.10 (sc109.info)
Comando: USER demomovie
Respuesta: 331 Se requiere contraseña para demomovie.

Comando: PASS *****
Responde: 230 Usuario demomovie conectado.
Comando: SYST
Respuesta: 215 Tipo UNIX: L8
Comando: FEAT
Respuesta: 211-Features:
Respuesta: 211-MDTM
Respuesta: 211-REST STREAM
Respuesta: 211-SIZE
Respuesta: 211 End
Estado: Conectado
Estado: Recuperando listado de directorios…
Comando: PWD
Respuesta: 257 «/» es el directorio actual.
Comando: TYPE I
Responde: 200 Tipo establecido en I
Comando: PORT 10,1,242,250,180,46
Response: 200 Comando PORT exitoso
Comando: LIST
Respuesta: 150 Abriendo conexión de datos en modo ASCII para la lista de archivos
Respuesta: 226 Transferencia completa
Estado: Listado de directorios exitoso

Pero vamos a explicar las cosas con más detalle. Primero, el cliente abre un puerto dinámico aleatorio, por ejemplo el puerto 1025, y se conecta al puerto 21 del servidor. Luego el cliente abre un puerto de datos (el puerto de comandos + 1 = 1026) y envía un comando PORT al servidor FTP. A continuación, el servidor se conecta de nuevo al puerto de datos 1026 del cliente utilizando su puerto de datos local 20 e inicia la transferencia.

La conexión en modo pasivo

Las conexiones FTP en modo pasivo están diseñadas para resolver problemas con cortafuegos y routers que no permitían establecer una conexión activa.

Si no puedes conectarte al servidor en modo activo, tienes que activar la opción «Forzar modo pasivo» de tu cliente FTP. Entonces el cliente iniciará ambas conexiones con el servidor, lo que puede resolver el problema incluso si hay algunas limitaciones impuestas por la red de su ISP o su firewall personal.

Veamos cómo funciona el modo pasivo. En primer lugar, el cliente FTP abre dos puertos dinámicos: un puerto de comandos (por ejemplo, el puerto 1025) y un puerto de transferencia de datos (el puerto de comandos +1 = puerto 1026). A continuación, el cliente conecta su puerto de comandos al puerto 21 del servidor, pero en lugar de utilizar un comando PORT, envía un comando PASV que indica al servidor que la conexión está configurada en modo pasivo. Cuando lee el comando PASV, el servidor abre un puerto dinámico aleatorio (por ejemplo, el 1027), que se reenvía al puerto 20 (el puerto de transferencia de datos por defecto del servidor), y lo devuelve al cliente. A continuación, el cliente FTP inicia la conexión desde su puerto de datos (puerto 1026) al puerto de datos del servidor (puerto 1027) y comienza la transferencia de datos.

Este modo es un gran método para resolver problemas con los cortafuegos que filtran la conexión del puerto de datos entrante al cliente desde el servidor. Comprobemos cómo queda el registro de la conexión:

Un ejemplo de registro de conexión FTP utilizando un modo pasivo

Estado: Resolviendo la dirección de mi-mejor-dominio.net
Estado: Conectando a 66.40.34.171:21…
Estado: Conexión establecida, esperando mensaje de bienvenida…
Respuesta: 220 Servidor ProFTPD 1.2.10 (sc109.info)
Comando: USER demo
Respuesta: 331 Se requiere contraseña para demomovie.
Comando: PASS **********
Respuesta: 230 Usuario demo conectado.
Comando: SYST
Respuesta: 215 Tipo UNIX: L8
Comando: FEAT
Respuesta: 211-Features:
Respuesta: 211-MDTM
Respuesta: 211-REST STREAM
Respuesta: 211-SIZE
Respuesta: 211 End
Estado: Conectado
Estado: Recuperando listado de directorios…
Comando: PWD
Respuesta: 257 «/» es el directorio actual.
Comando: TYPE I
Responde: 200 Tipo establecido en I
Comando: PASV
Respuesta: 227 Entrando en modo pasivo (66,40,34,171,137,225).
Comando: LIST
Respuesta: 150 Abriendo conexión de datos en modo ASCII para lista de archivos
Respuesta: 226 Transferencia completa.
Estado: Listado de directorios realizado con éxito

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *