Anda di halaman 1dari 11

UNIVERSIDAD DE CUENCA FACULTAD DE INGENIERIA ESCUELA DE INFORMATICA REDES DE COMPUTADORES 1 PRCTICA: ANALISIS DE UDP UTILIZANDO WIRESHARK NOMBRES: Angel

Oswaldo Vzquez Patio NOTA:

PROCEDIMIENTO En esta prctica se estudiar el protocolo de transporte UDP. Debido a que UDP es simple y no requiere de mucha informacin en su estructura; la prctica es sencilla. En esta prctica, se emplear Wireshark. TAREA A REALIZAR Empiece la captura de paquetes en Wireshark y realice una tarea en la cual el computador local enve y reciba varios paquetes UDP. Por ejemplo, el uso del comando nslookup generar trfico UDP.

Si no tiene posibilidad de generar trfico UDP, se puede utilizar el archivo de trazas de paquetes UDP disponible como resultado de una captura de trfico UDP generado por actividad de DNS en un computador local. 1 Luego de generar el trfico UDP, detenga el proceso de captura en Wireshark, fije el filtro de modo que se muestren solamente paquetes UDP enviados y recibidos por el computador local. Seale uno de estos paquetes UDP y expanda los campos UDP en la ventana de detalles.

Para emplear el archivo generado previamente, emplear en Wireshark la opcin File -> Open y seleccione el archivo udp-wireshark-trace.

Cuando sea necesario, al responder una pregunta se debera tener para referencia un reporte del paquete o paquetes dentro de la traza que se emplea para responder las preguntas. Incluya el reporte para explicar de mejor forma su respuesta.

Para generar un reporte de un paquete emplee File -> Print, luego seleccione Selected packets only, y a continuacin escoger Packet summary line, y seleccione la cantidad mnima de detalles de los paquetes para responder las preguntas: 1. Seleccione un paquete. De este paquete, determine cuntos campos existen en la cabecera UDP. Liste estos campos. Capture una pantalla que muestre estos campos.

Del paquete escogido se puede ver que la cabecera UDP tiene los siguientes campos: 2. Source port Destination port Length Checksum Desde el campo de contenido de un paquete, determine la longitud (en bytes) de cada uno de los campos de la cabecera UDP.

Del paquete escogido se puede presentar la siguiente tabla que muestra la informacin requerida. Campo Source port Destination port Length Checksum Hexadecim al C058 8181 006f 661D Decimal 49240 33153 111 26141 Binario 1100000001011000 1000000110000001 0000000001101111 0110011000011101 2 2 2 2 Tamao (bytes)

3. Qu longitud representa el valor en el campo Length? Verifique su respuesta con un paquete UDP capturado en el computador local. Este campo incluye tanto el encabezado como los datos. (1) De la pregunta dos vemos que el encabezado del paquete capturado para la prctica es de 8 bytes (Source port, Destination port, Length, Checksum) y de la captura de imagen de la pregunta uno vemos que los datos son igual a 103 bytes, sumando nos da 111 bytes que es lo que nos indica el campo Length.

4. Cul es el nmero mximo de bytes que pueden ser incluidos en un payload de UDP? En teora el mximo tamao del payload de UDP sera 65507 bytes. En la prctica esto est limitado por la implementacin del socket en el sistema operativo. Tampoco est claro que sucede cuando se supera este lmite. (2) 5. Cul es el nmero de puerto origen ms grande posible? Ya que el nmero de puerto de origen es un campo de 16 bits el nmero ms grande sera cuando todos los bits estn a uno es decir el nmero sera 11111111111111112=6553510=FFFF16 6. Cul es el nmero de protocolo de UDP? Dar su respuesta tanto en notacin hexadecimal como en decimal. Para responder esta pregunta, probablemente requiera examinar la cabecera IP. Examinando la cabecera del paquete que se muestra en la imagen siguiente se puede identificar que el nmero de protocolo de UDP es: 1116=1710.

7. Busque UDP en Google y determine los campos sobre los cuales se calcula el checksum de UDP. La idea en la que se basa la suma de chequeo de Internet es muy sencilla: se suman todas las palabras de 16 bits que conforman el mensaje y se transmite, junto con el mensaje, el resultado de dicha suma (checksum). Al llegar el mensaje a su destino, el receptor realiza el mismo clculo sobre los datos recibidos y compara el resultado con el checksum recibido. Si cualquiera de los datos transmitidos, incluyendo el mismo checksum, est corrupto, el resultado no concordar y el receptor sabr que ha ocurrido un error.

