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.
viernes, 4 de septiembre de 2015
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
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
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.
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.
Culex.
jueves, 16 de julio de 2015
Nslookup II
Seguimos viendo el uso de la herramienta de linea de comandos nslookup. Básicamente nos permite realizar consultas. a un servidor DNS.
El caso es que aparte de la funcionalidad básica podemos jugar un poco con el realizar modificar las consultas para obtener diferentes resultados.
La sintaxis es la siguiente:
nslookup [-option] [hostname] [server]
Estas son algunas consultas que he encontrado
Y unos ejemplos de uso.
Culex
domingo, 5 de julio de 2015
OSI - Oficina Seguridad Internauta
Hace unas semanas en uno de estos ratos libres que no sabes muy bien que hacer termine en está página OSI que no conocía y al final me subcribi a los boletines de seguridad.
Pienso que la web esta pensado para el publico en general y no hay mucho detalle técnico en los boletines pero aún así me parecen didácticos y por eso lo recomiendo.
El que me he leído hoy me parece interesante y lo pongo como ejemplo.
Culex.
lunes, 22 de junio de 2015
Apuntes - Teoría Lenguajes Programación UNED
Bueno ahora que han pasado los exámenes y se ve todo desde otra perspectiva tengo que decir que la asignatura me ha gustado bastante.
La practica en Haskell (la subiré en septiembre) es un verdadero infierno pero son ese tipo de retos que te hacen sentirte genial cuando lo consigues... No exagero si digo que pensé un montón de veces que no iba a ser capaz de hacer la practica.
Para el examen hay que estudiar pero el temario no es demasiado extenso.
Bueno, hay dejo mis apuntes TLP
Culex.
jueves, 28 de mayo de 2015
Identificando problemas RED (Protocolo ICMP)
Después de un par de horas dándole vueltas a un problema de comunicaciones y de revisar unos cuantos logs en el firewall nos encontramos un mensaje del protocolo ICMP >> Suite TCP-IP
Aquí tenemos el error [type=0x3, code=0x4]
Error 3. Router xxx.xxx.xxx.xxx to inform host that the destination unicast address is unreachable.
Code 4. Fragmentation needed, but do not fragment bit set
Una vez identificado el error y el router que amablemente lo enviaba usamos la base de datos de RIPE.NET Centro de Coordinación de redes IP europea para identificar al malo de la peli.
aquí -> RIPE
Esto es un ejemplo
Culex.
martes, 5 de mayo de 2015
Redes neuronales
Cada día me apasiona más todo el potencial que existe en IA.
Enlace 1
Enlace 2
Enlace 3
Red_neuronal_artificial
Culex.
Suscribirse a:
Entradas (Atom)




























