domingo, 12 de junio de 2011

Lección 4 - Ser Un Hacker

SERVICIOS Y CONEXIONES 
Introducción 
El objetivo de esta lección se basa en dar a los estudiantes un conocimiento sobre los servicios básicos que utilizan las redes para proporcionar e intercambiar información. Asimismo, en esta lección se presentarán algunos de los métodos que utilizan los ordenadores personales y las redes de área local para conectarse con otras redes; es decir, se analizarán distintas formas de conexión entre ordenadores y redes que conforman lo que se conoce como Internet. 
Servicios
 
Si tienes un ordenador personal, sabrás que existe cierta información útil en tu ordenador, 
aunque puede ser que no demasiada. También sabes que muchas más personas, incluso 
millones de personas también tienen ordenadores, por lo que sus ordenadores también 
pueden tener cierto tipo de información útil. 
Igualmente, es muy fácil suponer que muchas de esas personas puedan tener información en 
sus ordenadores que podría ser interesante para ti. Pero el problema radica en cómo puedes 
acceder a toda esa información útil que estará en los ordenadores de otras personas. 
Los propios ordenadores pueden comunicarse entre ellos de manera fácil, usando sus puertos 
y utilizando distintos protocolos de comunicación diseñados para ello, pero esto no es de 
mucha utilidad para tí. Esto es debido a que es muy difícil entender las cadenas de bits que 
se intercambian los ordenadores entre ellos. Es necesario que exista alguna forma para que el 
ordenador pueda interpretar la informacion que recibe de los otros ordenadores y la 
presente de manera que el usuario pueda entenderla. 
Los programas que utilizan los ordenadores para traducir los datos de manera que puedas 
entenderlos y sean útiles son lo que llamaremos servicios. Estos servicios permiten ver páginas 
web, intercambiar correos electrónicos, chatear e interaccionar con ordenadores remotos de 
muchas otras formas. 
Tu ordenador es el ordenador local y utiliza programas llamados servicios para interpretar la 
información que recibes. Los otros ordenadores son los ordenadores remotos y utilizan 
programas llamados servidores para proporcionar esta información a tu ordenador. 

HTTP y la Web 

