Desde 1994 en la Red. La pagina de los aficionados a la electronica, informatica y otras curiosidades de la vida. No dudes en visitarnos.
Ahora 3 visitas.| 1767339 Visitas (desde Dic. 2011), hoy: 1007 Visitas 2830 Pag. Vistas , ultimos 36 dias: 40231 Visitas. 102344 Pag. Vistas. Tu IP: 54.81.72.117
Que ando curioseando:
AutosuficienciaCosas de casaElectronicaEn InternetInformáticaMundo MisticoSin categoríaSociedadTe lo recomiendo

FTP con comandos de Ms-Dos (1)

Introducción al ftp

El protocolo ftp es el que utilizamos para descargar archivos de la red, o subirlos desde nuestro ordenador.

Hoy en dia todos hemos descargado algun archivo usando las utilidades incorporadas al propio navegador. Basta sustituir la url http:// ... por el protocolo correcto: ftp:// .... Puedes incluso acceder a sitios de ftp no anónimo escribiendo en tu navegador ftp://nombreusuario:contraseña@direccionftp.

En este manual, sin embargo, vamos a echar un vistazo a la forma de trabajar con ftp en modo consola, con comandos de texto.
¿que para qué? pues para saber como funciona, claro. Y porque necesitaremos probablemente este conocimiento si algun dia necesitamos ‘ftpear’ en serio.

¿que necesito?

Para esta primera toma de contacto con el ftp, usaremos lo que la mayoria tenemos a mano: el programa ftp que viene incluido en las distribuciones de windows. Ya sabes. Inicias una sesión DOS (inicio, programas, MS-DOS) y a teclear …

primeros pasos

Para iniciar una sesión ftp necesitamos establecer una conexión con el ordenador servidor, que es el que maneja el espacio donde estan los archivos que queremos bajar (o a donde queremos subir los nuestros).
Esta conexión tendrá lugar a través del puerto 21 de nuestro ordenador. Tenemos dos formas de iniciar la conexión:

    a) escribimos en nuestra ventana de DOS ftp nombredelservidor, por ejemplo, por que no, ftp ftp.microsoft.com.
Observa que no es que escribamos ftp dos veces, sino que los servidores dedicados a transmisión de ficheros se suelen identificar con ftp.nombreservidor.extensión, al igual que por ejemplo los que albergan paginas webs se identifican como www.loquesea.com.

    b) Entramos primero en el programa ftp escribiendo ftp y pulsando ENTER. El prompt del sistema cambia a ftp >. A continuación escribimos: open ftp.microsoft.com.

En cualquiera de los dos casos Sabremos que hemos conectado porque vemos un mensaje de bienvenida. En el ejemplo anterior:

C:WINDOWS>ftp ftp.microsoft.com
Conectado a ftp.microsoft.com.
220 cpmsftftpa03 Microsoft FTP Service (Version 5.0).
Usuario (ftp.microsoft.com:(none)): anonymous
331 Anonymous access allowed, send identity (e-mail name) as password.
Contraseña:******
230-This is FTP.MICROSOFT.COM. Please see the
230-dirmap.txt for more information.
230 Anonymous user logged in.
ftp> _

Vamos a ver que es todo esto. Lo que esta escrito en negrita corresponde a lo que hemos escrito nosotros. El resto es la respuesta del servidor:

Iniciamos la conexión escribiendo ftp ftp.microsoft.com. El servidor nos informa que estamos conectados, y su nombre y versión. A continuación nos da el nombre de usuario. Como aun no estamos identificados aparecemos como ‘none’.

Tenemos que identificarnos para entrar, pero ¿como lo hacemos?. Afortunadamente aun perviven las buenas viejas costumbres, y internet esta lleno de servidores ‘publicos’ que permiten la conexión de usuarios anonimos. Típicamente usaremos el nombre de usuario anonymous y como contraseña es cortesía introducir nuestro email (en este caso solo el identificativo, es decir lo que va antes de la @). Y no, no es necesario usar tu email real. Pero no olvides que te conectas con tu IP, que se trata de un servicio gratuito que hay que defender, y por tanto, procura no abusar.

Bien, ya hemos entrado. En este caso el servidor nos informa donde podemos encontrar un archivo con instrucciones (los tipicos leeme o README), y de nuestro nombre de usuario (anonymous)

