Anda di halaman 1dari 12

PRÁCTICA SOBRE

LOS PROTOCOLOS DE INTERNET Y TCP/IP


Prof. Hugo Marcano
2008

Objetivo
Esta práctica tiene como objetivo general consolidar los conocimientos teóricos sobre redes y sus protocolos, mediante
una serie de experiencias programadas que hacen uso de hardware y software para redes. Además se desea fomentar la
capacidad de analizar los resultados y poder comunicarlos de forma clara y eficaz a través de un informe escrito. El
objetivo específico es familiarizarse con los aspectos de configuración y monitoreo bajo el sistema operativo Windows,
particularmente en lo que se refiere al ambiente red y el uso de los protocolos TCP/IP para el acceso a Internet.

Nota: Para realizar bien esta práctica se requiere:


1. Conocer los protocolos de Internet y TCP/IP dados en clase.
2. Disponer de una PC de buenas prestaciones que trabaje bajo Windows 98/ME/2000/XP y que esté conectada a una
LAN tipo Ethernet y a Internet.

Sección A: Familiarización con el sistema

1. Para conocer mejor el sistema de computación con el cual Ud. va a trabajar durante esta práctica y las siguientes,
haga clic con el botón derecho sobre el ícono Mi PC. Seleccione la pestaña Propiedades y vea algunas características
del sistema.

2. Si desde Windows selecciona Inicio | Ejecutar e introduce msconfig, puede inspeccionar y eventualmente modificar la
configuración del sistema. Algunos troyanos escondidos, que permiten el control remoto de su PC por otras personas,
pueden descubrirse con esta inspección. Por ejemplo, SubSeven introduce una línea del tipo
run=C:\Windows\System\Sub7.com en el archivo Win.ini, a fin de que el troyano Sub7.com se ejecute cada vez que
arranca la PC.

3. Desde Windows seleccione Inicio | Ejecutar e introduzca sysedit. Compare esta utilidad con msconfig.

4. Continuando con la inspección del sistema, si está trabajando con Windows 95/98/ME, seleccione Inicio | Programas |
Accesorios | Herramientas del sistema | Información del sistema.
Si en cambio está trabajando con Windows 2000, seleccione Inicio | Programas | Accesorios | Herramientas del
Sistema | Información del Sistema. Y si está trabajando con Windows NT, seleccione Inicio | Programas | Herramientas
Común | Diagnosis de Windows NT.
Observe en particular detalles como: espacio disponible en el disco duro, recursos de hardware, entorno de software
(tareas en ejecución, módulos cargados, programas de inicio, etc.).

Sección B: Ambiente de red

1. Haga clic sobre el ícono Entorno de Red en el Escritorio. Explore toda la red para ver otras máquinas, ya que
posiblemente deberá descargar ciertas herramientas del CD-ROM del Instructor para realizar esta práctica.

2. Para conocer detalles de la configuración de red en su PC, ejecute desde Windows 98 el comando WinIPcfg. (Nota:
esta herramienta no está disponible en Windows 95 ni en Windows NT/2000). Analice la información mostrada, y la que
aparece si oprime Más información.
-2-

3. Desde Windows mediante Inicio | Programas haga clic con el botón derecho del mouse sobre el ícono de acceso a la
ventana de comandos MS-DOS. Allí configure la pantalla para Ventana y Tamaño Inicial 50 líneas, a fin de que se
muestren más líneas. Nota: En Windows ME y en Windows 2000 se encuentra en Inicio | Programas | Accesorios.

4. Abra una ventana de comandos MS-DOS y allí ejecute IPconfig /? que muestra la ayuda. Nota: Bajo MS-DOS símbolos
especiales como / ? – ~ se pueden introducir mediante Alt 047, Alt 063, Alt 045 y Alt 126.

5. Ejecute IPconfig solo y analice la información desplegada. Compare IPconfig con WinIPcfg.

6. Si desea cambiar inspeccionar o modificar configuración de la red, haga clic con el botón derecho sobre el ícono
Entorno de Red en el escritorio y seleccione Propiedades. (Otra forma es mediante Inicio | Configuración | Panel de
Control | Red). A continuación se dará una breve explicación de cómo configurar TCP/IP bajo Windows. Advertencia: No
cambie los valores a menos que sepa lo que hace.

7. Bajo la pestaña Configuración, vea las propiedades del Cliente para redes Microsoft. Note que si está activado Iniciar
sesión en el dominio de Windows NT, Ud. no podrá iniciar la sesión a menos que su contraseña sea validada por un
servidor Windows NT/2000.

8. Bajo la misma pestaña Configuración vea las propiedades del adaptador TCP/IP para Ethernet. Allí se encuentran tres
elementos que requieren su atención:
• Especificar una dirección IP: Si está casilla no está seleccionada, entonces la computadora trata de contactar con un
servidor DHCP (Dynamic Host Configuration Protocol) para asignar los parámetros TCP/IP. Si no lo consigue, asigna
direcciones privadas de la clase 169.254.X.X. Las direcciones privadas no son válidas en Internet. IANA (Internet
Assigned Numbers Authority) ha reservado los siguientes 4 bloques para ser usados internamente en redes IP
privadas:
10.0.0.0 - 10.255.255.255
169.254.0.0 - 169.254.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
• Dirección IP: Estos 4 campos se rellenan con la dirección IP de su máquina (ej. 150.185.86.63). Observe que, dado
que cada segmento de la dirección IP se almacena en un campo diferente, se puede teclear el punto en el lugar
adecuado para desplazarse entre los campos.
• Máscara de subred: Se rellena con la máscara de subred de la red, típicamente 255.255.255.0.