Cuando se habla de ‘Internet’, lo primero en lo que piensan la mayoría de personas es en la 
World Wide Web (WWW). Pero la World Wide Web, o simplemente la Web, no es Internet. En 
realidad, es un método que utiliza Internet para intercambiar información entre ordenadores. 
La web utiliza http, que son las siglas de Hypertext Transfer Protocol, y los servicios conocidos 
como navegadores web y servidores web para intercambiar información en forma de 
páginas web entre ordenadores locales y remotos. 
En el ordenador local dispones del navegador web. Se envía la información del ordenador 
remoto a tu ordenador local mediante el protocolo http. El navegador web interpreta esta 
información y la muestra en tu ordenador local en forma de páginas web. 
La parte hipertexto del protocolo http se refiere a la forma no lineal de presentar la 
información. Los textos se suelen leer de manera lineal: la palabra 2 va después de la palabra 
1, la frase 3 sigue a la frase 2, el párrafo 4 va después del párrafo 5, etc. En cambio, la idea 
del hipertexto se basa en permitir ver la información de manera no lineal. Esta es la gran 
diferencia entre el hipertexto y los métodos antiguos a la hora de presentar la información. 
Con el hipertexto, las palabras y las ideas se pueden conectar, no sólo con las palabras que 
las rodean directamente, sino también con otras palabras, ideas o imágenes. Además, el 
hipertexto no está solo restringido a la Web. La mayoría de procesadores de texto permiten 
crear páginas en formato web o http para guardar localmente. Estas páginas se puede leer 
utilizando tu navegador web y funcionan como cualquier página web, con la particularidad 
que están guardadas en tu ordenador local, en vez de estar en un ordenador remoto. 
En tu ordenador local utilizas un programa cliente llamado navegador web. Al contrario de 
lo que puedes pensar, en el mercado existen distintos navegadores web, disponibles tanto 
para Windows como para Linux. Por ejemplo, existe el navegador Internet Explorer de 
Microsoft, el navegador Netscape, los navegadores Mozilla y Mozilla Firefox… 
Figura 1: Logos de Microsoft Internet Explorer, Netscape, Mozilla y Mozilla Firefox 
También puedes crear tu propia página web. La manera más fácil para hacerlo es utilizar 
uno de los procesadores de texto más comunes como, por ejemplo, OpenOffice, Microsoft 
Word o Word Perfect. Estos programas permiten crear páginas web sencillas, combinando 
texto, hipertexto e imágenes. Muchas personas han creado páginas web útiles, ingeniosas e 
innovadoras simplemente con estas herramientas. 
Pero estas páginas no son ‘flashy’, es decir, no tienen contenidos flash. ‘Flashy’ significa que 
la página web dispone de animaciones, instrucciones que se ejecutan sin la interacción del 
usuario (scripts), etc. Esto también significa invertir grandes cantidades de dinero en un 
programa de diseño de páginas web selecto. Estos programas incluyen otros programas y te 
permiten realizar muchas cosas, aunque la creación de páginas es más compleja. 
Una vez diseñadas y realizadas las páginas, necesitas un ordenador para poderlas tener 
guardadas y que puedan ser consultadas. 
El ordenador remoto tiene que tener instalado un servidor web. Es posible que el servidor web 
esté instalado en tu propia casa, exactamente en tu propio ordenador, pero esta opción 
tiene varios inconvenientes. La primera desventaja es lo que se llama persistencia: la información que se guarda en un servidor web solo está disponible si este servidor está 
enchufado, funcionando correctamente y tiene una conexión abierta. Por ello, si quieres 
tener un servidor web funcionando en tu propia habitación, tendrías que dejar el ordenador 
encendido todo el tiempo; además, tendrías que asegurarte que el programa servidor web 
funcione correctamente todo el tiempo, por lo que deberías resolver todos los problemas 
hardware, controlar virus, gusanos y otros ataques, así como pelearte con los inevitables fallos 
del propio programa. Por otro lado, deberías mantener una conexión a Internet siembre 
abierta. Es por ello que muchas personas prefieren pagar a alguien para que les haga todo 
este trabajo. Es lo que se denomina web hosting. 
Una empresa de web hosting almacena tu página web en sus ordenadores y se ocupa de 
todo. Una empresa de web hosting perfecta debería tener múltiples servidores redundados y 
una política de copias de seguridad periódica, de manera que no se pierda el servicio por 
culpa de fallos de hardware; también debería tener un equipo de soporte para mantener el 
funcionamiento del servicio y protegerlo de ataques de hackers o fallos de programa; 
además, debería tener un número de conexiones abiertas a Internet. Así pues, tu único 
trabajo se basa en diseñar tu página web, almacenarla en el servidor de la compañía de 
hosting, apagar tu ordenador, descansar y tu página seguirá estando disponible para el 
mundo entero. 
También es posible encontrar organizaciones que ofrecen un hospedaje de web gratuito. 
Algunas de estas organizaciones obtienen beneficios por anuncios publicitarios, de manera 
que cualquiera que quiera visitar tu página web, primero debe ver dichos anuncios, aunque 
no tiene que comprar nada. 
E-mail – POP y SMTP 
Seguramente, el segundo aspecto más visible de Internet es el correo electrónico. En tu 
ordenador, utilizas un cliente de correo electrónico, que se conecta a un servidor de correo. 
Cuando configuras tu cuenta de correo electrónico, dispones de un nombre único en forma 
de usuario@dominio. También debes configurar una contraseña para poder acceder a tu 
correo electrónico. 
El protocolo SMTP, que se utiliza para enviar correos electrónicos, no necesita ninguna 
contraseña. Esto no era un inconveniente cuando se diseñó el protocolo, puesto que Internet 
era un mundo pequeño sin problemas, pero ahora se ha convertido en un agujero que 
permite el uso no autorizado de servidores de correo y otras artimañas como el llamado ‘email 
spoofing’, donde alguien envía un correo electrónico que parece que venga de otra 
dirección. Sin embargo, otros servidores de correo minimizan este defecto implementado un 
paso de autenticación intermedio. 
Otro aspecto importante a destacar es que, aunque el correo esté protegido mediante 
contraseñas, el correo electrónico no es una buena manera para enviar información segura. 
Muchos clientes POP y servidores necesitan comunicar tu contraseña sin encriptar a tu 
servidor de correo. Esto no significa que cualquiera que reciba un correo tuyo también 
recibe tu contraseña; pero sí significa que cualquiera con un poco de conocimiento y 
algunas herramientas como sniffers o analizadores de protocolos puede descubrir tu 
password. 
(Las ideas para securizar tu correo están explicadas en la lección 7: Seguridad del correo 
electrónico) 