¿que comandos podemos usar?

Para saber que comandos tenemos a nuestra disposición, simplemente escribimos help o abreviado, la interrogación ?.
Esta es la respuesta a nuestra petición de ayuda:

ftp> ?
Los comandos se pueden abreviar.  Comandos:

!               delete          literal         prompt          send
?               debug           ls              put             status
append          dir             mdelete         pwd             trace
ascii           disconnect      mdir            quit            type
bell            get             mget            quote           user
binary          glob            mkdir           recv            verbose
bye             hash            mls             remotehelp
cd              help            mput            rename
close           lcd             open            rmdir
ftp>_

Ten en cuenta que estos son los comandos que en principio nos ofrece nuestro programa. Dependiendo de los privilegios con los que hayamos entrado, podremos hacer mas o menos cosas, es decir, tendremos mas o menos comandos a nuestra disposición, pues es logico, no podemos hacer lo mismo en un servidor público que, por ejemplo, en un servidor ftp de nuestra web. Y lo normal es que el servidor disponga de otros comandos adicionales.

Comandos básicos

En la página anterior vimos los comandos para conectar con un servidor ftp (c:/ftp ftp.nombredeservidor.* o bien desde dentro del programa, ftp> open ftp.elservidor.*), y la necesidad de introducir nombre de usuario y contraseña; también vimos como ver los comandos de ayuda disponibles en nuestro sistema (? o bien help, pudiendo pedir ayuda sobre comandos específicos: ? comando, o help comando)

Bien, ya estamos conectados, vamos a movernos por el servidor. En este caso, ponemos como ejemplo el servidor ftp de un hosting de páginas web:

C:>ftp ftp.nexen.net
Conectado a sauterne.nexen.net.
220 ProFTPD 1.2.0pre10 Server (Sauterne) [sauterne.nexen.net]
Usuario (sauterne.nexen.net:(none)): minombre
331 Password required for minombre.
Contraseña:************
230 User minombre logged in.
ftp>

Lo primero que hacemos es ver donde estamos. Para eso usamos el comando pwd:

ftp> pwd
257 '/' is current directory.
ftp>

vemos que estamos en el directorio raiz (no es el verdadero directorio raiz de la máquina remota, pero si desde nuestro punto de vista de usuarios)

A continuación, lo lógico es que queramos ver que tenemos a nuestro alrededor. Para obtener la lista de archivos y directorios, usamos el comando ls:

utilidades
varios
xhtml
blank.html
canciones.js
entrada.html
entradanoframes.htm
estilo.css
estilo2.css
favicon.ico
nu43
innet
phpinfo.php
online.htm
preload.html
scriptind.js
cal
phorum-3.2.1
xml
extensions.php
404.html
226-Transfer complete.
226 Quotas off
ftp: 361 bytes received in 0.06Segundos 6.02KB/s.
ftp>

¿que ha pasado? hay tantos directorios y archivos que ocupan toda la pantalla. Ya sabemos que aqui no hay scroll. Para ver todos los archivos y directorios cómodamente, usamos la misma orden, con un modificador:

ls -C:

ftp> ls -C
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
404.html                favicon.ico             preload.html
blank.html              html                    scriptind.js
cal                     images                  servidor
cal.htm                 index.php               smil
canciones               innet                   trucos
canciones.js            manualcss               tutoriales
dump-mysql              musica                  utilidades
entrada.html            mysql                   varios
entradanoframes.htm     nu43                    xhtml
estilo.css              online.htm              xml
estilo2.css             phorum-3.2.1
extensions.php          phpinfo.php
226-Transfer complete.
226 Quotas off
ftp: 368 bytes received in 0.06Segundos 6.13KB/s.
ftp>

He ahi la lista completa de directorios y archivos. Estamos en disposición de bajar y subir archivos. Pero antes de bajar nada, debemos tener en cuenta que no hemos especificado en que directorio de nuestro disco duro deben almacenarse las descargas. Por defecto, se almacenan en el directorio desde el que estemos trabajando (por ejemplo, si hemos lanzado el ftp desde una sesión típica de DOS, estaremos en c:/windows, y no nos interesa que las descargas se almacenen ahi).
Necesitamos cambiar el directorio de trabajo local, con el comando lcd:

ftp> lcd ..
Directorio local ahora C:.
ftp> lcd temp
Directorio local ahora C:temp.
ftp>