9. En la configuración TCP/IP de su PC, todavía falta por ver (o modificar) la información sobre el servidor DNS. Para tal
fin seleccione la pestaña Configuración DNS:
• Activar DNS: Probablemente se necesita tener activado el servicio DNS en la computadora.
• Host: Esta es la parte del host (anfitrión) del nombre de host de la máquina, por ejemplo miPC. Introducir el nombre
aquí no significa que el host sea automáticamente reconocido por las otras máquinas a lo largo de la red TCP/IP. El
nombre de host debe ser registrado oficialmente ante un DNS, antes de que sea utilizable. Este campo le indica a la
máquina Windows cuál es su nombre de host, de forma que se pueda evitar una búsqueda DNS si se necesitase
esta información para algún programa en software.
• Dominio: El nombre del dominio en que está está la computadora, por ejemplo, cantv.net, ucv.ve o unimet.edu.ve.
• Orden de búsqueda del servidor DNS: Contiene el servidor DNS primario y se pueden añadir servidores secundarios.
Debe pulsarse Agregar para que surta efecto.
• Orden de búsqueda del sufijo de dominio: La adición de nombres de dominio a esta lista permite conectarnos a
máquinas de esos dominios, simplemente especificando el nombre base del host. Por ejemplo, si en la lista agrega
cantv.net y telcel.net.ve, cuando ejecute desde DOS un comando como ping mail, se ejecutará el comando ping
mail.cantv.net y si no hay respuesta, se ejecutará ping mail.telcel.net.ve.

11. Después de configurar la información DNS, se pasa a la segunda y última opción de configuración TCP/IP: la
pasarela (también llamada gateway o puerta de enlace), para lo cual debe pulsar la pestaña Puerta de enlace.

12. Adicionalmente se puede configurar el archivo hosts del cliente Windows. Utilice un editor de texto como Notepad
para ver (o editar) el archivo de texto hosts (o hosts.sam, que es un archivo de ejemplo) ubicado en el directorio
Windows. El formato de este archivo consiste en una serie de direcciones IP seguidas, cada una de ellas, por un nombre
de host. Si Ud. ha configurado TCP/IP siguiendo los pasos anteriores, probablemente no necesite modificar el archivo
hosts. La definición de un archivo hosts elimina las búsquedas DNS para las computadoras que Ud. defina. Si tiene algún
-3-
DNS en funcionamiento, no necesitará este archivo, pero puede acelerar los procesos. Si está trabajando exclusivamente
en una red aislada, lo más probable es que no necesite el archivo hosts en absoluto.
El archivo hosts es una alternativa o un complemento a la utilización de un servidor DNS y proporciona una capacidad
de búsqueda inmediata para la computadora. Contiene una lista de nombres de hosts y sus correspondientes direcciones
IP, en una tabla. Cuando la máquina desea localizar un nombre de host, consulta en el archivo y analiza si existe algún
elemento coincidente. Si la computadora que está realizando la consulta encuentra el nombre de host buscado, utilizará
dicho nombre. Si no la encuentra, se irá a consultar al servidor DNS, si existe alguno disponible y el cliente está
configurado para hacerlo.
En una red de 10 computadoras, sería muy efectivo utilizar un archivo hosts que sustituyera por completo la
funcionalidad de un servidor de nombres. Esta sustitución equivale a distribuir 100 elementos en 10 archivos distintos de
10 computadoras. No es demasiado. En una red de 100 máquinas, tendremos 10.000 elementos distribuidos en 100
archivos y computadoras distintas. Debido a que estos archivos se han de actualizar manualmente, el mantener estos
nombres de hosts y direcciones IP correctos en una red que sea dinámica resulta poco práctico. Sin embargo, en
cualquier caso, es realmente útil tener un archivo hosts, en cada cliente, que contenga los nombres de los servidores
locales, junto con el nombre de la propia máquina cliente. Esto permite que la red continúe en funcionamiento incluso
aunque fallen los servicios DNS. También permite que las máquinas individuales identifiquen rápidamente a todos sus
alias propios, sin tener que realizar ninguna búsqueda, y en UNIX a menudo proporciona también un lugar centralizado
de configuración para la información sobre la dirección IP de una máquina.

13. Además de hosts (o hosts.sam) el directorio Windows contiene otros archivos importantes: lmhosts.sam, networks,
protocol y services. Vea su contenido. En Windows 2000 estos archivos se encuentran bajo WinNT\System32\drivers\etc.

14. Desde una ventana MS-DOS ejecute el comando Route print y observe la tabla de enrutamiento que aparece en
pantalla.

15. Ejecute el comando Route /? para ver la ayuda. (Deberá usar la tecla Pause para eventualmente parar el despliegue
de la pantalla).

16. Vuelva a ejecutar el comando Route print y trate de entender la tabla de enrutamiento, lo cual es bastante
complicado! En efecto, para procesar un datagrama, el módulo IP de TCP/IP examina su dirección de destino, consulta la
tabla y decide que hacer. Hay 3 posibilidades para cada datagrama:

1. Puede ser pasado a un protocolo superior (ej. TCP) en la máquina local.


2. Puede ser despachado a otra máquina en la subred.
3. Puede ser desechado si está dañado.

Las tablas de enrutamiento en PCs (hosts) y en nodos (routers) básicamente contienen una serie de filas de la forma:

dirección de red máscara de red interfaz de salida

Cuando se recibe un datagrama con dirección A, para cada fila se efectúa la operación lógica AND entre los bits de la
dirección A y los bits de la máscara de red. Si el resultado es igual a la dirección de red en esa fila, entonces se
preselecciona esa interfaz de salida como válida y se prosigue con las demás filas.
Al completar la inspección de la tabla y en base a la lista de interfaces preseleccionadas, IP elige como mejor la que
posee la máscara más larga, es decir la que posee mayor número de bits iguales a 1 en la máscara.
Si hay más de una fila que satisface este criterio, entonces se elige la que posee la menor métrica. La métrica indica el
número de saltos para llegar a destino (1 significa que está conectado directamente, sin pasar por un router). Si aún así
hay más de una, se escoge cualquiera de ella.
Como ejemplo, considérese un router que tiene los siguientes datos en su tabla:

128.32.1.5 255.255.0.0 1
128.32.195.0 255.255.255.0 3
128.0.0.0 255.0.0.0 5
129.0.1.1 255.255.0.0 6

Aplicando la máscara, un datagrama con dirección de destino 128.32.195.1 satisface las primeras 3 filas, así que el
datagrama podría ser despachado a las interfaces 1, 3 y 5, sin embargo la segunda fila es la que arroja la máscara más
grande, por lo que se envía a la interfaz 3. (128.32.195.1 AND 255.255.255.0 = 128.32.195.0)
-4-
Como otro ejemplo, en Windows 98 SE la tabla de enrutamiento de un PC que posee una dirección IP 150.185.86.63,
máscara de red 255.255.255.0 y puerta de enlace predeterminada (gateway) 150.185.86.7, contiene información como la
siguiente (en el más antiguo Windows 98, las filas 2 y 5 están cambiadas de posición):

Fila Dirección de red Máscara de red Puerta de enlace Interfaz Métrica


1 0.0.0.0 0.0.0.0 150.185.86.7 150.185.86.63 1
2 150.185.86.0 255.255.255.0 150.185.86.63 150.185.86.63 1
3 150.185.86.63 255.255.255.255 127.0.0.1 127.0.0.1 1
4 150.255.255.255 255.255.255.255 150.185.86.63 150.185.86.63 1
5 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
6 224.0.0.0 224.0.0.0 150.185.86.63 150.185.86.63 1
7 255.255.255.255 255.255.255.255 150.185.86.63 150.185.86.63 1

Observe lo siguiente en la tabla:


• La fila 1 especifica la ruta por la puerta de enlace 150.185.86.7 (que es el router o gateway predeterminado).
• La fila 2 especifica la ruta a una máquina ubicada en la misma subred 150.185.86.0 donde reside el PC.
• La fila 3 especifica la ruta al propio PC. Un datagrama con dirección 150.185.86.63 es enviado a 127.0.0.1 (llamado
loopback o localhost).
• La fila 4 especifica la ruta para el broadcast a la subred (150.255.255.255).
• La fila 5 especifica el loopback. Un datagrama con dirección 127.X.X.X también es enviado a 127.0.0.1 (loopback).
• La fila 6 especifica la ruta para un multicast (datagrama con dirección clase D tipo 224.X.X.X).
• La fila 7 especifica la ruta para un broadcast (dirección = 255.255.255.255).

Entonces, si un paquete a ser enviado tiene dirección 150.185.86.3, la mejor ruta es 150.185.86.0 ya que
(150.185.86.3 AND 255.255.255.0) = 150.185.86.0. Ese paquete se envía a través de la interfaz 150.185.86.63
directamente a la máquina correspondiente en la LAN.
Si en cambio el paquete tiene dirección 150.185.86.63, se envía a la interfaz 127.0.0.1, es decir al loopback en la
misma máquina, ya que (150.185.86.63 AND 255.255.255.255) = 150.185.86.63.
Pero si el paquete tiene dirección 200.44.32.12, la mejor ruta es la ruta predeterminada y se envía a la puerta de
enlace 150.185.86.7 en la LAN, usando la interfaz 150.185.86.63, ya que (200.44.32.12 AND 0.0.0.0) = 0.0.0.0. Se trata
de una dirección IP en otra subred.
Nótese que la ruta por la puerta de enlace predeterminada (150.185.86.7) es la última de las posibilidades, cuando no
hay otra mejor, ya que cualquier dirección de destino AND 0 es igual a 0.
Para más información sobre estos y otros aspectos, consúltese el Kit de Recursos de Windows 98 citado anterior-
mente.

Servidores Proxy
Cuando un PC busca información en un sitio web, en vez de ir directamente a ese sitio web, se pasa la solicitud a un
servidor proxy. Éste, a su vez, descargará la página web y la pasará al PC. Todo esto ocurre de un modo transparente
para el usuario. Un servidor proxy funciona aceptando solicitudes de una computadora de la red interna,
retransmitiéndolas a hosts externos y pasando finalmente la respuesta a la máquina original.
Los servidores proxy se pueden usar para proporcionar algo más que un mero servicio web; sencillamente pasan
información de protocolo de un determinado protocolo al mundo exterior y luego envían los resultados al cliente. El
problema con los proxies es que necesitan existir por cada protocolo que se desea ejecutar en la red. Esto supone varios
problemas para protocolos que manejan el audio y vídeo. Si un usuario descarga un programa TCP/IP que esté diseñado
para funcionar por Internet, hay muchas posibilidades de que no funcione a través del servidor proxy. El software incluso
dará error si utiliza un protocolo que está disponible a través del servidor proxy, pero no ha sido bien programado para
sacar partido de este tipo de servidores. Otros problemas se dan en las páginas que requieren cierto tipo de interacción
entre el servidor y el usuario. Algunos servidores proxy ha tenido problemas pasando datos correctamente al cliente. Es
muy probable que las aplicaciones Java fallen si se tienen que comunicar con otro servidor mientras se están
comunicando entre sí.
A pesar de las limitaciones, existen ciertas ventajas. La mayoría de servidores proxy web ocultan servidores proxy.
Esto significa que mantienen una copia de la información que van a recuperar. Si más de un usuario en la red solicita la
misma página web, no tendrá que ser recuperada múltiples veces. También podrá ser enviada a la velocidad máxima de
la red local desde el archivo oculto. Así, si existe un sitio web en el que mucha gente acceda diariamente, se podría
configurar un sencillo servidor proxy para conectarse con Internet. Una vez que se cargan las páginas web, el resto de la
red interna podrá recuperarlas muy rápidamente. Algunos proxies también permiten bloquear el acceso a ciertos sitios
-5-
que son objetables por cualquier motivo. Sencillamente, se tiene que proporcionar al programa una lista de los nombres
de sitios o direcciones TCP/IP y todo intento de llegar a ellos será rechazado.
Los servidores proxy se suelen usar como forma de conexión a Internet desde organizaciones pequeñas y
controladas. Resultan útiles en escuelas, universidades y en organizaciones donde las personas que administran la red
tienen un control total sobre el software que sus usuarios están ejecutando. No sólo se usan en situaciones de conexión a
Internet, los proxies también se emplean para ofrecer servicios a los empleados, pero limitan la cantidad de acceso que
tienen los empleados a los servicios de la red. De ambas formas, los servidores proxy permiten que los usuarios tengan
acceso a los servicios de Internet proporcionando un intermediario entre Internet y le red interna.
Los proxies permiten controlar el contenido. En las grandes empresas puede ser necesario limitar la cantidad de
empleados que pueden acceder a Internet o limitar los sitios que pueden ver en momentos de gran tráfico. Para las
escuelas, el contenido que se pone a disposición puede depender de la edad de los niños o de la clase.
Existen muchas formas para que los usuarios se salten las medidas de seguridad del proxy. Es cuestión de tiempo
antes de que una persona encuentre una forma de saltarse el proxy y se lo diga a otro, y éste a otro, etc. Las aulas, por
otra parte, son entornos mucho más controlados y es menos probable que un estudiante encuentre una forma de saltarse
el proxy. Aquí la finalidad principal de un proxy consiste en limitar la posibilidad de que un estudiante siga los vínculos
que podrían resultar inapropiados y de que el profesor no lo sepa. En este tipo de entorno vigilado, un servidor proxy
funcionaría muy bien y permitiría que los profesores estén más tranquilos. Por otra parte, si se deja inatendido, no debe
subestimarse la capacidad de los usuarios de llegar a sitios a los que no deben. Administrar un servidor proxy
eficazmente con fines de filtrado siempre requerirá cierta supervisión.
Resulta muy sencillo configurar los navegadores Web para que utilicen un servidor proxy, en vez de tratar de ponerse
en contacto con una computadora remota directamente. La única información que se necesita es la dirección IP o nombre
de host del proxy y del puerto sobre el que se está ejecutando el servicio. La mayoría de los servidores proxy utilizan los
puertos 8000 y 80.
En Internet Explorer seleccione Herramientas | Opciones de Internet | Conexiones | Configuración de LAN.

