Linux configuró uno de los servidores FTP

  

Primero, qué es FTP: Principio del protocolo de transferencia de archivos

El estándar del Protocolo de transferencia de archivos de Internet (FTP) se describe en RFC959. El protocolo define un estándar para transferir archivos entre un sistema informático remoto y un sistema informático local. En general, los usuarios que transfieren archivos deben estar autenticados antes de poder iniciar sesión en el sitio antes de poder acceder a los archivos en el servidor remoto. La mayoría de los servidores FTP a menudo proporcionan una cuenta pública de INVITACIÓN para permitir que los usuarios sin servidores remotos accedan al servidor FTP.

Una sesión de FTP normalmente implica la interacción de cinco elementos de software.

La interfaz de usuario proporciona una interfaz de usuario y utiliza el intérprete de protocolo de cliente de cliente de servicio de intérprete de protocolo de cliente, cuya máquina de protocolo de servidor remoto de entrada envía comandos e impulsa el servidor de proceso de transferencia de datos de cliente. Responda al comando emitido por la máquina de protocolo del cliente y maneje el proceso de transmisión de datos del lado del servidor. El proceso de transmisión de datos del cliente DTP, que es responsable de la finalización y el proceso de transmisión de datos del servidor, y el servicio de comunicación del sistema de archivos local del cliente. Proceso de transmisión y comunicación del sistema de archivos del lado del servidor

En RFC 959, el término usuario generalmente se usa para referirse a un cliente. RFC 959 define la manera y las especificaciones para la interacción PI del cliente y PI del servidor. El mecanismo por el cual la interfaz de usuario interactúa con PI y DTP no es parte del protocolo estándar. PI y DTP a menudo se implementan en el mismo módulo de programa.

En una sesión de FTP, hay dos conexiones de red separadas, una utilizada por los PI en ambos extremos y la otra por los DTP en ambos extremos. La conexión entre los PI generalmente se denomina conexión de control, y la conexión entre los DTP se denomina conexión de datos.

Control y conexión de datos mediante servicios TCP

Normalmente, el servidor FTO escucha en el puerto número 21 para esperar una solicitud de establecimiento de conexión de control. La elección del número de puerto de conexión de datos depende del comando en la conexión de control. Generalmente, el cliente envía un mensaje de control para especificar el número de puerto en el que el cliente escucha y espera a que el servidor envíe una solicitud de configuración de conexión de datos.

El uso de diferentes conexiones independientes para la transmisión de datos y la transmisión del comando de control tiene las siguientes ventajas: dos conexiones pueden elegir una calidad de servicio adecuada y diferente, por ejemplo, los altos retrasos de control requieren menos tiempo de retardo. Las conexiones de datos requieren un mayor rendimiento de datos, y se puede evitar la transparencia y el escape de comandos en el flujo de datos.

Cuando se establece la transferencia, siempre es iniciada por el cliente primero. Sin embargo, tanto el cliente como el servidor pueden ser remitentes de datos. Además de transmitir la solicitud del usuario para descargar el archivo, el proceso de transferencia de datos también se establece cuando el cliente solicita la estructura de directorios del servidor de columnas.

1. Selección de comando

Cuando se establece una transferencia, generalmente es necesario especificar cuatro atributos:

Tipo de archivo Este atributo especifica cómo hacer coincidir los datos del archivo con Hay cuatro opciones posibles para el formato adecuado para la transmisión:

El tipo de archivo ASCII está en el lado del remitente, el archivo se convierte del formato de archivo de texto local al formato ASCII de NVT y hay un par CR /LF al final de cada línea. . En el extremo receptor, se convierte a un formato de texto local.

Esto explica por qué la transferencia de archivos de texto entre hosts de Unix es tal que la cantidad de datos transferidos es mayor que el tamaño real del archivo. Si la codificación de texto ASCII no se usa para el fin de la transmisión o para el final de la transmisión, el proceso de transmisión de datos debe implementar la conversión entre la codificación local y la codificación ASCII de NVT.

El tipo de archivo EBCDIC es similar a ASCII, excepto que usa el archivo de tipo de archivo de codificación de caracteres EBCDIC

(o binario) para transferir contenido localmente, en el extremo más lejano exactamente igual que el local Almacenamiento de contenido.

Sistema de archivos local Se utiliza en entornos donde el tamaño de byte no es de 8 bits. El remitente no especifica dígitos de byte.

En aplicaciones prácticas, solo se utilizan más los formatos ASCII y de imagen.

Control de formato Este atributo está relacionado con la transferencia final del archivo de texto al dispositivo de impresión. Hay varias formas de codificar la información de formato vertical en el archivo, incluida la forma de indicar el inicio de una nueva página. Existen las siguientes opciones:

No es necesario imprimir el control de formato, este es el valor predeterminado Control de impresión de Telnet, los caracteres de control definidos en el protocolo de telnet se incluyen en el flujo de datos. Control de impresión Fortran, esta propiedad rara vez se utiliza en la práctica.

Estructura Un archivo puede tener una estructura interna que se conserva durante la transmisión. Hay tres posibilidades para que el proceso de transferencia de datos sea responsable de hacer coincidir la estructura y la estructura local en el transporte:

Estructura del archivo Esto significa que el archivo se trata como un flujo contiguo de bytes sin estructura interna. .

Estructura de registro Un archivo es una estructura que consta de una serie de registros. Esto solo se aplica a los archivos de texto.