Vemos como con lcd.. (local change directory) subimos en el arbol de directorios de nuestra máquina (de c:/windows a c:) y luego con lcd temp pasamos al directorio c:temp.
Bueno, bajamos nuestro primer archivo con la orden get:

ftp> get favicon.ico
200 PORT command successful.
150 Opening ASCII mode data connection for favicon.ico (942 bytes).
226 Transfer complete.
ftp: 942 bytes received in 0.06Segundos 15.70KB/s.
ftp>

Acabamos de descargar de nuestro servidor el archivo favicon.ico. El programa nos informa de la velocidad de descarga, tamaño del archivo y tiempo transcurrido (he escogido un archivo enano). Tambien nos dice el modo en el que hemos realizado la transferencia: ASCII. Hay dos modos de transferencia. De momento basta saber que ASCII es apropiado para textos, datos, mientras que BINARY es el adecuado para programas e imágenes. Para pasar de un modo a otro sencillamente tecleamos ascii, o asc (pasamos a modo ascii) o binary, o bin, pasamos a modo binario. Por ejemplo:

ftp> binary
200 Type set to I.
ftp> asc
200 Type set to A.
ftp> bin
200 Type set to I.

Donde vemos que pasamos a modo binario (modo I) luego a ASCII (modo A) y nuevamente a binario.

ftp> put README-faq
200 PORT command successful.
150 Opening ASCII mode data connection for README-faq.
226 Transfer complete.
ftp: 2339 bytes sent in 0.05Segundos 46.78KB/s.
ftp>

Ahora hemos subido al servidor (comando put) el archivo README-faq. comprobamos que está:

ftp> ls -C
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
404.html                extensions.php          phpinfo.php
README-faq              favicon.ico             preload.html
blank.html              html                    scriptind.js
...

Y ahi lo tenemos.
Recordamos que comandos hemos visto:

  • pwd para saber enque parte del servidor estamos
  • ls para listar directorios y archivos del servidor. ls -C nos presenta la información en una sola pantalla. ls -la ofrece los atributos de los archivos
  • lcd para movernos entre directorios locales. cd (change directory) para movernos por el servidor
  • get para desgargar un archivo
  • put para subir un archivo

Y terminamos estos primeros movimientos borrando un archivo:

ftp> delete README-faq
250 DELE command successful.

Como verás, el programa presume que sabemos lo que estamos haciendo, y no nos pregunta confirmación. Asi que mas vale andar con cuidado !

listando directorios

El comando ls (LS) nos sirve para obtener un listado de los archivos del servidor, en formato legible, con una serie de información accesoria.

La información que el servidor debe devolver al recibir un comando ls no está descrita en el estandard RFC-959, por lo que pueden existir problemas en algunos casos puntuales. Lo normal es que un servidor windows muestre una salida semejante a la del comando dir, y un servidor unix, semejante al comando unix /bin/ls -l.

Sintaxis:

ls [Directorio_remoto] [Archivo_local]

Donde directorio remoto es aquel del que deseamos obtener el listado de archivos. Si no se especifica, se usa el directorio actual. Archivo_local especifica un archivo donde debe guardarse el resultado de la consulta. Si no se indica archivo local, se muestra en pantalla.

Opciones principales

Listado extenso

Para obtener mas información usa el comando ls con el parámetro -l [directorio]

ls -l

Una salida típica te mostrará los permisos de acceso al fichero, número de links hacia el mismo, usuario propietario, tamaño, ultima modificación y nombre

Archivos ocultos

Para mostrar tambien archivos ocultos (cuyo nombre empieza típicamente con un punto) usa el parámetro -a

Mas opciones (flags)

Parámetro      Acción
  -a        lista también archivos ocultos
  -A        lista archivos ocultos (excluyendo . y .. implicitos)
  -d        lista el nombre del actual directorio
  -F        muestra directorios con una '/' final
            ejecutables con un  '*'
  -g        muestra el propietario
  -i        muestra el numero inode de cada archivo
  -l        listado con detalles
  -R        lista subdirectorios y su contenido
  -t        muestra ordenado por fecha de modificación en lugar
            de por nombre
  -r        orden inverso
  -C        ordena por columnas (solo nombre)

CHMOD files, asignando permisos

