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