martes, 18 de agosto de 2015

Wireshark II

Una vez iniciamos una captura de tráfico la pantalla se divide en tres  áreas. 

Lista de paquete
Detalle de paquetes (seleccionado arriba )
Detalle de paquetes (seleccionado en la lista de paquete en bytes)




Y bueno, en este punto nos vendría bien revisar un poco el modelo de comunicaciones TCP-IP.

A diferencia del modelo OSI (7 niveles) en el modelo TCP-IP solo tenemos 4 niveles.

1 -     Engloba nivel físico y enlace de datos (TRAMA). MAC – 48 bits

2 -   Nivel red (PAQUETE). Usa protocolo interconexión IP  (no fiable, no orientado a conexión, mejor entrega posible. Los datagramas pueden viajar fuera de orden y por rutas distinas)  + otro conjunto protocolos necesarios: ICMP, IGMP, ARP, RARP …… IPV4 32 bits IPV6 128 bits

3-  Nivel transporte(SEGMENTO). Protocolos proceso a proceso (UDP, TCP, SCTP…) 2^16 65536 nº puerto

4-    Nivel aplicación (DATOS). FTP, HTTP, DNS, TELNET, correo electrónico….



Aquí vemos la estructura de una trama y algunos enlaces de interes.



Y con algo más detalle aquí suite-protocolos-tcp-ip

Lo más divertido es cuando ves que toda la teoría que hemos visto, que si dirección origen, destino,   carga útil, flags and etc etc se materializa ante tus ojillos inquietos.

En azul el conjunto de toda la trama + carga útil (paquete IP) + carga útil  (segmento TCP)


Dirección física destino de la trama


Dirección física origen de la trama



Ahora vemos información sobre el protocolo usado en el payload (carga) en este ejemplo 0x0800 IPv4



Y podemos hacer la mismo con los datos del paquete (en este ejemplo IP),  primero vemos el detalle de la cabecera (entre 20y 60 Bytes) 





Y la carga, denominada segmento, (en esta caso protocolo TCP) El segmento TCP está compuesto por los datos enviados desde el nivel de aplicación y la cabecera añadida en el nivel  de transporte. El segmento TCP es luego encapsulado en un datagrama IP para ser enviado por la capa de red.






No podemos olvidar que la comunicación real tiene lugar entre procesos (usando sockets). Dos procesos se comunican en una relacion cliente-servidor (el puerto cliente puede ser aleatorio pero el del servidor no).


Un socket es una interfaz de entrada-salida de datos que permite la intercomunicación entre procesos. Los procesos pueden estar ejecutándose en el mismo o en distintos sistemas, unidos mediante una red. Un identificador de socket es una pareja formada por una dirección IP y un puerto. Cuando un programa crea un socket puede solicitarle al sistema operativo que asocie un número de puerto con el socket.

Todos sabemos que un ordenador siempre está haciendo cosas pero verlo en directo es curioso…Lanza una captura y sin hacer absolutamente nada observa el movimiento de tramas..... curioso ¿no?

Culex.


viernes, 14 de agosto de 2015

PED Teoría Lenguajes Programación 2013-2014 (Haskell - UNED)

Ver como el ED resolvió en Haskell  la practica el año pasado me ayudó mucho con la de este año... Nonogramas.

Practica 2013-2014

Por si le viene bien a alguien.

Culex.

jueves, 6 de agosto de 2015

Wireshark I

Como con este maldito verano no hay muchas cosas que puedas hacer durante el día sin morir deshidratado me he puesto a trastear un poco con Wireshark  y al final voy a realizar una serie de post para contaros un poco mis experiencias ;)




Lo primero, Wireshark es una herramienta que nos permite analizar el trafico de red. Y para que sirve esto te preguntaras,..., pues para muchas cositas... por ejemplo podemos ver de forma real todo lo que hemos visto en la asignatura Redes de Computadores.

En el site de Wireshark podemos encontrar un montón de videos que nos explican como configurar y usar  la herramienta por lo que solo voy a comentar un poco por encima el tema de los profiles ya que me ha parecido una forma rápida de cambiar la visualización sin tener que estar ocultando o mostrando columnas.

Aquí los crearíamos, y una vez creado podemos ir cambiando la configuración del mismo sin preocuparnos por tener que guardar los cambios ya que lo hace el de forma automática.



Luego para mostrar un profile diferente solo es necesario seleccionar el que queramos abajo a la izquierda.



Aquí vemos un par de ejemplos.









Otra opción interesante es saber identificar, sin ambigüedades, el dispositivo de red que queremos analizar.



En windows usaríamos el comando ipconfig




Y por hoy lo dejamos. El próximo día veremos una pequeña explicación de las diferentes partes de las ventanas de análisis y un poco de teoría.

Culex.