Oprima Opciones avanzadas para configurar los servidores proxy de acuerdo al tipo de servicio.
-6-

SOCKS es un protocolo de servidor proxy que puede gestionar muchos transportes distintos de una sola configuración. Si
se está ejecutando un proxy SOCKS y la aplicación cliente admite el protocolo SOCKS, no se tendrá que hacer nada sino
establecer la misma configuración SOCKS (dirección IP y puerto) por cada una de las aplicaciones que tengan que
ejecutarse por el proxy. Manteniendo idénticas todas las configuraciones, SOCKS racionaliza el proceso de utilización de
un servidor proxy
La opción No usar proxy para las direcciones que comiencen por... permite establecer una dirección o intervalo de
direcciones a las que el navegador no dejará que el servidor proxy acceda. Si la red no está configurada para permitir el
acceso al mundo exterior excepto a través del proxy, esta opción no funcionará. Sin embargo, si sólo se está usando el
proxy para acelerar el acceso, sí funcionará. Se puede necesitar esto para localizar una página web que está actuando a
través del servidor proxy. Cierto tipo de software tiene dificultades cuando se ejecuta a través de un servidor proxy y la
computadora deberá hablar con él directamente.

Sección C: Chequeo de conectividad

Ping es una elegantemente simple utilidad de TCP/IP que permite determinar si un equipo está funcionando y si se
encuentra disponible. Su nombre proviene, al parecer, de un uso análogo en las operaciones con el sonar para detectar
objetos sumergidos. También se ha dicho que su nombre proviene de Packet Internet Grouper. Ping utiliza ICMP
(Internet Control Message Protocol), cuyo propósito es informar a los equipos que se encuentran transmitiendo, sobre los
errores encontrados durante el procesamiento de los datagramas IP o de cualquier otra información de control relevante.
Este protocolo se describe más adelante. Ping envía uno o más mensajes ICMP tipo ECHO a una máquina especifica,
requiriéndole una respuesta. Su uso más habitual es la medida del tiempo de viaje de ida y vuelta entre dos máquinas. El
emisor envía un datagrama con un mensaje Echo (tipo 8) y un número de secuencia para detectar los mensajes
perdidos, fuera de secuencia o duplicados. El receptor cambia el tipo a Respuesta a Echo (tipo 0) y devuelve el
datagrama.
Ping muestra también el valor TTL (tiempo de vida). Esto permite conocer cuantos enrutadores adicionales pudo
atravesar el paquete antes de que fuera descartado. También se puede usar el TTL para estimar cuántos enrutadores ha
atravesado el paquete. Por ejemplo, si los paquetes retornan con un TTL de 119, una aproximación válida es asumir que
el TTL comenzó con 128 (que es el siguiente número más alto múltiplo de dos) cuando el paquete dejó la fuente.
Sustrayendo para encontrar la diferencia 128-119=9, se pudiera asumir que la fuente está a nueve saltos del enrutador
de distancia.
Si los pings son devueltos con un TTL cercano a cero, por ejemplo valores de uno o dos, podría ser un indicio de
errores de red. Como ilustración, supongamos que se realiza un ping de una dirección en Hong Kong y la computadora a
-7-
la que se le realiza el ping envía paquetes con un TTL de 32. Supóngase que la trayectoria más directa desde Hong Kong
hasta la computadora pasa a través de 30 enrutadores y los datagramas que viajan a través de este trayecto llegan con
un TTL de valor igual a dos. A causa de que cada datagrama podría seguir una trayectoria separada cuando viaja de la
fuente al destino, otros datagramas pudieran viajar a través de la siguiente trayectoria más directa, la cual contiene 35
enrutadores. Los datagramas enviados a través de esta trayectoria más larga expiran antes de que alcancen la
computadora. Esto es probablemente causaría que la fuente reenvíe el datagrama un número adicional de veces hasta
que uno de los datagramas tome la vía más corta.
La pila de protocolos TCP/IP incluye ICMP, por lo que cualquier máquina en la que se encuentre instalado TCP/IP
debería responder a Ping. Sin embargo, debido a la proliferación de mecanismos de seguridad como los cortafuegos, el
uso de esta herramienta no siempre es satisfactorio.
Como ya se mencionó, Ping usa ICMP (Internet Control Message Protocol) que es un mecanismo básico de TCP/IP
para permitir que los distintos dispositivos puedan intercambiarse información sobre errores y enrutamiento.
Si una router o gateway no puede remitir un paquete a su red de destino o, por algún motivo, un paquete no puede
llegar a su destino, se enviará un mensaje ICMP. El dispositivo que toma esta determinación descartará el paquete y
devolverá un mensaje ICMP al origen. Por lo general, la máquina que toma esta decisión suele ser un router o un
gateway, los cuales también pueden enviar mensajes ICMP a las máquinas host para informarles de la existencia de una
ruta más corta, que pueden emplear para enviar los datos a su destino. En el caso de que ocurra algún error, el mensaje
típico que se enviaría sería Destination Unreachable (destino inalcanzable), o, si el tiempo de vida de un paquete ha
expirado, se enviará un mensaje Time Exceeded (se ha superado el intervalo). Sin embargo, esta capacidad no asegura
que las comunicaciones sean confiables. No existe ninguna garantía de que se informe de todos los errores que ocurran
mediante el correspondiente mensaje ICMP. Es tarea del siguiente nivel el proporcionar un método de asegurar que los
datos alcancen su destino con su forma original.
Desde el punto de vista estructural, ICMP incluye una cabecera IP igual que cualquier otro paquete IP. La parte de
datos del paquete está formada por varios campos ICMP, que se utilizan para especificar el tipo de mensaje, los detalles
del mensaje y una suma de comprobación de los propios datos ICMP. El número total de mensajes diferentes que se
pueden enviar es ocho, cada uno de los cuales proporciona distinta información relacionada con el estado de la red:
• Destination Unreachable (destino inaccesible): Este mensaje se puede enviar si una router o gateway no logra
determinar la ruta que necesitan tomar los datos para llegar a su destino. También lo puede generar una máquina
remota, si no puede aceptar los datos entrantes.
• Time Exceeded (se ha superado el intervalo): Si el campo de vida ha quedado reducido a cero, el router o gateway
enviará este mensaje a la máquina que generó el paquete. Este mensaje también lo puede enviar un dispositivo
receptor, en caso de que no haya llegado alguna parte de un paquete fragmentado durante el tiempo de vida del
paquete.
• Parameter Problem (problema de parámetros): Si existe algún problema con la cabecera IP del paquete, se enviará
este mensaje, junto con la información que identifique en qué parte de la cabecera ha tenido lugar el error.
• Source Quench (frenado de fuente): Este mensaje se envía desde un router o gateway o una máquina a otra
máquina que está enviando paquetes más rápidamente de lo que ellas pueden procesar. Le indica a la máquina que
disminuya la velocidad de su transmisión, para evitar que los paquetes sean descartados.
• Redirect (redirigir): Este mensaje es enviado por un router o gateway a una máquina, si el router o gateway detecta
que existe una ruta a la red de destino más corta que la que pasa a través suyo.
• Echo (eco): Un mensaje muy útil, que se usa para diagnosticar problemas de red. El mensaje Echo se envía a una
determina dirección, que contestará con un mensaje ICMP Echo Reply (repuesta de eco). La respuesta permite
obtener información sobre el estado de la red.
• TimeStamp (marca temporal): Similar a Echo. El emisor envía un mensaje con una marca temporal a un destino y el
receptor añade una marca temporal de recibido al mensaje y lo envía de vuelta. A medida que viaja de vuelta, los
enrutadores o pasarelas cambian la marca temporal de transmisión para indicar el tiempo invertido en su retorno.
• Information Request (solicitud de información): Lo utiliza la máquina de origen para obtener información de la red del
paquete.

