domingo, 13 de diciembre de 2015

Apuntes - Procesamiento Consultas - Sistemas Bases Datos UNED

Bueno después de la primera PEV he encontrado un poco de tiempo para compartir alguna cosilla :-).

Adjunto un pequeño resumen sobre las operaciones selección y reunión + ordenación externa.

Aquí --> Procesamiento Consultas

Culex.

martes, 10 de noviembre de 2015

BIG Data, búsqueda de patrones


Aprovechado que en la asignatura SBD estamos realizando una practica introductoria al manejo de Big Data con Hadoop  puede que está noticia sea interesante.

Aquí la noticia ->  ClustEv

Y aquí el webservice -> Clusteval_WS

Culex.

jueves, 15 de octubre de 2015

DropBox & UNED II

Estamos otra vez de suerte si usamos dropbox. Nos podemos registrar con nuestra cuenta de estudiante y conseguir de formar temporal 25GB de espacio.


Es la segunda vez que podemos beneficiarnos de los 25 GB 


Culex.


viernes, 25 de septiembre de 2015

UNED calendario académico 2015 -2016

Como todos los años ando despistado con las fechas de inicio curso, exámenes, actas y demás este año ya tengo el calendario académico con todaaaaaasssssss las fechas


Culex.

jueves, 24 de septiembre de 2015

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

Adjunto el código y las respuestas de la ped.


Culex.

viernes, 4 de septiembre de 2015

There is not such thing as "Not compatible"

Nunca os ha pasado que cueste lo que cueste hemos puesto en practica alguna idea loca......

Mejor ejemplo imposible...  no lo he podido resistir ;-)




Culex.

Wireshark III

Con objeto puramente didáctico adjunto un ejemplo donde el proceso AvastUI.exe (antivirus) realiza una consulta a   su.ff.avast.com (Streaming updates server) con el objeto de comprobar si existen actualizaciones.

Lo primero que hace el proceso es realizar una consulta al servidor dns con el objeto de obtener la IP del webservice que necesita.

El proceso consultara  la cache local DNS y si no encuentra  respuesta o esta  es errónea el programa de nivel aplicación DNS lanzará la consulta que se encapsula en un segmento  UDP  del nivel de transporte. Podemos consultar la cache DNS de nuestro equipo con el comando ipconfig /displaydns.


Aquí vemos la cabecera de un segmento UDP




En la trama 1 vemos la petición




y en la trama 2 vemos la respuesta




Si nos fijamos en el detalle en hexadecimal podemos ver que el calculo de la IP es correcto.




4d -> 64 + 13 = 77
ea -> 224 + 10 = 234
29 -> 32 + 9 = 41
41 -> 64 + 1 = 65


Una vez obtenemos la dirección IP se procede a establecer la comunicación.

En las tramas 3,4 y 5 vemos el establecimiento de la conexión three-way handshaking

En el segmento de la trama 3 vemos que el flag SYN está activo. El cliente inicia el establecimiento de la conexión. En el segmento de la trama 4 vemos que el flag SYN + ACK. Esto permite confirmar al cliente que el servidor ha recibido la petición de la trama anterior y a su vez el servidor realiza una petición de conexión con el cliente. En el segmento de la trama 5 vemos el flag ACK donde el cliente confirma al servidor ha recibido la petición de la trama anterior y la transmisión de datos puede comenzar



En la trama 6 vemos como el protocolo de nivel de aplicación HTTP realiza la consulta al servidor

Un forma sencilla de seguir los pasos de la conexión podría ser comprobando en la zona de detalles de paquetes la opción [SEQ/ACK analysis], en este ejemplo se ve claramente que esta trama de confirmacion de recepcion de la trama nº6


Culex.




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.