Vous êtes sur la page 1sur 5

PRACTICA LIBRE WIRESHARK Bloque 1: Ethernet y ARP Identificar las direcciones MAC de 48 bits de los ordenadores que aparecen

en la traza Hay al menos 3 formas de obtener esta informacin: (1) inspeccin de tramas ethernet, (2) dem deshabitando "Analyze -> Enabled Protocols) y (3) observando las conversaciones a nivel Ethernet con "Statistics->Conversations->Ethernet" y desmarcando "Name Resolution". La opcin 3 es la ms conveniente. AmbitMic_a9:3d:68 (00:d0:59:a9:3d:68), LinksysG_da:af:73 (00:06:25:da:af:73), Telebit_73:8d:ce (00:08:ad:73:8d:ce). Emparejar las tramas ARP Request y Reply en la traza 1 AmbitMic_a9:3d:68 Broadcast Who has 192.168.1.1? Tell 192.168.1.105 2 LinksysG_da:af:73 AmbitMic_a9:3d:68 192.168.1.1 is at 00:06:25:da:af:73 Los dos primeros paquetes ARP corresponden al ordenador que ejecuta Wireshark, pero hay otro ordenador en la red (ver paquete 6). Por qu en la traza no hay respuesta ARP al paquete 6 ? Existen dos opciones (1) El host 192.168.1.117 no est present en la red (2) El host existe pero slo escuchamos la solicitud (porque se hace en broadcast) y no la respuesta (porque va dirigida nicamente al que pregunta: 192.168.1.104)

Bloque 2: IP Ordenando los datagramas por direccin origen, determinar qu campos del datagrama IP varan siempre en la serie enviada por el mismo ordenador, cuales no varan nunca y cules pueden cambiar alguna vez No varian: version, source Rara vez: flags, time to live, protocol, differentiated services, destination, ... Siempre: checksum, identification cmo vara el identificador del datagrama ? Varia de manera incremental (anterior+1) Localizar el primer paquete ICMP Request que corresponde al envo de paquetes de tamao 2000. se ha fragmentado ?

Corresponde al Frame 93. Para encontrarlo he usado el filtro: "ip.flags.mf == 1" y de esta forma he visto que el frame 92 es el primer paquete IP que tiene fragmentos. Al quitar el filtro vemos que el frame 93 es en realidad el reensamblado de un paquete ICMP Echo Request que consta de dos fragmentos (el primero de ellos el frame 92) (*1, *2) Qu ocurre con los de tamao 3500 ? Cmo se reconocen todos los paquetes del mismo envo ICMP Echo Request ? Corresponde al Frame 218. Este es ms difcil de encontrar aunque podemos optar por buscar los paquetes ICMP cuyo TTL es 1 (ip.ttl == 1) y adems son de tipo Echo Request (icmp.type == 8). Para obtener todos los fragmentos del mismo paquete basta con ir al paquete rensamblado (ICMP) y dentro de la zona correspondiente a la cabecera IP (donde se realiza este proceso) aparece los fragmentos. En el caso del paquete ICMP del frame 218 se observan 3 fragmentos que corresponden a los frames 216 (1480 bytes), 217 (1480 bytes) y 218 (548 bytes). Ojo: 1480+1480+548 = 3508 (3500 + 8 bytes de cabecera ICMP) (*1, *2) (*1) Existe una solucin mejor utilizando el filtro: ip.fragments Devuelve los paquetes que se han formado a partir de fragmentos IP, es decir, muestra los paquetes reensamblados. (*2) Tambin se puede puede utilizar el filtro: data.len == 2000 o data.len == 3500. [FILTRO: tcp.segments ---> Devuelve los paquetes que contienen fragmentos TCP. Esto es til para eliminar todos los fragmentos y quedarnos slo con los paquetes reensamblados! ] Bloque 3: ICMP Determinar qu campos cambian y cules no entre los paquetes Echo Request y sus correspondientes Echo Reply Type: 8 (request), 0 (reply) Checksum - Ojo: TTL en realidad no es a nivel ICMP sino a nivel IP Hay diferencias entre los paquetes ICMP empleados por Ping y por Tracert ? Los requests iguales (salvo por el tamao del payload: esto puede modificarse) En tracert no hay ICMP Echo Replies (type 0) - Nodos intermedios: ICMP TTL exceeded (type 11) - Finales: ICMP Echo Reply (type 0) o ICMP host/port unreachable (type 3) Bloque 4: DHCP Emplear la opcin Statistics->Flow Graph para ver el flujo de paquetes DHCP