IRC 
IRC son las siglas de Internet Relay Chat. IRC es donde la naturaleza irregular de Internet se 
muestra de manera más clara. En IRC, cualquiera que tenga algo que decir tiene la 
oportunidad de decirlo. 
Puede ser que estés familiarizado con los chat rooms utilizados en ciertos servicios online. IRC 
es como un chat room donde no hay reglas ni hay estándares. Puede ser que en un canal 
IRC encuentres aquello que estabas buscando o puede ser que encuentres algo que nunca 
habías pensado que existía. 
Todas las reglas que has oído sobre chat rooms también son aplicables a los canales IRC. 
Nunca le digas a nadie tu propio nombre. Nunca des tu número de teléfono, tu dirección o 
tus números de cuentas bancarias. Pero pásatelo bien! 
Ejercicios 
En la lección 0 puedes encontrar ejercicios básicos sobre chats. Los siguientes ejercicios son 
una continuación de los ejercicios anteriores. 
A. Busca 3 canales IRC sobre seguridad a los que sí puedas acceder. ¿Cómo puedes 
apuntarte a una conversación pública? ¿Qué deberías hacer para conversar 
privadamente con una sola persona a la vez? 
B. ¿Puedes intercambiar ficheros en estos canales IRC? ¿Cómo podrías hacerlo? 
¿Intercambiarías siempre ficheros por un canal IRC? ¿Por qué? 
FTP 
FTP son las siglas de File Transfer Protocol. Tal como su nombre indica, este protocolo permite 
transmitir ficheros entre un ordenador local y otro remoto. Aunque se puede utilizar para 
transferencia de ficheros privados, se suele asociar normalmente a servidores ftp anónimos 
gratuitos que ofrecen acceso público a colecciones de ficheros. 
Anonymous ftp ha sido uno de los métodos más utilizados por la mayoría de usuarios de 
ordenadores para intercambiar ficheros en Internet. Aunque se utilizan muchos servidores ftp 
anónimos para distribuir ficheros de manera ilegal y posiblemente infectados de virus, otros 
servidores se utilizan de manera legal para distribuir programas y ficheros. Se pueden 
encontrar servidores que ofrecen servicios ftp anónimos mediante distintos métodos, incluso 
mediante herramientas de búsqueda en Internet. 
Actualmente existen numerosos servidores ftp anónimos que permiten acceder a sus ficheros 
utilizando el protocolo ftp mediante un navegador web. 
Ejercicios 
Anonymous FTP 
Tanto Windows como Linux disponen de un cliente ftp básico, basado en la línea de comandos; para acceder a él, abre un prompt de comandos o una ventana de terminal y teclea: ftp 
En el prompt ftp>, puedes escribir help, para obtener una lista de comandos disponibles. 
ftp> help 
Commands may be abbreviated. Commands are: 
! 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 
Algunos comandos importantes son: 
ftp> open <dominio.nombre> 
Que permite conectarte al servidor ftp llamado dominio.nombre. 
ftp> ls 
o bien 
ftp> dir 
Que lista los contenidos del directorio de trabajo remoto. 
ftp> cd <newdir> 
Que cambia el directorio de trabajo remoto al directorio llamado newdir. 
ftp> get <filename> 
Que descarga un fichero llamado filename del ordenador remoto al ordenador 
local. 
ftp> mget <file1> <file2> <file3> 
Que descarga los ficheros llamados file1, file2 y file3 del ordenador remoto al 
ordenador local. 
ftp> close 
Que te desconecta del servidor ftp remoto. 
ftp> quit 
Que cierra tu cliente ftp local. 
Para conectarse a un servicio anonymous ftp, primero debes abrir tu cliente ftp 
local: ftp 
Utiliza el comando open para conectarte al servidor. El comando: 
ftp> open <anon.server> 
conecta tu cliente ftp con el servidor anonymous ftp llamado anon.server. 
Cuando el servidor ftp remoto hace su conexión, se identificará a tu cliente local 
y luego pedirá un nombre de usuario. 
Connected to anon.server. 
220 ProFTPD Server (Welcome . . . ) 
User (anon.server
none)): 
Para la mayoría de servidores ftp anónimos, puedes entrar la palabra anonymous como 
nombre de usuario o username. El servidor ftp remoto reconocerá que te estás conectando 
como un usuario anónimo y te dará instrucciones sobre el código a utilizar como contraseña. 
331 Anonymous login ok, send your complete email address as your 
password. 

Password

En muchos casos, el servidor remoto no valida la dirección de correo entrada como 
contraseña, por lo que no te denegará el acceso al servidor aunque entres una 
dirección incorrecta. Después de introducir la contraseña, el servidor remoto enviará un 
mensaje de bienvenida a tu ordenador local. 
230- 
Welcome to ftp.anon.server, the public ftp server of anon.server. 
We hope you find what you're looking for. 
If you have any problems or questions, please send email to 
Thanks! 
230 Anonymous access granted, restrictions apply. 
Ahora, ya puedes utilizar los comandos ls, dir, cd y get para descargar ficheros desde 
el servidor remoto a tu ordenador local. 
Utilizando estos ejemplos, comprueba si puedes descargarte un fichero desde un servidor 
anonymous ftp. Utiliza tu navegador web y busca una herramienta para encontrar un servidor ftp anonymous que tenga una copia de "Alicia en el País de las Maravillas”; luego, 
utilizando el cliente ftp de línea de comandos (no tu navegador web) intenta descargarte el 
fichero. 

Telnet y SSH 

Telnet permite a un usuario local enviar una gran variedad de comandos a un ordenador 
remoto. Este hecho permite que el usuario local pueda dar instrucciones a la máquina 
remota para que realice ciertas funciones y devuelva los datos al ordenador local, casi 
como si se estuviera sentado delante del teclado del ordenador remoto. 
Tanto Windows como Linux disponen de un cliente telnet básico; para acceder a él, solo hay 
que abrir un prompt de comandos o una ventana de emulación de terminal y teclear: 
telnet. 
Para acceder a un servidor telnet, será necesario que el administrador del sistema te 
proporcione una cuenta y una contraseña, debido a que el programa telnet te permite 
realizar un gran número de acciones. Telnet se utilizaba en el pasado para que los 
administradores de sistema pudieran acceder y controlar remotamente los servidores, así 
como para proporcionar soporte a los usuarios a distancia. 
Telnet también se puede utilizar para otras muchas tareas como, por ejemplo, enviar y recibir 
correos electrónicos, ver el código fuente de páginas web,… aunque también hay que decir 
que telnet es una de las maneras más difíciles de conseguirlo y hay herramientas más fáciles 
para hacer estas mismas tareas. Telnet se puede utilizar para cometer muchas acciones 
ilegales e inmorales, pero también hay razones legítimas para utilizarlo. Puedes utilizar telnet 
para consultar tu correo electrónico y ver, no sólo el tema del correo, sino también las 
primeras líneas, lo que te facilitará decidir si borrar o no dicho correo sin tener que descargar 
todo el mensaje. 

DNS 