La estructura de la página también se puede llamar una estructura de bloque. Cada página se transmite con un número de página para completar la transferencia de manera secuencial. Las estructuras de página rara vez se encuentran en la práctica. La estructura de registro tampoco es muy común. El mismo efecto se puede obtener utilizando un tipo de archivo ASCII para archivos de texto.

Modo de transferencia Este atributo puede tomar tres valores diferentes:

Modo de transmisión El archivo se transmite como una transmisión de bytes.

Modo de bloque Los archivos se transfieren como un bloque a un bloque, y cada bloque tiene un encabezado al principio.

Modo de compresión Se aplica una codificación de compresión de longitud de ejecución simple para comprimir bytes idénticos sucesivos.

En la práctica, solo se usa generalmente el modo de transmisión. La compresión se logra generalmente mediante el uso de una variedad de otros programas de utilidad.

Cuando se establece una transferencia, el cliente normalmente especifica uno o más de los atributos descritos anteriormente. Si el servidor no admite una opción, el servidor responderá con un mensaje de error al cliente y no tiene un mecanismo de negociación.

FTP proporciona amplios comandos para permitir a los usuarios establecer conexiones y acceder a sistemas de archivos remotos.

2. Formato del comando El comando

se transmite en el formato de una cadena ASCII de NVT. Cada comando comienza con tres o cuatro caracteres ASCII NVT en mayúsculas seguidos de un parámetro de opción y un par CR /LF para identificar el final del comando.

La respuesta consta de tres dígitos ASCII NVT y un mensaje de opción.

Una respuesta larga puede consistir en varios mensajes, los primeros tres dígitos seguidos de un guión y el último mensaje sin un guión. El mensaje central no necesita llevar tres números, pero si trae tres números, también necesita un guión.

A continuación hay una lista de todos los comandos. Los comandos con un asterisco rara vez se utilizan, por lo que a menudo no se admiten en una implementación específica.


Cadena Significado ABOR Abandon Transmission * ACCT Algunos sistemas asocian cuentas y usuarios con sistemas de archivos * ALLO asigna espacio para que se transfieran los archivos. Detrás de los parámetros para determinar el número de bytes * APPE Adjuntar el archivo al archivo existente CDUP Cambiar el directorio actual al directorio principal en el sistema remoto CWD Cambiar el directorio de trabajo del sistema remoto DELE Eliminar el archivo del sistema remoto AYUDA Leer servidor Información de ayuda, como: lista de comandos admitidos


LIST Enviar una lista de nombres de archivos en el directorio de trabajo actual en una conexión de datos recientemente establecida MKD Crear directorio MODO Especifique el modo de transferencia, los parámetros portátiles son: S , B o C. NLST envía una operación vacía de NOOP de la lista de directorios en un directorio actual en una conexión de datos recientemente establecida, evitando que la conexión se desconecte. PASS proporciona una contraseña de inicio de sesión de usuario, que debe seguirse inmediatamente después del comando USER. * PASV especifica el proceso de transferencia de datos del servidor para escuchar la solicitud de establecimiento de conexión de datos del cliente. PORT especifica que el cliente escucha el número de puerto de la conexión que espera a que el servidor establezca la pantalla PWD. El trabajo actual del servidor. Registre SALIR para cerrar sesión y terminar la conexión

* REIN Reinicializar, cerrar sesión pero no desconectar, debe emitir un nuevo comando USER * REST Reiniciar la transferencia de RETR desde un identificador del servidor desde el control remoto El sistema recupera un archivo RMD para eliminar un directorio * RNFR especifica la ruta de acceso antigua del archivo que debe nombrarse, seguido de un comando RNTO * RNTO especifica la ruta de acceso nueva del archivo que se llamará * SITIO Servidor específico del sitio proporcionado Servicio * Carga de la estructura SMNT, proporcionando un nombre de ruta del sistema remoto de una estructura del sistema de archivos * STAT información de estado STOR Cargue un archivo en el servidor, sobrescriba * STOU si el archivo ya existe, cargue un archivo en el servidor, no sobrescriba el archivo existente STRU Especifique la estructura del archivo, el parámetro puede ser F, R o P. * SYST informa el tipo de sistema operativo del sistema remoto. TYPE especifica el tipo de archivo, los parámetros pueden ser A, E, I, L solo TIPO A y TIPO I que se usa comúnmente


La respuesta del comando de conexión de control tiene la siguiente forma:

Tipo Descripción 1yz Respuesta inicial activa, en Envíe otro comando antes de esperar otra respuesta 2yz para responder activamente, el último comando finaliza con éxito 3yz respuesta intermedia activa, debe enviar otro comando 4yz respuesta pasiva temporal, la acción solicitada no se puede completar en el momento, pero puede reintentar la respuesta pasiva permanente de 5yz La acción solicitada no se puede completar y no se debe volver a intentar.

" y " Codificación de números Más información

Dígito Significado 0 Sintaxis Error 1 Información 2 Estado de conexión 3 Autenticación y contabilidad 4 Reservado 5 Archivo s Estado del sistema de archivos

Aquí hay algunos mensajes típicos:

Número Significado 125 Conexión de datos Abierta, Transferencia Inicio 200 Comando OK 331 Nombre de usuario OK Debe ingresar la contraseña 425 No se puede abrir la conexión de datos 452 Error de escritura Error de sintaxis del archivo 500: vida irreconocible

Para obtener más información, consulte RFC

La autoridad oficial de wu-Ftpd es http://www.wu-ftpd.org.

Copyright © Conocimiento de Windows All Rights Reserved