Una de las dudas mas habituales cuando nos enfrentamos a la instalación de scripts (perl, php) es la asignación de los permisos correspondientes. Las preguntas sobre CHMOD suelen ser las mas habituales en todos los foros que se dedican a estos temas. En este artículo abordaremos que son los permisos, para que sirven, y como asignarlos.

Los script y los permisos

CHMOD ("Change mode") es un comando UNIX que permite cambiar los permisos de acceso de un archivo. Cada archivo tiene nueve clases de acceso, que pueden ser permitidas o denegadas. Se pueden aplicar diferentes permisos al dueño del fichero, al grupo al que el fichero pertenece y al resto de usuarios. Cada una de estas tres clases de usuarios (dueño, grupo, resto de usuarios) puede tener permisos de lectura, escritura y ejecución Al instalar cualquier archivo en una página web, podemos definir sus propiedades, para determinar en que forma será accesible para los visitantes de la página. Estas propiedades son lo que llamamos permisos y segun cuales asignemos a cada archivo este será solo de lectura, de escritura o ejecutable, o cualquier combinación de los tres. Piensa por ejemplo en una página de html sencilla, respecto de la cual solo nos interesa garantizar que todo el mundo pueda verla pero no modificarla; el archivo que contiene esa página necesita unicamente permisos de lectura, pero no de ejecución ni de escritura. Por contra, si se trata de un script, necesitará probablemente permisos de lectura y de ejecución, etc.

La orden CHMOD

En este documento nos referimos a la asignación de permisos en servidores unix (unix, linux, freebsd, todos ellos pertenecientes a la familia unix, y con diferencia los mas difundidos en la red). La asignación de permisos se hace mediante el comando CHMOD. Por eso, cuando al leer las instrucciones de instalación de cualquier aplicación web te encuentres con la misteriosa frase "haz chmod 666 tal_archivo.htm" ten en consideración que nos estan diciendo los permisos que ese archivo necesita. Los servidores Windows tienen su propio sistema de permisos, en los que no vamos a entrar aqui.

El concepto de usuario en UNIX

El sistema operativo UNIX esta diseñado para ser multiusuario. Por ello UNIX permite tres niveles de acceso a los archivos, para tres categorias diferentes de usuarios: owner (propietario) La persona que el sistema reconoce como dueño del archivo. Group (grupo): Conjunto de usuarios con permisos similares. Muy usado en entornos de trabajo, es de escasa aplicación en páginas web. Other (otros): Cualquier otra persona. Es un error asociar el concepto de usuario a una persona real. Se trata de una abstracción, que se refiere no a personas sino a categorias. Por ejemplo, si nosotros creamos un script, somos efectivamente sus autores y propietarios; pero ese script esta destinado a la red. Nosotros, y el resto de personas, accederan al archivo no a traves de nuestra maquina local sino por internet. Es frecuente en los servidores la creación de usuarios genéricos (root, www, www-user etc). En definitiva no olvides que cuando asignas permisos a un script, el owner puede ser cualquiera que visite la página, lo cual será necesario si como es normal se trata de scripts que se administran via web.

Tipos de permiso de acceso:

Read (lectura): Permiso para ver el archivo o directorio, sin hacer cambios. Write (escritura): Permiso de escritura: puede escribir el archivo, y por tanto, cambiarlo. Execute (ejecución): El archivo o directorio puede ser ejecutado. Se usa para directorios con scripts, formularios, etc ... Y tratándose de directorios: read listar los archivos de un directorio write añadir nuevos archivos al directorio execute acceder a los archivos del directorio

Como conozco los permisos de un archivo ?

Si tenemos acceso ftp al servidor, tecleamos el comando ls -l y vemos algo asi:
-rw-r--r--   1 irvnet   irvnet       1272 Sep 28 07:31 index.php
| //  /       |         |           |                     |
| | |   |        |         |          tamaño           nombre del archivo
| | |   |        |         |_ nombre grupo
| | |   |        |
| | |   |        |_ nombre usuario
| | |   |
| | |   |_ Permisos genericos
| | |
| | |_ Los siguientes tres digitos los permisos del Group
| |
| |___ los siguientes tres caracteres determinan los permisos del owner:
|      r de real, lectura; w, write, escritura y x de
|       execute, ejecución
|
|
|___ El primer carácter indica si nos encontramos ante un directorio o un
     fichero: d significa directorio, - significa fichero,
     l significa link