1. Para ver una rápida demostración de ICMP en acción, podemos emplear la utilidad Ping y enviar una solicitud Echo a
una computadora remota para que se refleje de forma muy similar a las señales del sónar, del que el programa toma su
nombre.
Desde una ventana de MS-DOS ejecute Ping con algunas direcciones como las que siguen, analizando los resultados
obtenidos. Puede parar el proceso mediante la teclas Ctrl C. También pruebe con algunos sitios que Ud. conozca. Sin
embargo es posible que no reciba respuesta (time out), ya que hoy día, por razones de seguridad, muchos sitios
desactivan la respuesta a Ping.

Ping localhost ( o Ping loopback o Ping 127.0.0.1)


Ping www.cantv.net
Ping www.telcel.net
-8-
Ping www.reacciun.ve
Ping www.conatel.gov.ve
Ping www.pdvsa.com
Ping www.ucv.ve
Ping www.unimet.edu.ve
Ping www.yahoo.com
Ping www.microsoft.com

Si obtiene time out, pruebe a aumentar el tiempo a 2000 ms mediante el comando Ping –w 2000 host, por ejemplo:

Ping –w 2000 www.microsoft.com

Para ver otras opciones de Ping, ejecute Ping /?

Note que localhost, loopback y 127.0.0.1 representan lo mismo y sirven para hacer pruebas locales. Por ejemplo, el
comando Ping loopback o Ping 127.0.0.1 sirve para chequear si los protocolos TCP/IP de su máquina está funcionando
correctamente (lo cual no necesariamente significa que la conexión a la red esté funcionando bien).
A continuación se ilustra con un ejemplo el resultado de uso de Ping.

Ping abc.net (140.254.85.75): 56 data bytes