El checksum se realiza de la siguiente manera: los datos que sern procesados (el mensaje) son acomodados como una secuencias de enteros de 16 bits. Estos enteros se suman utilizando aritmtica complemento a uno para 16 bits y, para generar el checksum, se toma el complemento a uno para 16 bits del resultado. El uso del algoritmo de checksum de Internet en los headers de los protocolos se puede resumir en tres pasos simples. 1. Los octetos adyacentes que se deben verificar con la suma de chequeo deben ser acomodados para formar enteros de 16 bits, luego se calcula la suma complemento a uno de estos enteros (de 16 bits) 2. Para generar el checksum, el campo de checksum del header del PDU que ser transmitido es puesto en cero, luego la suma complemento a uno es calculada sobre los octetos correspondientes y el complemento a uno de esta suma se coloca en el campo de checksum. 3. Para revisar el checksum, la suma es calculada sobre los mismos octetos, incluyendo el campo de checksum. Si el resultado es 16 bits con valor 1 (-0 en aritmtica complemento a uno), el chequeo es correcto. Como un ejemplo sencillo del clculo del checksum supongamos que tenemos tres "palabras" de 16 bits 0110011001100110 0101010101010101 0000111100001111 La suma de las dos primeras palabras sera: 0110011001100110 0101010101010101 1011101110111011 Adicionando ahora la tercera "palabra" al resultado anterior tenemos 1011101110111011 0000111100001111 1100101011001010 La suma complemento a uno se obtiene convirtiendo todos los ceros en unos y todos los unos en ceros. De esta forma la suma complemento a uno de 1100101011001010 sera 0011010100110101. Que vendra a ser el checksum. Al llegar al receptor las cuatro palabras de 16 bits, incluyendo el checksum son sumados y el resultado debe ser 1111111111111111. Si uno de los bits es cero, un error ha sido detectado. (3) 8. Examine un par de paquetes UDP en el cual el primer paquete se enve desde el computador local y el segundo paquete sea una respuesta al primer paquete. Describa la relacin entre los nmeros de puertos en los dos paquetes. A continuacin se muestra la captura de dos paquetes UDP

Los dos puertos sirven para lo mismo que en el TCP: para identificar los puntos terminales de las mquinas origen y destino (4). Para este caso en particular se tiene entonces que se recibe un paquete de la mquina con direccin IP 90.209.84.33 desde el puerto 53849 hacia la mquina local con direccin IP 172.31.13.75 en el puerto 49240, para la respuesta de la mquina local hacia la otra se usan los mismo puertos pero en este caso el puerto de destino se convierte en puerto de envi y viceversa. 9. Capture un paquete UDP. Verifique manualmente el checksum de este paquete. Muestre todos los pasos de este proceso. A continuacin se muestra la captura de pantalla del paquete que se va a analizar (checksum=0xa0e3):

El mensaje UDP es el siguiente


0000 0010 0020 0030 0040 0050 0060 0070 0080 0090 00 00 0d 3a 30 65 43 69 00 65 16 83 4b 69 64 74 b8 6e 31 44 4c d2 64 ca 32 cc 64 3a 6a db 59 32 92 30 4e 5f 76 36 00 c0 30 f5 3a 1c 6e 34 34 00 58 3a c4 a5 8f 6f 3a 00 6d 00 ae 26 51 a1 64 55 1e 11 6f 7e 67 be 15 65 54 f7 98 a0 4c 31 2c 20 31 38 52 32 e3 f0 32 58 65 3a 7a 67 5a 64 fb 36 d7 31 74 31 cc d1 31 1d 3a bd 3a 34 3a 08 54 3a 6a 74 b7 71 3a 79 00 21 61 65 61 fa 39 b4 31 45 ac 64 59 72 e3 3a 1c 3a 00 1f 32 19 67 c6 66 01 71 ..Dj64.. ..L...m. .K.Y.X.o :id20:.~ 0d....&g et20:.Q. C..N.... ind_node .1:v4:UT e .Rg...E. .2Z.T!.. ..d1:ad2 L...jeY. 126:targ ,X...... e1:q9:f 1:t4:... 8z1:y1:q

El checksum para UDP se calcula sobre los octetos que componen un seudo-header, el header de UDP y los datos (que se deben completar con ceros al final si es necesario). Se debe recordar tambin los formatos del frame Ethernet, el header IPv4 y el header de UDP: Formato del frame Ethernet (el tamao de los campos est en bytes)

Formato del header de IPv4

Formato del header UDP

Ahora debemos separar nuestro frame en su componentes: header Ethernet, Header IPv4, Header UDP y Datos Header del frame Ethernet
00 16 44 6a 36 34 00 1e f7 52 67 cc 08 00