Advierte que tenemos TRES categorias de usuarios ("user," "group," y "other") y para categoria pueden asignarse TRES tipos de permisos: "r," "w," y "x".

Fijando permisos

La orden chmod puede usarse con letras o numeros. La forma mas corriente es expresar los permisos numericamente. Seguro que lo has visto por ahi, chmod 777 etc ...
Para comprender el significado tienes que tener en cuenta que convencionalmente 4 significa permiso de lectura. 2 permiso de escritura y 1 permiso de ejecución. Sumando estos valores vemos que un archivo puede tener los siguientes permisos (por cada tipo de usuario):

	4= lectura
	2= escritura
	1= ejecución

	6 (4+2)= lectura y escritura
	5 (4+1)= lectura y ejecución
	3 (2+1)= escritura y ejecución
	7 (4+2+1)= lectura, escritura y ejecución

Todo ello para los tres tipos de usuario.

Asi, un chmod file 777 significa que owner, group y others tienen permiso de lectura, escritura y ejecución. chmod 766 significa que el owner tiene permiso de lectura, escritura y ejecución, y el group y others permiso de lectura y escritura. Chmod 744 significa que el owner tiene permisos de lectura, escritura y ejecución, y group y others unicamente permisos de lectura.

Como ves, son tres digitos, de izquierda a derecha designan los permisos del owner, group y others.

Vemos a continuación su equivalente en letras:

0  =  ---  =  sin acceso
1  =  --x  =  ejecución
2  =  -w-  =  escritura
3  =  -wx  =  escritura y ejecución
4  =  r--  =  lectura
5  =  r-x  =  lectura y ejecución
6  =  rw-  =  lectura y escritura
7  =  rwx  =  lectura, escritura y ejecución

Asi, en el ejemplo de antes:

		rw-r--r--

significa que el owner tiene permisos de lectura y escritura (rw-); el group permisos de lectura unicamente (r--) y other, permiso de lectura (r--). ¿como seria el equivamente numerico? sería chmod 644.

La sintaxis para usar chmod con texto:

chmod [ugo][+-][rwx] [nombre_archivo]Donde [u=user, g=group y o=other]; [+/- activa o desactiva los atributos siguientes] [r=read, w=write, x=execute]

Por ejemplo, chmod go+r index.php significa que asignamos permisos de lectura para group y others en index.php

De esta forma solo cambiamos los atributos que especificamos, pero no alteramos otros compatibles que pudieran estar asignados anteriormente) por ejemplo, no modifica la atribucion anterior a group de un permiso de ejecución).

Si queremos fijar de nuevo todos los permisos, la sintaxis sería:

chmod go=r index.php donde asignamos a group y other permiso de lectura sobre index.php y eliminamos cualquier otro permiso para ambos.

Ten encuenta asimismo que puedes usar comodines:

chmod 644 *.html etc ...

Calculando valores chmod

Chmod
Permission Owner Group Other
Read
Write
Execute
 

 

This free script provided by JavaScript Kit

caso práctico, phpnuke:

Este apartado se mantiene como simple ejemplo. Las ultimas versiones de php-nuke NO precisan permisos de archivo especiales.

Si leemos el install de phpnuke (versiones antiguas anteriores a la 6.0), por ejemplo, el de la versión 4.4, encontramos:

"... In order to use the File Manager, please be sure to chmod 666 ALL files and 777 ALL directories.
4) Also, to activate Headlines you "need" to chmod 777 the "cache" directory, otherwise headlines won't work.
....
NOTE: If you want to edit config.php file from web browser remember to chmod 666 the file config.php or your changes will not be saved! If can't execute chmod just edit the file by hand and re-upload it to your server".

Bueno, aqui nos están diciendo que si queremos utilizar el "administrador de archivos" hay que asignar permisos 666 a todos los archivos, es decir, ya sabemos, permisos de lectura y escritura para TODOS los usuarios (owner, group, other) y 777 a todos los directorios (permiso para listar archivos, subir archivos, acceder archivos en el directorio, a los tres grupos de usuarios).

Para activar las headlines chmod 777 el directorio cache: listar archivos, subir archivos, acceder archivos en el directorio, a los tres grupos de usuarios.