64 bytes from 140.254.85.75: ttl=255 time=0.8 ms
64 bytes from 140.254.85.75: ttl=255 time=0.8 ms
64 bytes from 140.254.85.75: ttl=255 time=0.6 ms
64 bytes from 140.254.85.75: ttl=255 time=0.7 ms
64 bytes from 140.254.85.75: ttl=255 time=0.7 ms

- 140.254.85.75 Ping statistics


5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.6/0.7/0.8 ms

En este ejemplo, la computadora ha enviado cinco mensajes ICMP de solicitud de eco a la máquina 140.254.85.75 y ha
recibido respuesta a todos los mensajes que ha enviado. Como puede verse, todos los paquetes se recibieron. También
podemos ver el tiempo de vida de cada paquete (TTL). El tiempo de vida de todas las contestaciones recibidas es de
255, que es el tiempo de vida máximo posible. Los números son muy altos, ya que la máquina de destino se encuentra
en la misma red que la computadora de origen, por lo que no ha sido necesario que atraviese ningún router y el valor no
ha disminuido. También podemos ver que el tiempo de respuesta es una fracción de milisegundo, lo cual constituye otra
indicación de que la máquina origen está cerca de la máquina de destino. Cuando Ud. efectúe esta comprobación en su
propia máquina, podrá observar valores muy diferentes, lo cual le indicará la distancia relativa, desde el punto de vista de
la red, a la máquina de destino. Si hiciéramos Ping a una máquina distante en otra ciudad, las diferencias serían notorias:

Ping xyz.com (204.210.240.191): 56 data bytes


64 bytes from 204.210.240.191: ttl=59 time=160.3 ms
64 bytes from 204.210.240.191: ttl=59 time=10.0 ms
64 bytes from 204.210.240.191: ttl=59 time=11.4 ms
64 bytes from 204.210.240.191: ttl=59 time=12.2 ms
64 bytes from 204.210.240.191: ttl=59 time=12.2 ms

- 204.210.240.191 Ping statistics


5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 10.0/41.2/160.3 ms

Ahora, el tiempo de vida se ha reducido de forma patente y el tiempo de respuesta se ha incrementado. La conexión de
red sigue siendo buena, ya que hay un cero por ciento de paquetes perdidos en la red.
-9-

2. Una segunda utilidad TCP/IP comúnmente empleada es Traceroute (trazar ruta). Esta herramienta permite al usuario
determinar la ruta que sigue un paquete desde la máquina local hasta una máquina remota, así como evaluar el retardo y
alcanzabilidad desde el origen hasta cada uno de los nodos íntermedios. También es de uso común como herramienta de
diagnóstico por los supervisores de redes.
Traceroute utiliza tanto ICMP como UDP. El emisor envía primero un datagrama UDP con TTL=1 y un número de
puerto no válido hacia la máquina especificada. El primer enrutador que encuentra el datagrama establece el valor del
campo TTL a cero, elimina el datagrama y envía un mensaje ICMP Time Exceeded (tiempo excedido) al remitente. Esta
información permite identificar la primera máquina en la ruta. Seguidamente se continúa el proceso para identificar las
restantes máquinas en la ruta entre el origen y destino mediante el envío de datagramas con campos TTL sucesivamente
mayores. Cuando el datagrama alcanza su destino, la máquina destinataria devuelve un mensaje ICMP Port Unreachable
(puerto inalcanzable) al remitente, ya que el número de puerto era deliberadamente inválido.
A causa del tráfico que puede crear esta utilidad, sólo debería usarse para detección manual de fallas o solución de
problemas.
Tenga en cuenta que algunos enrutadores en Internet desechan, sin reportarlo, los paquetes cuyo TTL ha expirado,
por lo que resultan invisibles a Traceroute.
Para probar Traceroute, desde la misma ventana de MS-DOS ejecute Tracert (abreviación de Traceroute) con algunas
de las direcciones anteriormente vistas. Analice los resultados y en especial el retardo en los nodos intermedios.
A la salida deTracert, las cifras que siguen al nombre de la máquina representan el tiempo de viaje redondo de la
sonda.
Cuando Tracert no recibe una respuesta dentro de tres segundos, escribe un asterisco. Si no recibe respuesta de la
compuerta, entonces escribe tres asteriscos. Cuando Tracert no puede informar de inmediato, escribe dos asteriscos
antes de escribir el nombre de enrutador y el tiempo del viaje redondo.

3. Hoy día la mayoría de las PCs se encuentran detrás de un firewall o un proxy, lo que a menudo sólo permiten que ellas
se conecten a redes externas como Internet, pero no aceptan conexiones entrantes, es decir que no pueden actuar como
servidores de ftp, web, etc. Para chequear si su PC es visible desde Internet, conéctese al sitio http://www.network-
tools.com y pruebe desde allí algunas de los comandos disponibles, tales como Ping y Trace.

4. Si se conecta a http://visualroute.visualware.com puede efectuar un traceroute (en forma gráfica) hacia su propia
máquina (o cualquier otra dirección IP) desde un servidor público ubicado en Texas.

5. Si se conecta a http://www.traceroute.org puede escoger un un país y luego un servidor público para, desde allí,
efectuar un traceroute a una dirección IP. De esta manera puede averiguar qué tan rápido es el acceso a un sitio desde
sitios remotos.