Emplear el filtro "bootp" para dejar solo los paquetes DHCP Sobre qu protocolo se transporte DHCP ? UDP (puertos 67 y 68) Localizar los valores de los identificadores de transacciones y ver sus diferencias ID: 0x3e5e0ce3 / 0x257e55a3 / 0xb7a32733 / 0x3a5df7d9 Son completamente aleatorios Qu valores de direccin IP se usan mientras se espera la asignacin de una direccin ? Se utiliza 0.0.0.0 si el host no tena IP asignada previamente (Discover) Qu direccin IP tiene el servidor DHCP ? 192.168.1.1 pero al principio se hace un broadcast porque el cliente no conoce la IP de este. Cunto tiempo permite el servidor usar una direccin IP ? Esto se oferta en el DHCP Offer: 1 da Hay peticiones ARP del servidor DHCP ? Explicar el motivo. Antes de asignar una direccin IP, el servidor DHCP se asegura de que no est en uso por otro cliente. Adems, una vez asignada comprueba que el cliente recin configurado le responde.

Bloque 5: UDP/DNS Seleccionar un paquete de tipo UDP y determinar cuantos campos tiene su cabecera y el contenido de cada uno Tiene 4 campos + payload : 16 b 16 b +--------------------+--------------------+ | src port | dest port | | length | Checksum | | Datos (variable) |

Qu longitud tiene cada campo de la cabecera del paquete UDP ? 16 bits = 2 bytes

A qu se refiere el campo longitud ? Confirmarlo con algunos paquetes. Longitud (en bytes) del paquete UDP completo (cabecera + payload) Que tamao mximo de datos puede ir en un paquete UDP ? Longitud mxima de length = 2^16 = 65.536 ---> 2^16 - 8 (cabecera) = 65.528 Cul es la longitud mxima para el nmero de puerto ? 65.536 => 0 - 65.535 Cul es el identificador del protocolo UDP en los paquetes IP ? En IP.Protocol => 17 Seleccionar dos paquetes que correspondan a una peticin y a su respuesta y estudiar la relacin que hay entre los campos de su cabecera - A nivel UDP se relacionan por puertos src: 3163 ------> dst: 53 dst: 3163 <------ src: 53 - A nivel DNS se utiliza un Transaction ID para relacionar peticin respuesta Bloque 6: HTTP Cul es la direccin IP y el nmero de puerto usado por el cliente para transferir el fichero a gaia.cs.umass.edu ? Buscamos los paquetes HTTP y obtenemos el host destino. Para ello usamos el siguiente filtro: http.host == gaia.cs.umass.edu Mirando la direccin IP de este paquete observamos que destino es: 128.119.245.12 Cul es el nmero de secuencia del segmento TCP SYN para iniciar la conexin con gaia.cs.umass.edu ? El nmero de seq: 0x0DD601F4 (relative sequence number = 0) La forma de obtenerlo es buscando el primer paquete del 3-way handshake de TCP que tiene el flag SYN activado y el ACK desactivado. Montamos un filtro: tcp.flags.syn == 1 and tcp.flags.ack == 0

Cul es el nmero de secuencia del segmento TCP SYNACK de respuesta?

El nmero de seq: 0x34A27419 Para encontrarlo podemos buscar el paquete que tiene ACK = 0x0DD601F4 + 1 tcp.ack == 0x0DD601F5 Sin embargo, esto no funciona y es necesario utilizar el "relative ack number" que es 1 ( relative sequence number + 1). Adems, de indicar que el numero de secuencia relativo del paquete es 0 tcp.ack == 1 and tcp.seq == 0 Tambin podramos haber utilizado los flags (ambos a 1) tcp.flags.syn == 1 and tcp.flags.ack == 1 Cul es el nmero de secuencia del segmento TCP que contiene el primer comando POST de HTTP ? El primero de los fragmentos TCP del HTTP POST es el frame 4 (puede verse en la cabecera TCP) y su nmero de secuencia es 0x0DD601F5 (relativo = 1)