De la misma manera que cuando quieres llamar a un amigo necesitas saber su número de 
teléfono, cuando quieres conectarte a cierto ordenador remoto necesitas saber su 
identificación. Los ordenadores se identifican mediante las direcciones llamadas IP y es muy 
importante que no exista ninguna dirección duplicada, de la misma manera que no existen 
dos personas con el mismo número de teléfono. 
Las direcciones IP son números muy manejables para los ordenadores pero nosotros 
preferimos utilizar nombres. Por ejemplo, para acceder a la web de Enginyeria La Salle 
simplemente recordamos que su nombre es www.salleurl.edu. En cambio, nuestro ordenador 
también debe conocer qué dirección IP tiene el servidor web de Enginyeria La Salle. Así 
pues, los ordenadores deben conocer la equivalencia entre direcciones IP y nombres. Una 
posibilidad sería que tu ordenador almacenase la equivalencia nombre-dirección IP de 
todos los ordenadores del mundo, pero esto no es demasiado viable. 
Por ello se utiliza el protocolo DNS. DNS son las siglas de Domain Name Service y es el servicio 
que se encarga de traducir los nombres de dominio que conoces a las direcciones IP que 
necesita tu ordenador y viceversa. De esta manera, cuando tecleas el nombre 
www.nombrededominio.extension en tu navegador web, tu propio navegador contacta 
con el servidor DNS que tengas configurado en tu sistema (normalmente suele ser la dirección de tu propio ISP). Si tu ISP tiene ya la dirección IP correspondiente al nombre que le 
pides, se la envía a tu ordenador. Si no tiene hecha la resolución, el ISP hará una petición de 
búsqueda directamente a los servidores DNS del dominio o a los servidores raíz de la 
extensión, para obtener la dirección IP final. Cuando el ISP tenga la dirección, se la enviará a 
tu ordenador y así podrás acceder a la página web que habías solicitado. 

Ejercicios

Para profundizar sobre los conocimientos adquiridos de DNS: 
a. Accede a una ventana de MS-DOS. 
b. Identifica la dirección IP de tu máquina. ¿Qué comando has utilizado? ¿Qué 
dirección IP tienes? 
c. Identifica la dirección IP del servidor DNS que tienes configurado. ¿Qué comando 
has utilizado? ¿Qué dirección IP tiene el servidor DNS? 
d. Haz un ping a www.isecom.org . ¿Recibes una respuesta afirmativa? ¿Qué 
dirección IP contesta al ping? 
e. Entra en la configuración de red de tu ordenador y borra la dirección del servidor 
DNS que tengas configurada (te lo habías apuntado en el paso c, así que no hay 
problema). 
f. Vuelve a hacer un ping a www.isecom.org. ¿Recibes la misma respuesta que en 
el paso d? ¿Por qué? 
g. Haz un ping a la dirección IP que habías apuntado en el paso d. ¿Recibes la 
misma respuesta que en el paso d? ¿Por qué? 
h. Entra otra vez en la configuración de red de tu ordinador y configura la dirección 
del servidor DNS que tenías configurada previamente. Vuelve a hacer los pasos f y 
g. ¿Qué respuestas obtienes ahora? 

DHCP 

DHCP (Dynamic Host Configuration Protocol) es el protocolo de configuración dinámica de 
hosts. Tal como indica su nombre, este protocolo permite la configuración de los parámetros 
de red de las estaciones de manera dinámica. Esto es muy útil a la hora de configurar 
grandes redes de ordenadores, puesto que no hace falta configurar cada ordenador 
individualmente. Simplemente es necesario disponer de un servidor DHCP, donde se 
configuran los parámetros de red que se asignarán a los clientes. Cuando cada cliente se 
conecte a la red, lo primero que hará es pedirle los parámetros de configuración al servidor 
DHCP. A partir de entonces, el cliente ya tendrá toda la configuración de red actualizada 
para poder trabajar. 

Conexiones 

¿Qué son los módems y para qué sirven? Los módems trabajan a velocidades de 
bits/segundo. Una velocidad de transmisión alta es aconsejable, aunque también depende 
de la tarea a realizar. Hay ciertas aplicaciones, como por ejemplo la conexión a un servidor 
telnet, en las que también serviría un módem anticuado de hace más de veinte años que 
funcionase a una velocidad de 300 bits/segundo (suponiendo que tu velocidad de escribir 
con el teclado no fuese muy buena). Sin embargo, aplicaciones que necesitan mucho 
ancho de banda como por ejemplo, la transmisión de vídeo pueden llegar a colapsar 
incluso los cable modems más potentes. 

ISPs 

Realmente, cuando te conectas a Internet, no sólo estás llamando a Internet. Necesitas 
acceder a un servidor que conectará tu ordenador a Internet. Este servidor se encargará de 
hacer todo el trabajo duro, estando allí todo el tiempo. 
La presencia de un ISP en Internet es constante y tiene servidores donde se ejecutan los 
servicios que utilizarás. Entonces, tú mismo puedes ejecutar dichos servicios. Podrías disponer 
de un servidor de correo en tu propio ordenador local, pero esto requeriría que tu ordenador 
estuviera enchufado y conectado a la red durante todo el tiempo, simplemente esperando 
a aquellos instantes esporádicos de intercambio de información. Sin embargo, un ISP refuerza 
los esfuerzos de un gran número de usuarios, ya que el servidor de correo estará trabajando 
continuamente. Además, los ordenadores de los proveedores de servicios de Internet o ISPs, 
estarán conectados con otros ordenadores de Internet utilizando conexiones de alta 
velocidad. Los ordenadores de los ISPs utilizan conexiones de alta velocidad para conectarse 
a puntos de acceso de red, llamados NAP (Network Access Point). Además, dichos NAPs se 
interconectan utilizando conexiones de mucha más alta velocidad, que forman la columna 
vertebral de Internet. 