6. Desde la ventana de MS-DOS ejecute el comando Arp –a. Si no se muestra nada, la razón es que la tabla Arp está
vacía y puede hacer ping a una máquina local o a un sitio en Internet para que muestre algo. Analice los resultados.
Utilice el comando Arp /? para conocer las opciones de uso del comando. Arp muestra la tabla de correspondencia
entre direcciones IP e Ethernet. Cada host de red mantiene una caché Arp que contiene una lista de otros hosts con los
que se está comunicando o se ha comunicado recientemente. Esto elimina la necesidad de enviar una solicitud Arp cada
vez que se envía una trama.
Los elementos de la caché Arp eventualmente caducarán y se eliminarán de la caché transcurrido un corto periodo de
tiempo. Si está utilizando Arp desde una máquina que ha accedido telefónicamente a una red y no tiene conexión
Ethernet, su caché Arp estará vacía. Esto se debe a que la interfaz de la conexión telefónica no utiliza las direcciones
hardware Ethernet en sus comunicaciones.
Arp se utiliza con frecuencia para ayudar a depurar y diagnosticar problemas de conexión en la red. Este comando
puede ayudar a ese respecto mediante la asignación de dirección Ethernet para un host dado, lo cual se hace mediante
la opción –s, añadiendo una entrada a la tabla Arp. Si Ud. no podía usted comunicarse con el host remoto antes de que la
entrada a la tabla fuera creada, entonces quizá tenga un problema de direccionamiento. Si aún no puede comunicarse
con el host remoto después de haber añadido la entrada Arp, entonces es probable que el problema sea de hardware.

7. La utilidad Netstat realiza consultas a una máquina acerca del estado de la red bajo TCP/IP. Por ejemplo, Netstat
puede consultar el estado de los controladores de red y de las tarjetas de interfaz, averiguar el número de paquetes de
entrada, salida, erróneos, etc. También puede obtener el estado de la tabla de enrutamiento de la máquina, la lista de
procesos servidores TCP/IP activos, así como las conexiones TCP activas.
Netstat resulta muy útil para ayudar a determinar problemas de red y, de momento, nos puede servir para ilustrar
cómo la máquina supervisa el estado de cada conexión. Para tal fin en una ventana de MS-DOS, ejecute Netstat y
obtendrá un resultado parecido al siguiente (en el caso de que la tabla esté vacía, conéctese a un sitio Web):
-10-

Proto Dirección local Dirección remota Estado


tcp leviathan:80 207.224.67.124:1070 SYN RCVD
tcp leviathan:80 intrance.ag.ohio:2302 ESTABLISHED
tcp leviathan:80 intrance.ag.ohio:2297 FIN_WAIT 2
tcp leviathan:80 usr4-09.mor.nj.w:1436 ESTABLISHED
tcp leviathan:80 usr4-09.mor.nj.w:1435 ESTABLISHED
tcp leviathan:80 usr4-09.mor.nj.w.1434 TIME WAIT
tcp leviathan.80 208.11.185.5.1213 ESTABLISHED
tcp leviathan.80 208.11.185.5.1212 ESTABLISHED
tcp leviathan.23 dub240191.columb.E ESTABLISHED
tcp leviathan:80 208.11.185.5:1211 TIME WAIT
tcp leviathan:80 ppp-207-214-180-:1081 FIN WAIT 2
tcp leviathan.80 ppp-207-214-180-:1081 FIN WAIT 2
tcp leviathan:80 ppp-207-214-180-:1080 FIN WAIT 2
tcp leviathan:80 ppp-207-214-180-:1080 FIN WAIT 1

En la columna Dirección local podemos ver el nombre de la máquina receptora (leviathan), seguido por el número de
puerto con el que está hablando la computadora remota. En todos los casos estaban conectados al puerto 80, que es el
puerto http del servidor web. En la columna etiquetada Estado, podemos ver los distintos estados de conexión de las
máquinas. Debido a que las conexiones web varían muy rápidamente, si volviéramos a ejecutar netstat, obtendríamos un
resultado completamente distinto.
TCP y UDP utilizan el concepto de puerto. Un puerto es una toma virtual que se puede abrir en un dispositivo de red.
Generalmente, los puertos están definidos de forma predeterminada y están relacionados con un determinado servicio
que esté ejecutándose en una máquina.
Al especificar los puertos e incluir el número de puerto con los datos, se consigue lo que se llama el multiplexado, el
cual permite que tengan lugar varias conexión o comunicaciones de red simultáneamente en una misma máquina.
Los números de puerto, junto con las direcciones de origen y destino de los datos, especifican un conector (socket).
Cada máquina que se comunique utilizando TCP o UDP abre un conector con una la máquina receptora. El puerto de la
máquina origen se escoge al momento, usualmente de entre un lote de valores libres y es un número alto, que puede ser
de hasta 65.000 (16 bits). En cambio el puerto de la máquina de destino usualmente es un número pequeño, ya
predefinido según el tipo de servicio.
Los números de puerto por debajo de 1024 se llaman puertos bien conocidos (well-known ports) y se reservan para
servicios estándar. Por ejemplo, HTTP usa el puerto 80 y DNS el puerto 25. La lista de puertos bien conocidos se da en
el RFC 1700.
Algunos de los puertos más comunes y los servicios que se ejecutan sobre ellos son los siguientes:
• 23 Telnet - proporciona una conexión de terminal a un sistema remoto.
• 25 SMTP - se encarga de enviar y almacenar correo electrónico.
• 53 DNS - sistema de nombre de dominio
• 80 HTTP - el World Wide Web (telaraña mundial).
• 110 POP3 - acceso remoto al correo electrónico.
• 143 IMAP - otro método de acceso remoto al correo electrónico.
• 161 SNMP - sistema de gestión de red simple

Los puertos registrados van desde 1024 hasta 49151 y están ligados a los servicios que prestan las aplicaciones. Por
ejemplo, Netmeeting utiliza los puertos TCP 1720 y 1503. MSN Messanger utiliza puertos UDP variables (ej. 13324,
13325) y puertos TCP variables (ej. 1503, 1863). Yahoo Messanger utiliza puertos TCP variables (ej. 5010).
Los puertos privados van desde 49152 hasta 55535. En teoría ningún servicio debería ser asignado a dichos puertos.
Son muy usados por los troyanos.
En la figura siguiente se ilustra más claramente la relación entre puertos, dirección y capas en los protocolos TCP/IP.
-11-

