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


 
 
 
 
 
Abdelouafi Omar Taoufik