Servicio de telefonía tradicional 

El servicio de telefonía tradicional también es conocido como POTS (Plain Old Telephone 
Service) y todavía es el método más ampliamente utilizado para acceder a Internet. Su 
primer inconveniente es su baja velocidad, pero en muchos casos se utiliza este sistema 
debido a su amplia disponibilidad. La mayoría de proveedores de servicio de Internet tienen 
un gran número de números de acceso local. Y casi todo el mundo tiene una línea de 
teléfono en casa. En teoría, con un módem analógico y un bolsillo lleno de monedas, 
podrías conectarte desde casi cualquier cabina de teléfono pública. 
Pero el servicio de telefonía tradicional es lento. Los módems analógicos más rápidos 
funcionan a una velocidad de 56kbps. Pero este dato, en realidad, no es cierto del todo. Las 
restricciones de potencia limitan la velocidad máxima de bajada a 53kbps y, realmente, esta 
velocidad efectiva es mucho menor. 
Sin embargo, el servicio de telefonía está ampliamente disponible y los proveedores de 
servicios de Internet basados en acceso telefónico son bastante baratos e, incluso en 
algunas situaciones, proporcionan un acceso gratuito. No querrías comerciar con películas.

Lección 3 - Ser Un Hacker

PUERTOS Y PROTOCOLOS 

Objetivos 

En la presente lección se parte de unos conocimientos básicos sobre Windows y Linux, para 

luego aplicarlos a los conocimientos sobre qué son y para qué sirven los puertos y protocolos. 
Al término de la lección el alumno debe tener unos conocimientos básicos sobre: 
- Conceptos básicos de redes. 
- Direccionamiento IP. 
- Puertos y Protocolos. 


Conceptos básicos de redes 

Dispositivos 

Antes de empezar a explicar protocolos y puertos, hay que familiarizarse con los iconos de los 

dispositivos más comunes que se ven en los esquemas básicos. Éstos son: 

Topologías 

Con estos dispositivos se pueden crear las denominadas redes de área local o LAN (Local 

Area Network). Con una LAN se puede tener una comunicación eficaz de dispositivos tales 
como ordenadores e impresoras para compartir recursos, se puede dar acceso a Internet 
con total control del administrador, etc. 
A la hora de diseñar una LAN, se puede optar por alguna de las siguientes topologías físicas: 
En la primera, topología de Bus, se tienen todos los ordenadores conectados a un único 
medio de transmisión que a su vez está conectado a unas terminaciones a ambos lados. 
Todos los ordenadores se ven entre sí. 
En la configuración en Anillo se conecta un ordenador al siguiente, y el último al primero, de 
esta manera sólo se ve un ordenador con el contiguo. 
En la topología en Estrella se conectan todos los terminales a un único punto central y es 
éste el que se encarga de retransmitir la información. Si se conectan varios puntos centrales 
entre sí, se obtiene una topología de Estrella Extendida. 
Por lo contrario, si se van concatenando dispositivos a diferentes niveles se obtiene una 
topología Jerárquica. 

Modelo TCP/IP 
Introducción 

El modelo TCP/IP fue desarrollado por el DoD (Department of Defense) de los EUA y DARPA 

(Defense Advanced Research Project Agency) en la década de los 70. El modelo TCP/IP fue 
pensado como un estándar abierto para poder conectar dos máquinas cualesquiera, todo el 
mundo puede utilizarlo y es en el que se basa Internet. 

Capas TCP/IP 
El modelo TCP/IP define cuatro capas totalmente independientes en las que divide el 

proceso de comunicación entre dos dispositivos. Las capas por las que pasa la información 
entre dos estaciones o máquinas son las siguientes: 

Aplicación 

Es la capa más cercana al usuario final y la que le proporciona servicios de red. Como es la 

capa superior, no da servicios a ninguna capa. Es la responsable de traducir los datos de la 
aplicación, programa, para que puedan ser enviados por la red. Sus funciones se resumen 
en: 
- Representación 
- Codificación 
- Control de diálogo 
- Gestión de las aplicaciones de usuario 

Transporte 

La capa de transporte establece, mantiene y termina circuitos virtuales, proporciona 

mecanismos de control de flujo y permite las retransmisiones y proporciona mecanismos de 
detección y corrección de errores. La información que le llega de la capa de aplicación la 
divide formando diferentes segmentos. El direccionamiento se realiza a través de puertos. Sus funcionalidades básicas son:  
- Fiabilidad 
- Control de flujo 
- Corrección de errores 
- Retransmisión 
3.3.2.3 IP 
Divide los segmentos de la capa de transporte en paquetes y los envía por la red. No 
proporciona fiabilidad en las conexiones, de esto ya se ocupa la capa de transporte. Realiza 
un direccionamiento lógico de red mediante las direcciones IP. 
Es la capa responsable de proporcionar conectividad entre usuarios. Selecciona la mejor 
ruta a elegir entre origen y destino. 