Durante el tiempo de vida de una conexión, existen diversos estados en los que se pueden encontrar los dispositivos
de comunicación. TCP y UDP controlan estos estados y pone la información a disposición del nivel de red superior, en
caso de que éste quiera actuar según el estado de la conexión.
Los estados posibles, tal como se definen en la RFC 793, son los siguientes:
LISTEN: Un dispositivo está esperando una solicitud de conexión de un dispositivo remoto.
SYN-SENT: Se ha enviado una solicitud de conexión y el dispositivo está esperando la correspondiente confirmación.
SYN-RECEIVED: Se ha devuelto la solicitud correspondiente y el dispositivo está ahora esperando una confirmación final
de la conexión.
ESTABLISHED: Existe una conexión y se pueden transmitir y recibir datos.
FIN-WAIT 1: El dispositivo está esperando una solicitud de finalización de la conexión o una confirmación de que su
solicitud de finalización ha sido recibida.
FIN-WAIT 2: El dispositivo está esperando una solicitud de finalización de la conexión desde un dispositivo remoto.
CLOSE-WAIT: El dispositivo está esperando una solicitud de finalización de la conexión procedente del nivel de red
superior.
CLOSING: El dispositivo está esperando del usuario remoto la confirmación de la finalización de la conexión.
LAST ACK: El dispositivo está esperando la confirmación final de terminación de la conexión por parte de una máquina
remota.
TIME-WAIT: El dispositivo está esperando a que transcurra un determinado intervalo de espera, para asegurarse de que
el dispositivo remoto ha recibido su confirmación del final de la conexión.
CLOSED: No hay conexión.

Como se puede observar, la mayoría de los estados están relacionados con el cierre de una conexión. Aunque esta
preponderancia pueda parecer algo extraña, es particularmente importante que las máquinas sepan cuándo se cierra una
conexión, para así poder liberar los recursos (memoria, procesos de servidor) que una determinada conexión haya
estado utilizando. Existe un tipo muy frecuente de ataque de los hackers a los servidores basados en TCP/IP,
denominado ataque de negación de servicio (DoS, Denial of Service). Estos ataques aprovechan la debilidad que tienen
algunas implementaciones de TCP/IP para detectar cuándo una conexión ha finalizado. El atacante abre varias
conexiones simultáneas a una determinada máquina y luego las cierra sin utilizar los mensajes adecuados. Aunque
generalmente suele existir un tiempo de espera, tras el cual una máquina determinará que un puerto ya no sigue conec-
tado, es posible abrir una gran cantidad de puertos y dejarlos abiertos en un estado FIN-WAIT, que harán que el servidor
se vaya poniendo lento hasta quedar parado. Cada una de las conexiones consume tiempo de CPU y memoria, por lo
que, si se abre la suficiente cantidad de conexiones al mismo tiempo, se pueden agotar los recursos y el atacante habrá
conseguido parar un servidor de manera remota. Por tanto, resulta obvio deducir que los programas bien intencionados
han de evitar causar ataques similares de manera inadvertida y de allí que existan procedimientos tan meticulosos en
TCP y UDP para cerrar las conexiones.
-12-

8. Netstat es muy útil si se utiliza con parámetros. El comando completo es: netstat [-a] [-e] [-n] [-s] [-p proto] [-r]
[intervalo].
Donde:
-a Muestra todas las conexiones y puertos escucha.

-e Muestra estadísticas Ethernet. Se puede combinar con -s.

-n Muestra números de puertos y direcciones en formato numérico.

-p proto Muestra conexiones del protocolo especificado por proto; que puede ser tcp o udp. Si se usa con la opción -s
para mostrar estadísticas por protocolo, proto puede ser TCP, UDP o IP.

-r Muestra el contenido de la tabla de rutas.

-s Muestra estadísticas por protocolo. En forma predeterminada, se muestran para TCP, UDP e IP; se puede utilizar la
opción –p para especificar un subconjunto predeterminado.

intervalo Vuelve a mostrar las estadísticas seleccionadas, haciendo pausas en el intervalo de segundos especificado
entre cada muestra. Presione Ctrl+C para detener la actualización de estadísticas. Si se omite, netstat imprimirá la actual
información de configuración una vez.

Pruebe por ejemplo:


Netstat –a
Netstat -n
Netstat –e
Netstat –e 5
Netstat -s
Netstat –p tcp
Netstat -r

Si mediante Netstat –an aparecen puertos altos en escucha, puede ser que haya un troyano corriendo, tal como
SubSeven, NetBus o Back Orifice. Por ejemplo, SubSeven usa típicamente el puerto 6667 TCP.
Cuando se activa la opción compartir archivos en la red Microsoft con NetBIOS, se abren eventualmente los puertos
TCP 137 (NetBIOS Name Service), 138 (NetBIOS Datagram Service) y 139 (NetBIOS Session Service) y los puertos
UDP 1027-1029.
Si aparece abierto el puerto 5000 en Windows ME/XP, se debe a que está activo ssdpsrv.exe, el cual es utilizado para
ciertas funciones plug & play (compruébelo mediante msconfig).
Para saber más sobre netstat, puede consultar los siguientes documentos:
"Netstat made easy" en http://newdata.box.sk/ankit/netstat.htm
"IP and port info using netstat" en http://blacksun.box.sk/ netstat.txt

9. Además de Netstat, en Windows se dispone den Nbtstat, que muestra información y estadísticas sobre las conexiones
actuales TCP/IP usando NetBIOS sobre TCP/IP. Pruebe a utilizar el comando Nbtstat –s y Nbtstat -? para ayuda.

Sección D: Informe

Elabore un informe de no menos de 5 páginas donde se reportan las experiencias más relevantes, se analizan los
resultados obtenidos, finalizando con conclusiones y eventuales recomendaciones.

El informe debe ser en parejas y redactado con palabras propias; no se permite repetir el texto del material que se
encuentra en esta guía. Deben analizarse y discutirse esos resultados, en particular si se presentaron problemas o
aspectos inesperados. También deben incluirse las conclusiones y eventuales recomendaciones.

Se deben incorporar muestras de imágenes de ventanas capturadas durante las experiencias, como evidencia del trabajo
realizado.

Anda mungkin juga menyukai