Introducción
El presente trabajo tiene como objeto desarrollar
análisis de una captura de tráfico realizada a
través del Software Wireshark.
Por último se incorpora el estudio de casos
mediante la herramienta de simulación de redes Cisco
Packet Tracer
Aplicaciones
2.1 Wireshark
Wireshark es una herramienta gráfica utilizada
por los profesionales y administradores de red para identificar y
analizar tráfico en un momento determinado. Pertenece a lo
que en el lenguaje IT se denominan analizadores de protocolos de
red, analizadores de paquetes, packet sniffer o
sniffer.
Un analizador de protocolos de red configura la interfaz
de red en un modo denominado "modo promiscuo" que puede capturar
todo el tráfico que circula por la red. Disponible para
UNIX, LINUX, Windows y Mac OS.
Algunas de las características de WireShark son
las siguientes:
Permite obtener detalladamente la información
del protocolo utilizado en el paquete capturado.Cuenta con la capacidad de importar/exportar los
paquetes capturados desde/hacia otros programas.Filtra los paquetes que cumplan con un criterio
definido previamente.Realiza la búsqueda de los paquetes que
cumplan con un criterio definido previamente.Permite obtener estadísticas.
A continuación se muestra y detalla la interfaz
de usuario y como se aplican las principales funciones de
Wireshark.
2.1.1 Menú Principal.
Utilizado para iniciar las acciones y/o funciones de la
aplicación.
File. Similar a otras aplicaciones GUI este
contiene los ítems para manipular archivos y para cerrar
la aplicación Wireshark.
Edit. Este menú contiene ítems
aplicar funciones a los paquetes, por ejemplo, buscar un paquetes
especifico, aplicar una marca al paquete y configurar la interfaz
de usuario.
View. Permite configurar el despliegue de la data
capturada.
Go. Contiene ítems que permiten el
desplazamiento entre los paquetes.
Capture. Inicia y detene la captura de
paquetes.
Analyze. Contiene ítems que permite
manipular los filtros, habilitar o deshabilitar protocolos,
flujos de paquetes, etc.
Statistics. Contiene ítems que permiten
definir u obtener las estadísticas de la data
capturada.
Help. Menú de ayuda.
2.1.2 Barra de Herramientas.
Permite el acceso rápido a las funciones
más utilizadas.
2.1.3 Barra de Filtro.
Especifica el filtro que se desea aplicar a los paquetes
que están siendo capturados.
2.1.4 Panel de Paquetes.
En este panel se despliega la lista de paquetes
capturados. Cada línea corresponde a un paquete capturado
al seleccionar una de estas, ciertos detalles son desplegados en
el resto de los paneles.
No. Posición del paquete en la
captura.
Time. Muestra el Timestamp del paquete. Su
formato puede se modificado desde el menú.
Source. Dirección origen del
paquete.
Destination. Dirección destino del
paquete.
Protocol. Nombre del protocolo del
paquete.
Info. Información adicional del contenido
del paquete.
2.1.5 Panel de Detalles.
Aquí se despliega información detallada
del paquete seleccionado en el panel de paquetes.
Contiene el protocolo y los campos correspondientes del
paquete previamente seleccionado en el panel de paquetes
capturados.
2.1.6 Panel de Bytes.
Despliega en Bytes la información contenida en el
campo seleccionado desde el panel de detalles del paquete
seleccionado en el panel de paquetes.
2.1.7 Barra de Estado.
Esta barra muestra información acerca del estado
actual del programa y de la data capturada.
2.1.8 Filtrado de Paquetes
Wireshark ofrece numerosas posibilidades de filtrado de
información, que básicamente consisten en la
selección de protocolos. Wireshark contempla dos tipos de
Filtros.
Los filtros de captura (Capture Filter) son los que se
establecen para mostrar solo los paquetes de cumplan los
requisitos indicados en el filtro.
Los filtros de visualización (Display Filer)
establecen un criterio de filtro sobre los paquetes capturados y
que estamos visualizando en la pantalla principal de
Wireshark.
Se acceden en Capture >
Options
Seleccionado luego la opción Capture
Filter
Análisis de Tráfico
El siguiente ejemplo considera la captura completa del
tráfico de una navegación hacia la página
www.bancochile.cl logrando una captura de 891 paquetes durante 61
segundos
En figura anterior se establecen dos zonas de datos
principales
En la primera es la se establece información del
N° de Frame, tiempo de la captura, origen, destino, protocolo
involucrado y por último un campo de información
extra que previamente Wireshark a decodificado.
La segunda zona muestra los datos del Frame capturado
entregándonos información de todos los protocolos
involucrados en la captura
Protocolos
ARP (Address Resolution Protocol)
ARP es un protocolo de capa de red responsable de
encontrar la dirección de hardware (MAC) que corresponde a
una determinada dirección IP. Para ello se envía
una consulta ARP (ARP request) a la dirección de broadcast
MAC (FF:FF:FF:FF:FF) consultando por la dirección IP y se
espera a que esta máquina responda (ARP reply) con la
dirección MAC que le corresponde. Cada máquina
mantiene luego una caché con las direcciones traducidas
para reducir el retardo y la carga.
ARP se encuentra documentado en el RFC 826.
ARP se utiliza en 4 casos referentes a la
comunicación entre 2 hosts:
1. Cuando 2 hosts están en la misma
red y uno quiere enviar un paquete a otro.
2. Cuando 2 host están sobre redes
diferentes y deben usar un gateway/router para alcanzar otro
host.
3. Cuando un router necesita enviar un
paquete a un host a través de otro router.
4. Cuando un router necesita enviar un
paquete a un host de la misma red.
Ethernet II
La trama Ethernet II (también conocido como DIX
Ethernet, por las iniciales de los principales participantes en
la elaboración de este protocolo: DEC, Intel y Xerox)
define el campo Tipo de dos bytes en una trama Ethernet que
identifica el protocolo de capa superior que encapsula la trama
de datos.
Por ejemplo, un valor de Tipo 0x0800 señales de
que el paquete contiene un datagrama IPv4. Asimismo, un Tipo de
0x0806 indica un marco de ARP, 0x8100 indica un marco de IEEE
802.1Q y 0x86DD indica un marco de IPv6
Preámbulo. Un campo de 7 bytes (56 bits)
con una secuencia de bits usada para sincronizar y estabilizar el
medio físico antes de iniciar la transmisión de
datos. El patrón del preámbulo es:
10101010 10101010 10101010 10101010
10101010 10101010 10101010
Estos bits se transmiten en orden, de izquierda a
derecha y en la codificación
Manchester representan una forma de onda
periódica.
SOF (Start Of Frame) Inicio de Trama. Campo de 1
byte (8 bits) con un patrón de 1s y 0s alternados y que
termina con dos 1s consecutivos. El patrón del SOF es:
10101011. Indica que el siguiente bit será el bit
más significativo del campo de dirección
MAC de destino.
Dirección de destino. Campo de 6 bytes (48
bits) que especifica la dirección MAC hacia la que se
envía la trama. Esta dirección de destino puede ser
de una estación, unicast, de un
grupo multicast o la dirección de broadcast
de la red. Cada estación examina este campo para
determinar si debe aceptar la trama o no.
Dirección de origen. Campo de 6 bytes (48
bits) que especifica la dirección MAC desde la
que se envía la trama. La estación que deba aceptar
la trama conoce por este campo la dirección de la
estación origen con la cual intercambiará
datos.
Longitud o Tipo. Campo de 2 bytes (16 bits) que
identifica el protocolo de red de alto nivel asociado
con la trama o, en su defecto, la longitud del campo de datos. La
capa de enlace de datos interpreta este campo. (En la IEEE 802.3
el campo longitud debe ser menor o igual a 1500 bytes y el campo
tipo debe ser mayor o igual a 1536 bytes)
Datos. Campo de 0 a 1500 bytes de longitud. Cada
byte contiene una secuencia arbitraria de valores. El campo de
datos es la información recibida del nivel de
red (la carga útil). Este campo también
incluye las cabeceras de los niveles 3 y 4 provenientes de los
niveles superiores.
Relleno (Padding). Campo de 0 a 46 bytes que se
utiliza cuando la trama Ethernet no alcanza los 64 bytes
mínimos para evitar colisiones cuando la trama es muy
corta.
FCS (Frame Check Sequence). Campo de 4 bytes (32
bits) que contiene un valor de verificación CRC. El emisor
calcula el CRC de toda la trama, desde el campo destino al campo
CRC suponiendo que vale 0. El receptor lo recalcula, si el valor
calculado es 0 la trama es valida.
IP (Internet
Protocol)
IP es un protocolo no orientado a conexión
usado por el origen y el destino para la comunicación de
datos a través de una red de paquetes
conmutados.
Los datos en una red basada en IP son enviados en
bloques conocidos como paquetes o datagramas. IP provee
un servicio de datagramas no confiable (también llamado
best effort). IP no provee ningún mecanismo para
determinar si un paquete alcanza o no su destino y
únicamente proporciona seguridad
(mediante checksums o sumas de comprobación) de
sus cabeceras y no de los datos transmitidos. Si se necesita
fiabilidad, ésta es proporcionada por los protocolos de
la capa de transporte, como TCP.
Si la información a transmitir ("datagramas")
supera el tamaño máximo "negociado" (MTU) en el
tramo de red por el que va a circular podrá ser dividida
en paquetes más pequeños, y reensamblada luego
cuando sea necesario. Estos fragmentos podrán ir cada uno
por un camino diferente dependiendo de como estén de
congestionadas las rutas en cada momento.
Las cabeceras IP contienen las direcciones de
las máquinas de origen y destino (direcciones IP),
direcciones que serán usadas por los conmutadores de
paquetes (switches) y los enrutadores (routers) para decidir el
tramo de red por el que reenviarán los
paquetes.
Dirección IP
Una dirección IP es un número
que identifica de manera lógica y jerárquicamente a
una interfaz de un nodo dentro de una red que
utilice el protocolo de Internet que corresponde al nivel de capa
de red del modelo OSI.
Enrutamiento
En comunicaciones, el enrutamiento o ruteo es el
mecanismo por el que en una red los paquetes de
información se hacen llegar desde su origen a su destino
final, siguiendo un camino o ruta a través de la red. En
una red grande o en un conjunto de redes interconectadas el
camino a seguir hasta llegar al destino final puede suponer
transitar por muchos nodos intermedios.
Asociado al encaminamiento existe el concepto de
métrica, que es una medida de lo "bueno" que es usar un
camino determinado. La métrica puede estar asociada a
distintas magnitudes: distancia, coste, retardo de
transmisión, número de saltos, etc., o incluso a
una combinación de varias magnitudes.
Versión (4 bits). Este campo
describe el formato de la cabecera utilizada, en nuestro caso
IPv4 (IP versión 4).
Tamaño Cabecera (4 bits) Longitud de
la cabecera, en palabras de 32 bits. Su valor mínimo es de
5 para una cabecera correcta, y el máximo de
15.
Tipo de Servicio (8 bits). Indica una serie
de parámetros sobre la calidad de servicio deseada durante
el tránsito por una red. Algunas redes ofrecen prioridades
de servicios, considerando determinado tipo de paquetes
"más importantes" que otros. Estos 8 bits se agrupan de la
siguiente manera. Los 5 bits de menos peso son independientes e
indican características del servicio:
bit 0: sin uso, debe permanecer en 0.
bit 1: 1 costo mínimo, 0 costo normal.
bit 2: 1 máxima fiabilidad, 0 fiabilidad
normal.
bit 3: 1 maximo rendimiento, 0 rendimiento
normal.
bit 4: 1 mínimo retardo, 0 retardo
normal.
Los 3 bits restantes están relacionados con la
precedencia de los mensajes, un indicador adjunto que indica el
nivel de urgencia. La urgencia que estos estados representan
aumenta a medida que el número formado por estos 3 bits lo
hace, y responden a los siguientes nombres.
000: De rutina.
001: Prioritario.
010: Inmediato.
011: Relámpago.
100: Invalidación relámpago.
101: Procesando llamada crítica y de
emergencia.
110: Control de trabajo de Internet.
111: Control de red.
Longitud Total (16 bits). Es el
tamaño total en bytes del datagrama, incluyendo el
tamaño de la cabecera y el de los datos. El tamaño
máximo de los datagramas usados normalmente es de 576
bytes (64 de cabeceras y 512 de datos).
En caso de fragmentación este campo
contendrá el tamaño del fragmento, no el del
datagrama original.
Identificador (16 bits). Identificador
único del datagrama. Se utilizará, en caso de que
el datagrama deba ser fragmentado, para poder distinguir los
fragmentos de un datagrama de los de otro. El nodo origen del
datagrama debe asegurar un valor único para la pareja
origen-destino y el tipo de protocolo durante el tiempo que el
datagrama pueda estar activo en la red.
Indicadores (3 bits). Actualmente utilizado
sólo para especificar valores relativos a la
fragmentación de paquetes:
bit 0: Reservado; debe ser 0
bit 1: 0 = Divisible, 1 = No
Divisible (DF)
bit 2: 0 = Último
Fragmento, 1 = Fragmento Intermedio (le siguen
más fragmentos) (MF)
La indicación de que un paquete es indivisible
debe ser tenida en cuenta bajo cualquier circunstancia. Si el
paquete necesita ser fragmentado, no se
enviará.
Posición de Fragmento (13 bits). En
paquetes fragmentados indica la posición, en unidades de
64 bits, que ocupa el paquete actual dentro del datagrama
original. El primer paquete de una serie de fragmentos
contendrá en este campo el valor 0.
Tiempo de Vida (TTL) (8 bits). Indica el
máximo número de nodos que un paquete puede
atravesar. Cada vez que algún nodo procesa este paquete
disminuye su valor en 1 como mínimo, una unidad. Cuando
llegue a ser 0, el paquete será descartado.
Protocolo (8 bits). Indica el protocolo de
nivel superior contenido en el campo datos del datagrama.
Vea Números de protocolo IP para comprender como
interpretar este campo.
Suma de Control de Cabecera: 16
bits
Suma de Contol de cabecera. Se recalcula cada vez que
algún nodo cambia alguno de sus campos (por ejemplo, el
Tiempo de Vida). El método de cálculo
(intencionadamente simple) consiste en sumar el complemento a 1
de cada palabra de 16 bits de la cabecera y hacer el complemento
a 1 del valor resultante.
Dirección IP de origen (32 bits).
Indica la dirección IP del nodo origen.
Dirección IP de destino (32 bits).
Indica la dirección IP del nodo destino
Opciones (Variable) Aunque no es
obligatoria la utilización de este campo, cualquier nodo
debe ser capaz de interpretarlo. Puede contener un número
indeterminado de opciones, que tendrán dos posibles
formatos: Formato de opciones simple y Formato de opciones
compuesto
Relleno (Variable). Utilizado para asegurar
que el tamaño, en bits, de la cabecera es un
múltiplo de 32. El valor usado es el 0.
TCP (Transmission Control Protocol)
TCP es uno de los principales protocolos de la capa
de transporte del modelo TCP/IP. En el nivel de
aplicación, posibilita la administración de datos
que vienen o van al nivel inferior del modelo OSI (IP). Cuando se
proporcionan los datos al protocolo IP, los agrupa en datagramas
IP, fijando el campo del protocolo en 6 (para que sepa con
anticipación que el protocolo es TCP). TCP es
un protocolo orientado a conexión, es decir, que
permite que dos máquinas que están comunicadas
controlen el estado de la transmisión.
Las principales características del protocolo TCP
son las siguientes:
TCP permite colocar los datagramas nuevamente en orden
cuando vienen del protocolo IP.
TCP permite que el monitoreo del flujo de los datos y
así evita la saturación de la red.
TCP permite que los datos se formen en segmentos de
longitud variada para "entregarlos" al protocolo IP.
TCP permite multiplexar los datos, es decir, que la
información que viene de diferentes fuentes (por ejemplo,
aplicaciones) en la misma línea pueda circular
simultáneamente.
Por último, TCP permite comenzar y finalizar la
comunicación amablemente.
Puerto de origen (16 bits).
Puerto relacionado con la aplicación en curso en la
máquina origen
Puerto de destino (16 bits).
Puerto relacionado con la aplicación en curso en la
máquina destino
Número de secuencia (32
bits). Cuando el indicador SYN está fijado en 0, el
número de secuencia es el de la primera palabra del
segmento actual. Cuando SYN está fijado en 1, el
número de secuencia es igual al número de secuencia
inicial utilizado para sincronizar los números de
secuencia (ISN).
Número de acuse de
recibo (32 bits). El número de acuse de recibo,
también llamado número de descargo se relaciona con
el número (secuencia) del último segmento esperado
y no el número del último segmento
recibido.
Margen de datos (4 bits). Esto
permite ubicar el inicio de los datos en el paquete. Aquí,
el margen es fundamental porque el campo opción es de
tamaño variable.
Reservado (6 bits). Un campo
que actualmente no está en uso pero se proporciona para el
uso futuro.
Indicadores (6×1 bit). Los
indicadores representan información adicional:
URG Si este indicador está
fijado en 1, el paquete se debe procesar en forma
urgente.
ACK Si este indicador está
fijado en 1, el paquete es un acuse de recibo.
PSH (PUSH): Si este indicador
está fijado en 1, el paquete opera de acuerdo con el
método PUSH.
RST Si este indicador está
fijado en 1, se restablece la conexión.
SYN El indicador SYN de TCP indica
un pedido para establecer una conexión.
FIN Si este indicador está
fijado en 1, se interrumpe la conexión.
Ventana (16 bits). Campo que
permite saber la cantidad de bytes que el receptor desea recibir
sin acuse de recibo.
Suma de control (CRC). La suma
de control se realiza tomando la suma del campo de datos del
encabezado para poder verificar la integridad del
encabezado.
Puntero urgente (16 bits).
Indica el número de secuencia después del cual la
información se torna urgente.
Opciones (Variable). Diversas
opciones
Relleno. Espacio restante
después de que las opciones se rellenan con ceros para
tener una longitud que sea múltiplo de 32 bits.
DNS (Domain Name Service)
DNS es un sistema de nomenclatura jerárquica para
computadoras, servicios o cualquier recurso conectado a internet
o a una red privada. Este sistema asocia información
variada con nombres de dominios asignado a cada uno de los
participantes. Su función más importante, es
traducir (resolver) nombres inteligibles para los humanos en
identificadores binarios asociados con los equipos conectados a
la red, esto con el propósito de poder localizar y
direccionar estos equipos mundialmente.
El DNS es una base de datos distribuida
y jerárquica que almacena información
asociada a nombres de dominio en redes
como Internet. Aunque como base de datos el DNS es capaz de
asociar diferentes tipos de información a cada nombre, los
usos más comunes son la asignación de nombres de
dominio a direcciones IP y la localización de
los servidores de correo electrónico de cada
dominio.
La asignación de nombres a direcciones IP es
ciertamente la función más conocida de los
protocolos DNS. Por ejemplo, si la dirección IP del
sitio FTP de prox.mx es 200.64.128.4, la mayoría de
la gente llega a este equipo especificando ftp.prox.mx y no la
dirección IP. Además de ser más fácil
de recordar, el nombre es más fiable. La dirección
numérica podría cambiar por muchas razones, sin que
tenga que cambiar el nombre.
Inicialmente, el DNS nació de la necesidad de
recordar fácilmente los nombres de todos los servidores
conectados a Internet. En un inicio, SRI (ahora SRI
International) alojaba un archivo
llamado HOSTS que contenía todos los
nombres de dominio conocidos (técnicamente, este archivo
existe la mayoría de los sistemas operativos actuales
pueden ser configurados para revisar su archivo hosts]). El
crecimiento explosivo de la red causó que el sistema de
nombres centralizado en el archivo hosts no resultara
práctico y en 1983, Paul
Mockapetris publicó los
RFCs 882 y 883 definiendo lo que hoy en
día ha evolucionado hacia el DNS moderno.
(Estos RFCs han quedado obsoletos por la
publicación en1987 de los
RFCs 1034 y 1035).
A = Address – (Dirección) Este
registro se usa para traducir nombres de hosts a direcciones
IPv4.
AAAA = Address – (Dirección) Este
registro se usa para traducir nombres de hosts a
direcciones IPv6.
CNAME = Canonical Name – (Nombre
Canónico) Se usa para crear nombres de hosts adicionales,
o alias, para los hosts de un dominio. Es usado cuando se
están corriendo múltiples servicios (como ftp y web
server) en un servidor con una sola direccion ip. Cada servicio
tiene su propia entrada de DNS (como ftp.ejemplo.com. y
www.ejemplo.com.). esto también es usado cuando corres
múltiples servidores http, con diferente nombres, sobre el
mismo host.
NS = Name Server – (Servidor de Nombres)
Define la asociación que existe entre un nombre de dominio
y los servidores de nombres que almacenan la información
de dicho dominio. Cada dominio se puede asociar a una cantidad
cualquiera de servidores de nombres.
MX (registro) = Mail Exchange – (Registro de
Intercambio de Correo) Asocia un nombre de dominio a una lista de
servidores de intercambio de correo para ese dominio.
PTR = Pointer – (Indicador) También
conocido como 'registro inverso', funciona a la inversa del
registro A, traduciendo IPs en nombres de dominio.
SOA = Start of authority – (Autoridad de la
zona) Proporciona información sobre la zona.
HINFO = Host INFOrmation –
(Información del sistema informático)
Descripción del host, permite que la gente conozca el tipo
de máquina y sistema operativo al que corresponde un
dominio.
TXT = TeXT – ( Información textual)
Permite a los dominios identificarse de modos
arbitrarios.
LOC = LOCalización – Permite indicar
las coordenadas del dominio.
WKS – Generalización del registro MX
para indicar los servicios que ofrece el dominio. Obsoleto en
favor de SRV.
SRV = SeRVicios – Permite indicar los
servicios que ofrece el dominio. RFC 2782
SPF = Sender Policy Framework – Ayuda a
combatir el Spam. En este registro se especifica cual o cuales
hosts están autorizados a enviar correo desde el dominio
dado. El servidor que recibe consulta el SPF para comparar la IP
desde la cual le llega, con los datos de este
registro.
Consulta ARP
Durante la captura de tráfico, se logra capturar
la consulta ARP de un equipo que intenta obtener la
dirección MAC del Default Gateway. Esta consulta se
realiza en dos pasos
En primer lugar el equipo 172.16.100.27, necesita
conocer la dirección MAC del Default Gateway, enviando
para ello una consulta ARP (ARP Request) con dirección de
MAC booadcast FF:FF:FF:FF:FF:FF
Por último, el equipo que ha reconocido su IP
(default Gateway, envía una respuesta ARP (ARP Reply) en
donde informa su dirección MAC, logrando de esta manera
que su dirección sea almacenada en la tabla ARP del
equipo, y que otras aplicaciones puedan utilizar esta
información para dar curso a sus propios
procesos
Consulta DNS
En primer lugar, en el paquete 153 de la captura, el
equipo realiza una consulta DNS para traducir la url introducida
en una dirección IP
Y vemos como ya en el paquete 154 de la captura el
servidor DNS a entregado su respuesta, informando la
dirección IP de www.bancochile.cl
Sesión TCP
Establecimiento de conexión (handshake de tres
vías)
A continuación, procedemos a identificar el
inicio de sesión TCP (handshake de tres vías),
reconocidos en los paquetes 208, 209 y 210.
Se debe tener en cuenta que las direcciones destino
registradas por Wireshark son las direcciones locales del Proxy
de navegación utilizado (172.19.34.96) y no las IP de
Internet propiamente tal
1. SYN
2. SYN /ACK
3. ACK
Lo cual podemos ver claramente reflejado en
la opción diagráma de flujo
Cierre de Conexión
La fase de finalización de la conexión usa
una negociación en cuatro pasos, terminando la
conexión desde cada lado independientemente.
Cuando uno de los dos extremos de la conexión
desea parar su "mitad" de conexión transmite un
paquete FIN, que el otro interlocutor asentirá con un
ACK. Por tanto, una desconexión típica requiere un
par de segmentos FIN y ACK desde cada lado de la
conexión.
Para el ejemplo utilizado, esto sucede
finalmente con el cierre del navegador, a partir del paquete
876
Tráfico Total v/s Tráfico
TCP
Simulaciones
Como ya se presentó anteriormente, Packet Tracer
es una herramienta gratuita de simulación y aprendizaje de
redes desarrollada por Cisco.
El objetivo de este apartado es trabajar una
implementación práctica y plantear su potencial
como herramienta educativa planteando casos de tráfico:
Handshake TCP, ARP y PING
A fin de realizar las pruebas se configura la siguiente
red
Los equipos involucrados en las pruebas se encuentran
configurados de la siguiente manera
Router 1
IP DG: 172.19.2.68/26
MAC: 0090.2B3E.2701
Router 2
IP DG: 172.19.24.193/26
MAC: 0010.115C.B002
Server 1
IP: 172.19.2.68/26
MAC: 0060.704D.AE23
PC 2
IP: 172.19.24.194/26
MAC: 0002.163B.7639
PC 3
IP: 172.19.24.195/26
MAC: 0001.C74C.55BB
Handshake de Tres Vías. Inicio de Una
Sesión TCP.
El lado cliente de una conexión realiza una
apertura activa de un puerto enviando un paquete SYN inicial
al servidor como parte de la negociación de tres pasos. En
el lado del servidor se comprueba si el puerto está
abierto, es decir, si existe algún proceso escuchando en
ese puerto. En caso de no estarlo, se envía al cliente un
paquete de respuesta con el bit RST activado, lo que
significa el rechazo del intento de conexión.
En caso de que sí se encuentre abierto el puerto,
el lado servidor respondería a la petición SYN
válida con un paquete SYN/ACK.
Finalmente, el cliente debería responderle al
servidor con un ACK, completando así la
negociación en tres pasos (SYN, SYN/ACK y ACK) y la fase
de establecimiento de conexión.
a) PC 3 (172.19.24.195) solicita iniciar una
sesión TCP (SYN) con el Server 1 HTTP (172.19.2.60), SYN =
0, SEQ = 0.
b) El Server 1 responde a la solicitud y requiere a su
vez el inicio de sesión TCP con PC 3 (SYN + ACK), SYN = 0,
SEQ = 1.
c) El PC 3 confirma la solicitud del Server 1
estableciendo así la sesión TCP y dando paso al
inicio de la transferencia de datos (ACK), SYN = 1, SEQ =
1.
ICMP (Ping) y ARP
Se realiza esta vez una prueba de ping entre PC 3 y PC 2
considerando la tabla ARP vacía (red recién
encendida)
a) PC 3 realiza requiere una conexión de ping
hacia PC 2, pero al no conocer su ubicación, genera una
consulta ARP con dirección MAC broadcast
FFFF.FFFF.FFFF
b) PC 2 responde la consulta ARP informando su
dirección MAC, al mismo tiempo el Router 1 descarta la
consulta al comprobar que la dirección IP de la consulta
no le corresponde
c) PC 3 recibe la respuesta a la consulta
ARP con la dirección MAC destino de PC y genera ahora la
consulta ICMP (Ping)
d) PC 2 responde satisfactoriamente a la
consulta ICMP realizada
e) PC 3 recibe la confirmación de
respuesta
Autor:
Carlos Manosalva Uhart
Universidad de Santiago de Departamento de Ingeniería Postítulo en |
Santiago – 2010