Acceso a Red 
Se encarga de controlar el acceso al nivel físico utilizado y enviar la información por el 

mismo. Transforma a información básica (bits) toda la información que le llega de las capas 
superiores y la prepara para que se pueda enviar por el medio. El direccionamiento físico de 
la red lo hace mediante direcciones MAC. 

Protocolos 

Para poder enviar información entre dos máquinas, es necesario que ambas estaciones 

hablen el mismo lenguaje para que se entiendan entre ellas. A este lenguaje se le llamará 
protocolo. 
Los protocolos más representativos que figuran en la capa de Aplicación de la torre TCP/IP 
son: 
- File Transfer Protocol (FTP) 
- Hypertext Transfer Protocol (HTTP) 
- Simple Mail Transfer Protocol (SMTP) 
- Domain Name System (DNS) 
- Trivial File Transfer Protocol (TFTP) 
Los protocolos de la capa de Transporte son: 
- Transport Control Protocol (TCP) 
- User Datagram Protocol (UDP) 
El protocolo más conocido de la capa de Internet es: 
- Internet Protocol (IP) 
El protocolo utilizado en la mayoría de redes locales en la capa de Acceso es: 
- Ethernet 
A continuación se describirán los protocolos anteriormente comentados y su puerto asociado 
de la capa de Transporte. Más adelante se detallarán todos los puertos y su significado. 

Protocolos de la capa de Aplicación 

El protocolo FTP es útil para la transmisión de archivos entre dos máquinas. Utiliza TCP para 

crear una conexión virtual para la información de control, y luego crea otra conexión para el 
envío de datos. Los puertos utilizados son el puerto 20 y 21. 
El protocolo HTTP es para visualizar la mayoría de páginas web de Internet. Sus mensajes se 
distribuyen como los de correo electrónico. El puerto que se utiliza es el 80. 
El protocolo SMTP es un servicio de correo que se basa en el modelo de FTP. Transfiere 
mensajes de correo entre dos sistemas y provee de notificaciones de correo entrante. El 
puerto que se utiliza es el 25. 
El protocolo DNS es el que se encarga de reconocer el nombre de la máquina remota con la 
que se quiere establecer la conexión y traduce el nombre a su dirección IP. El puerto que se 
utiliza es el 53. 
El protocolo TFTP tiene las mismas funciones que el protocolo FTP pero funciona sobre UDP, 
con lo que hay mayor rapidez pero menor seguridad y confiabilidad. El puerto que se utiliza 
es el 69. 

Protocolos de la capa de Transporte 
Dentro de la capa de transporte existen dos protocolos que se utilizan para el envío de 

segmentos de información: 
- TCP: El protocolo TCP establece una conexión lógica entre puntos finales de 
la red. Sincroniza y regula el tráfico con lo que se conoce como "Three Way 
Handshake”. Controla el flujo para que no se pierdan los paquetes y evitar 
así una congestión en la red. Es un protocolo orientado a conexión. 
- UDP: El protocolo UDP es un protocolo de transporte no orientado a 
conexión que intercambia datagramas sin la utilización de ACK ni SYN que 
se utiliza como acuse de recibo en el caso de TCP. El procesamiento de 
errores y retransmisiones es soportado por los protocolos de capas superiores. 

Protocolos de la capa de Internet 

El protocolo IP sirve como protocolo universal para unir dos ordenadores en cualquier 