Para modificar las preferencias de nuestra página via web (a traves de admin.php) debemos asignar a config.php permiso 666, es decir, permisos de lectura y escritura. De otra forma, si no tiene permisos de escritura, no se guardaran los cambios.

Materialmente, como se hace?

WS_FTP: click derecho sobre el archivo o directorio, y elegir "chmod" en el menu emergente. O tambien, click derecho y elegir del menu "SITE", y en la barra que sale escribir el comando UNIX, por ejemplo, "chmod 666 config.php".

CuteFTP: click derecho sobre el archivo o carpeta y elegir "Change file attributes" del menu emergente. Para ver los permisos en la ventana, click derecho sobre la ventana y elegir "Long listing".

Telnet: Conectados al servidor, simplemente tecleamos chmod 666 config.php

HTML-kit Selecciona el archivo en el worksplace; click en el botón secundario del ratón y selecciona Set permissions. Obtendras una ventana donde podrás fijar el valor CHMOD chequeando casillas con los permisos, o bien introduciendo directamente su traducción numérica

COMANDOS FTP (File Transfer Protocol) segun RFC 959

Fuente: RFC 959 original :: castellano

ORDENES DE CONTROL DE ACCESO

 

USER (nombre de usuario)
El argumento es una cadena de caracteres que identifica al usuario. Esta identificación es la que requiere el servidor para acceder a su sistema de ficheros. Normalmente esta será la primera orden a transmitir una vez establecida la conexión. El servidor puede requerir información adicional como una contraseña o cuenta. Los servidores pueden permitir una nueva orden USER durante la conexión para cambiar el control de acceso o la información de la cuenta. Esto permite continuar una misma sesion con otra identidad.
PASS (contraseña)
El argumento es una cadena de caracteres contraseña del usuario. Esta orden debe seguir inmediatamente a la orden USER y, completa la identificación del usuario para el control de acceso
ACCT (account, cuenta)
El argumento es una cadena Telnet identificando la cuenta del usuario. Esta orden no está necesariamente relacionada con la orden USER, ya que algunos ordenadores pueden requerir una cuenta para acceder y otros sólo para cierto tipo de acceso, como almacenar ficheros. En este último caso, la orden se puede enviar en cualquier momento.
Hay códigos de respuesta para diferenciar automáticamente estos casos: cuando se requiere información de la cuenta, la respuesta a una orden PASS correcta es el código 332. Por Otra parte, si NO se requiere esta información, la respuesta a una orden PASS correcta es 230
CWD (Cambio de directorio de trabajo)
Esta orden permite al usuario trabajar en un directorio o conjunto de datos diferente
CDUP (Cambio al directorio padre)
Version simplificada de CWD, para subir de directorio.
SMNT (Montar directorio)
permite al usuario montar un sistema de ficheros diferente sin alterar la información de entrada o de cuenta. Los parámetros de transferencia permanecen sin cambios. El argumento es un nombre de ruta especificando un directorio o alguna otra agrupación de ficheros dependiente del sistema
REIN (Reinicializar)
Termina una sesion de USER, descargando todos los datos del entrada/salida y la información de cuenta, excepto que si hay alguna transferencia en proceso permite que termine. Todos los parámetros se inician con sus valores por defecto y la conexión de control se deja abierta. El estado alcanzado es idéntico al que se tiene inmediatamente después de abrir la conexión de control.
QUIT (Salir)
Termina una sesión de USER y si no hay en proceso ninguna transferencia, cierra la conexión de control. Si hay una transferencia de fichero en proceso, la conexión permanecerá abierta hasta que el servidor envíe una respuesta con el resultado de la transferencia y luego se cierra.

PARAMETROS DE TRANSFERENCIA (no usuales)

PORT (Puerto de datos)
especificación del ordenador-puerto, para el puerto que será usado en la conexión de datos. Hay valores por defecto, y bajo circunstancias normales, esta orden y su respuesta no son necesarias. Si se usa esta orden, el argumento es la union de una dirección IP (32 bits) y un puerto TCP (16 bits).
PASV (Pasivo)
Solicita al servidor que escuche en un puerto de datos distinto del puerto por defecto, y espere a recibir una conexión en lugar de iniciar una al recibir una orden de transferencia. La respuesta a este comando incluye la dirección IP y el puerto donde este servidor está esperando a recibir la conexión.
TYPE (tipo de representación)
Especifica un tipo de representación: A - ASCII E - EBCDIC I - Imagen L -tamaño de byte-
STRU (Estructura de fichero)
Un único carácter Telnet especificando una estructura de fichero de las descritas en la sección Representación de Datos y Almacenamiento: F - Fichero (sin estructurar en registros) R - Estructurado en registros P - Estruturado en páginas. La estructura por defecto es Fichero.
MODE (Modo de transferencia)
un único carácter Telnet especificando un modo de transferencia: S - Flujo B - Bloque C - Comprimido