Header IPv4
45 00 00 83 4c db 00 00 6d 11 98 32 5a d1 54 21 ac 1f 0d 4b

Header UDP
d2 59 c0 58 00 6f a0 e3

Datos
64 31 3a 61 64 32..

El seudo-header de este mensaje sera:


5a d1 54 21 ac 1f 0d 4b

0011 0033

===> Direccin IP origen ===> Direccin IP destino ===> cero + nmero de protocolo + longitud UDP

A continuacin se suma, con aritmtica complemento a uno, el seudo-header + el header UDP + los datos UDP, como palabras de 16 bits

Suma con aritmtica complemento a uno del seudoheader


[Hex] [a8 b0] [03 19] [a8 b0] [01 32] [00 11] [00 33] [155 EF] Binario 1010100010110000 0000001100011001 1010100010110000 0000000100110010 0000000000010001 0000000000110011 10101010111101111

En la aritmtica complemento a uno, cuando una operacin genera un acarreo (carry) en el bit ms significativo, se debe incrementar el resultado
[55EF] [55F0] 0101010111101111 1 0101010111110000

Suma con aritmtica complemento a uno del header UDP


[Hex] [e5 73] [00 35] [00 33] [00 00] [E5 DB] Binario 1110010101110011 0000000000110101 0000000000110011 0000000000000000 1110010111011011

Suma con aritmtica complemento a uno de los datos transportados por UDP
[Hex] Binario [39 f9] 0011100111111001 [01 00] 0000000100000000 [00 01] 0000000000000001 [00 00] 0000000000000000 [00 00] 0000000000000000 [00 00] 0000000000000000 [02 35] 0000001000110101 [30 01] 0011000000000001 [31 03] 0011000100000011 [31 37] 0011000100110111 [36 03] 0011011000000011 [105 6D] 10000010101101101 0000010101101110 [56E] [31 36] 0011000100110110 [38 07] 0011100000000111 [69 6e] 0110100101101110 [2d 61] 0010110101100001 [100 0C] 10000000000001100 0000000000001101 [D] [64 64] 0110010001100100 [72 04] 0111001000000100 [61 72] 0110000101110010 [137 DA] 10011011111011010 0011011111011011 [37DB]

--> 0000010101101101 + 1 =

--> 0000000000001100 + 1 =

--> 0011011111011010 + 1 =

[70 [00 [0c [01 [7D

61] 00] 00] 00] 61]

0111000001100001 0000000000000000 0000110000000000 0000000100000000 0111110101100001

Se suman los subtotales


[Hex] Binario [5 6E] 0000010101101110 [ D] 0000000000001101 [37 DB] 0011011111011011 [7D 61] 0111110101100001 [BA B7] 1011101010110111

Para calcular el checksum se deben hacer dos cosas ahora, sumar los resultados obtenidos con el seudo-header, el header UDP y los datos y, finalmente, calcular el complemento a uno. 1. Suma de los resultados obtenidos con el seudo-header, el header UDP y los datos
[55 F0] 0101010111110000 [E5 DB] 1110010111011011 [BA B7] 1011101010110111 [1F6 82] 11111011010000010 1111011010000011 [F683]

--> 1111011010000010 + 1 =

El complemento a uno se obtiene convirtiendo todos los ceros en unos y todos los unos en cero. De esta forma, el complemento a uno de 1111011010000011 es 0000100101111100. Que vendra a ser el checksum: el hexadecimal a0 e3

Citas bibliogrficas 1. UDP Protocolo de datagrama de usuario. [En lnea] [Citado el: 13 de Mayo de 2009.] http://mi.ubp.edu.ar/archivosmiubp/MaterialDeEstudio/13/R-II/1497/UDP.pdf. 2. Orlandi, Guido, Tassara, Veira y Agustn, Alejandro. www.fiuba6662.com.ar. [En lnea] 2005. [Citado el: 13 de Mayo de 2009.] http://www.fiuba6662.com.ar/6648/presentaciones/2005/G2/G2_TP2.pdf. 3. Algoritmo de checksum de Internet. [En lnea] [Citado el: 13 de Mayo de 2009.] http://www.arcesio.net/checksum/checksuminternet.html. 4. El protocolo UDP. Herramientas WEB para enseanza de protocolos de comunicacin. [En lnea] [Citado el: 14 de Mayo de 2009.] http://neo.lcc.uma.es/evirtual/cdd/tutorial/transporte/udp.html.

5. Agudelo, Oscar. Clculo del campo de checksum en el header de UDP. arcesio.net. [En lnea] 2003. [Citado el: 14 de Mayo de 2009.] http://www.arcesio.net/checksum/checksumUDP.html.

Anda mungkin juga menyukai