momento, lugar y tiempo. 
No es un protocolo orientado a conexión y no es confiable. 
Ofrece servicios de Best Effort: hará cuanto sea posible para que funcione correctamente. 
El protocolo IP determina el formato de la cabecera del paquete IP donde se incluye la 
dirección lógica y otras informaciones de control. 
3.3.4 Direcciones IP 
Las direcciones IP son los identificadores que se utilizan para diferenciar a cualquier 
dispositivo que se encuentre en la red. Cada dispositivo debe tener una dirección IP 
diferente para que no haya problemas de identidad dentro de la red. 
La dirección IP consta de 32 bits que se dividen en 4 octetos (8 bits) separándolos por puntos. 
Lógicamente se compone de una parte que identifica la dirección de red (network) a la que 
pertenece y una segunda parte que es su propio identificador dentro de esa red, dirección 
de máquina (host). 
Hay direcciones IP públicas y privadas. Las primeras deben ser únicas en todo Internet 
porque sino no sería posible el encaminamiento y por tanto la comunicación. En cambio, las 
direcciones privadas corresponden a redes de uso privado y que no tienen conexión alguna 
con otras redes, no tienen conexión a Internet. En las redes privadas hay que tener en 
cuenta que no se puede duplicar ninguna dirección IP en toda la red privada. 
Las direcciones IP privadas existentes y que están definidas por el organismo internacional 
IANA son las que se engloban en los márgenes siguientes: 
10.0.0.0 a 10.255.255.255 
172.16.0.0 a 172.31.255.255 
192.168.0.0. a 192.168.255.255 
Las direcciones IP se dividen en clases que dependen del tamaño asignado para la parte de 
red y el tamaño que corresponde a la parte de la máquina. 
Según el tamaño asignado a cada parte se podrán o crear más redes o albergar más 
dispositivos en cada red creada. Las clases existentes son: 
- Clase A: El primer bit es siempre cero, con lo que comprende las 
direcciones entre 0.0.0.0 a 126.255.255.255. Las direcciones de 127.x.x.x 
están reservadas para el servicio de loopback o localhost. 
- Clase B: Los dos primeros bits del primer octeto son ‘10’. Las direcciones 
que pertenecen a esta clase están comprendidas entre 128.0.0.0 y 
191.255.255.255. 
- Clase C: Los tres primeros bits del primer octeto son ‘110’. Las direcciones 
están comprendidas entre 192.0.0.0 y 223.255.255.255. 
- Clase D: Los cuatro primeros bits del primer octeto son ‘1110’. Las 
direcciones están comprendidas entre 224.0.0.0 y 239.255.255.255. Se 
utilizan para grupos multicast. Las restantes direcciones son para 
experimentación. A este último grupo se les puede encontrar como 
Clase E: Actualmente, para la diferenciación entre la parte de red y la parte de máquina no se 
utilizan las clases, sino que lo que se utiliza es la máscara. 
La máscara identifica con un ‘1’ binario la parte que es de red y con un ‘0’ binario la parte 
que es de máquina. Por lo tanto, para identificar una máquina, además de la dirección IP es 
necesario especificar una máscara de red: 
IP: 172.16.1.20 
Máscara: 255.255.255.0 
Se ha visto que las direcciones IP 127.X.X.X estaban reservadas y que no se pueden utilizar 
para identificar a ningún dispositivo. Del mismo modo existen otras direcciones de máquina 
que no se pueden utilizar, éstas son la dirección de red y la dirección de braodcast. 
La dirección de red es aquella en que la parte que identifica al dispositivo dentro de la red 
es toda ceros. Esta dirección no se puede utilizar ya que identifica a una red y, por lo tanto, 
nunca debe identificar a un dispositivo en concreto. 
IP: 172.16.1.0 
Máscara: 255.255.255.0 
La dirección de bradcast es aquella que los bits que identifican al dispositivo dentro de la red 
son todo unos. Esta dirección tampoco se puede usar ya que es la que se utiliza cuando se 
quiere enviar alguna información a todas las máquinas que pertenecen a una red en 
concreto. 
IP: 172.16.1.255 
Máscara: 255.255.255.0 
3.3.5 Puertos 
Tanto TCP como UDP utilizan puertos para pasarse información con las capas superiores. Con 
la definición de un puerto, es posible acceder a un mismo destino, un host, y aplicar sobre él 
distintos servicios. 
Con la utilización de los puertos los servidores son capaces de saber qué tipo de petición a 
nivel de aplicación le están solicitando, si es http o ftp, y pueden mantener más de una 
comunicación simultánea con diferentes clientes. 

Si se quiere acceder a la web de www.osstmm.org cuya IP es 62.80.122.203, como el servidor 
de WEB está en el puerto 80, lo que se está estableciendo es una conexión al denominado 
socket 
62.80.122.203:80 
Para entenderlo mejor, se puede hacer la analogía siguiente: pensemos que la dirección IP 
es como el puerto de Barcelona, donde llegan muchos barcos, y los puertos de las 
direcciones IP son cada uno de los muelles en los que van a parar cada barco. 
Para poder mantener una coherencia en los números de los puertos la IANA, organismo 
internacional regulador, establece que los puertos inferiores a 1024 se utilizan para los 
servicios comunes y el resto de números de puertos es para asignaciones dinámicas de 
programas o servicios particulares. 
A continuación se listan los puertos más utilizados: 
Asignación de Puertos 
Valor Nombre Descripción 
0 Reserved 
1-4 Unassigned 
5 rje Remote Job Entry 
7 echo Echo 
9 discard Discard 
11 systat Active Users 
13 daytime Daytime 
15 netstat Who is Up or NETSTAT 
17 qotd Quote of the Day 
19 chargen Character Generator 
20 ftp-data File Transfer [Default Data] 
21 ftp File Transfer [Control] 
22 ssh SSH Remote Login Protocol 
23 telnet Telnet 
25 smtp Simple Mail Transfer 
37 time Time 
39 rlp Resource Location Protocol 
42 nameserver Host Name Server 
43 nicname Who Is 
53 domain Domain Name Server 
67 bootps Bootstrap Protocol Server 
68 bootpc Bootstrap Protocol Client 
69 tftp Trivial File Transfer 
70 gopher Gopher 
75 any private dial out service 
77 any private RJE service 
79 finger Finger 

Asignación de Puertos 

Valor Nombre Descripción 

80 www-http World Wide Web HTTP 
95 supdup SUPDUP 
101 hostname NIC Host Name Server 
102 iso-tsap ISO-TSAP Class 0 
110 pop3 Post Office Protocol - Version 3 
113 auth Authentication Service 
117 uucp-path UUCP Path Service 
119 nntp Network News Transfer Protocol 
123 ntp Network Time Protocol 
137 netbios-ns NETBIOS Name Service 
138 netbios-dgm NETBIOS Datagram Service 
139 netbios-ssn NETBIOS Session Service 
140-159 Unassigned 
160-223 Reserved 

Encapsulación 

Para enviar, por ejemplo, un mail desde un ordenador a otro la información irá pasando una 