COMANDOS DE SERVICIO

RETR (Recuperar)
Hace que el server-DTP transfiera una copia del fichero especificado en el nombre de ruta
STOR (Almacenar)
Hace que el servidor lea los datos transferidos por la conexión de datos y los guarde en un fichero en el servidor. Si el fichero especificado en el nombre de ruta existe en el servidor, su contenido se debe reemplazar con los datos recibidos. Se crea un fichero nuevo en el servidor si el indicado no existía ya.
STOU (Almacenamiento Unico
Igual que STOR sólo que el fichero resultante se crea en el directorio actual con un nombre único para ese directorio
APPE (Añadir)
Si el fichero especificado en el nombre de ruta existe, los datos se añaden a ese fichero; si no, se crea un fichero nuevo en el servidor
ALLO (Solicitar espacio)
Reserva suficiente espacio de almacenamiento en el servidor para recibir el nuevo fichero. A continueción de esta orden se deberá indicar una orden STOR o APPE
REST (Recomenzar)
El argumento representa un marcador del servidor a partir del cual debe recomenzar la transferencia. La orden no realiza la transferencia del fichero, pero hace que el puntero de lectura o escritura del fichero se sitúe a continuación del punto indicado. A continuación de esta orden se debe enviar la orden de servicio FTP apropiada que hará que continúe la transferencia del fichero
RNFR (Renombrar de)
indica el fichero que queremos cambiar de nombre en el servidor
RNTO (Renombrar a)
especifica el nuevo nombre para el fichero indicado mediante el comando RNFR. Las dos órdenes seguidas hacen que el fichero cambie de nombre
ABOR (abortar)
pide al servidor que interrumpa la orden de servicio FTP previa y cualquier transferencia de datos asociada. Hay dos posibles casos para el servidor al recibir esta orden: (1) la orden de servicio FTP está ya terminada, o (2) aún está en ejecución. En el primer caso, el servidor cierra la conexión de datos (si está abierta) y devuelve una respuesta 226 indicando que la orden de interrumpir se ha procesado correctamente. En el segundo caso, el servidor interrumpe el servicio FTP en proceso y cierra la conexión de datos, devolviendo una respuesta 426 para indicar que la solicitud de servicio terminó anormalmente. Luego, el servidor envía una respuesta 226 para indicar que la orden de interrumpir se ha procesado correctamente.
DELE (Borrar)
borra en el servidor el fichero indicado en el nombre de ruta
RMD (Borrar directorio)
borra en el servidor el directorio indicado
MKD
Borra el directorio del servidor especificado
PWD
Muestra el directorio de trabajo del servidor
LIST
envia una listado de los ficheros a través del proceso de transferencia de datos pasivo. Si el nombre de ruta u otra agrupación de ficheros, el servidor debe transferir una lista de los ficheros en el directorio indicado. Si el nombre de ruta especifica un fichero, el servidor debería enviar información sobre el fichero. Si no se indica argumento alguno, implica que se quiere listar el directorio de trabajo actual o directorio por defecto
NLST (Listar nombres)
Envia listado de directorio desde el servidor. El nombre de ruta indica un directorio u otra agrupación de ficheros específica del sistema; si no hay argumento, se asume el directorio actual
SITE (Parametros del sistema)
Proporciona servicios específicos propios del sistema del servidor que son fundamentales para transferir ficheros pero no lo suficientemente universales como para ser incluídos como órdenes en el protocolo
SYST
devuelve el tipo de sistema operativo del servidor
STAT
el servidor devolverá información general del estado del proceso servidor FTP
HELP
el servidor envia información sobre la implementación del FTP
NOOP (No operacion)
No hace nada más que provocar que el servidor envíe una respuesta OK

 
Fuente: http://www.ignside.net/man/ftp/

Escribe un comentario

Tu comentario