serie de transformaciones, es decir, la capa superior generará una serie de datos que será 
recogida por la capa inmediatamente inferior. La capa inferior cogerá la información que le 
han pasado y le añadirá una cabecera para poder agregar información suficiente para que 
la capa del mismo nivel del destino pueda entender qué debe hacer con aquella 
información. A este procedimiento recursivo se le conoce con el nombre de encapsulación. 
Cada capa hace una encapsulación de la anterior, hasta llegar a la última capa, la de 
enlace, que hace posible la transmisión de los datos por el medio físico de la LAN: cable, 
radio, etc. 
En el siguiente esquema se explica la encapsulación de una forma más gráfica: 
Cuando la información encapsulada llega al destino, éste sólo tiene que desencapsular la 
información realizando el procedimiento contrario. 

Ejercicios 

Ejercicio 1: Netstat 
El comando Netstat permite visualizar el estado de los puertos de un ordenador. Para 

poderlo ejecutar se tiene que abrir una ventana de MS-Dos y teclear: 
netstat 
En la salida por pantalla se pueden ver las conexiones actuales establecidas. Si se quiere que 
la salida esté en formato numérico se debe ejecutar: 
netstat –n 
Si lo que se desea es ver el estado tanto de las conexiones establecidas como de los puertos 
que están activos se debe ejecutar: 
netstat –an 
Para saber todas las opciones que se pueden añadir al comando netstat se puede ejecutar: 
netstat -h 
Se debe identificar qué puertos se usan de forma local y cuáles de forma remota. La 
segunda y la tercera columna determinan la dirección local y la remota. 
¿Por qué los números de puertos remotos son diferentes a los números locales? 
A continuación abrir el explorador con la página: 
http://193.145.85.202 
¿Qué conexión/conexiones nuevas aparecen? 
Abrir otro explorador con la página: 
http://193.145.85.203 
Si se vuelve a ejecutar el comando netstat: 
- ¿Por qué el protocolo http aparece en varias líneas? 
- ¿Qué diferencias existen entre cada una de ellas? 
- ¿Si hay varios exploradores abiertos como es el caso, cómo sabe para 
quién va la información de cada una de las páginas? 
- ¿Necesita diferenciarla? 
- Comenta la respuesta. 

Ejercicio 2: Puertos y protocolos 

Durante toda la lección se ha comentado que para diferenciar el servicio se usan diferentes 

puertos. ¿Cómo es que cuando se utiliza el navegador no se especifica ningún puerto? 
¿Qué protocolos se utilizan? 
¿Es posible que algún protocolo se utilice en más de una ocasión? 

Ejercicio 3: Mi primer servidor 

Para poder realizar este ejercicio primero es necesario conseguir el programa ‘netcat’ para 

windows. Se podrá conseguir si se accede a la página: 
http://www.atstake.com/research/tools/network_utilities/ 
Una vez se haya conseguido el programa se debe descomprimir, abrir una ventana de MSDos, 
acceder al directorio donde se encuentre y teclear: 
nc –h 
Con esto se pueden ver las múltiples opciones que se pueden especificar en el netcat. Si se 
desea crear un pequeño servidor: 
nc -l -p 1234 
Al ejecutar este comando se está haciendo que se abra el puerto 1234 y se permitan 
conexiones entrantes. Seguidamente teclear desde otra ventana de MS-Dos: 
netstat –a 
Se comprueba que ha aparecido un nuevo servicio escuchando en el puerto 1234. Para salir 
del servidor, se puede utilizar: CTRL-C 
Para poder decir que se ha implementado un servidor se necesita establecer el cliente 
asociado. Para ello se debe abrir una ventana de MS-Dos y, teniendo el servidor 
funcionando, ejecutar 
nc localhost 1234 
Con este comando se realizará una conexión hacia nuestro dispositivo utilizando el puerto 
1234. Si ahora se escribe cualquier palabra en cualquiera de las dos ventanas de MS-Dos, 
tanto cliente como servidor, se verá como esa información se transmite hacia el otro. 
Si se quiere que cada vez que se realice una conexión hacia el servidor se transmita al 
cliente cierta información, se deberá crear un fichero texto con la información que 
queramos transmitir, por ejemplo: "Bienvenido al servidor de Hacker High School”. Una vez 
creado dicho fichero, con el nombre test, se deberá activar el servidor con el comando: 
nc -l -p 1234 < test 
Desde otra ventana de MS-Dos se intenta acceder al servidor: 
nc localhost 1234 
En el momento que se conecta se puede observar cómo en el cliente aparece el texto 
introducido en el fichero test. A partir de este punto la relación cliente/servidor es la misma 
que en el caso anterior. 
¿Qué protocolo se ha usado para conectarte al servidor? ¿Permite netcat hacer lo mismo 
con otro protocolo? 

Lecturas recomendadas 
Si se desea tener más información sobre los temas que se han tratado en esta lección se 

pueden consultar los siguientes links, donde se ve de una forma más detallada toda la 
temática expuesta: 
http://www.oreilly.com/catalog/fire2/chapter/ch13.html 
http://www.oreilly.com/catalog/puis3/chapter/ch11.pdf 
http://www.oreilly.com/catalog/ipv6ess/chapter/ch02.pdf 
http://info.acm.org/crossroads/xrds1-1/tcpjmy.html 
http://www.garykessler.net/library/tcpip.html 
http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/ip.htm 
http://www.redbooks.ibm.com/redbooks/GG243376.htm