Social Icons

twitterfacebookgoogle plusemail

jueves, 28 de febrero de 2013

Laboratorio de Visón Computacional: Detección de lineas

Se realizaron pruebas por medio del código presentado en clase en donde detectaba líneas. Lo que presentaré a continuación es simplemente clasificación de líneas y una liviana detección de líneas diagonales. Primero veremos las imágenes filtradas.

Laberinto.

Cuadrado.

Gráficas.

Ahora diferentes figuras geometrícas. Y bueno tuve unos problemas, al momento de detectar las líneas diagonales algunas pueden ser detectadas y otras no, como pueden observar abajo.


Ahora veamos el siguiente código el cual ya lo había presentado y solamente agrege una función de math llamada degree en python, para obtener el ángulo en el plano del arco tangente. Código:

martes, 26 de febrero de 2013

Experimento de QoS

Se hizo un experimento de la calidad de servicio jugando el juego de Diablo III. Primero lo que hice fue buscar el puerto en el que Diablo opera, y lo que encontré fue lo siguiente.


En donde el puerto 1119 usa el protocolo TCP para el gameplay (juego), puerto 1119 usando el protocolo de UDP para el sonido.

Primero probe midiendo cuantos paquetes llegan por segundo en el puerto 6881-6999 donde se usa el Launcher y Downloading. Usando la red de Axtel obtuve las siguientes gráficas.

Paquetes/Minutos.

El tiempo de la gráfica esta en saltos de 1~2 minutos.

Bytes/Minutos


El tiempo de la gráfica esta en saltos de 1~2 minutos.


Bits/Minutos



El tiempo de la gráfica esta en saltos 1~2 minutos.



La segunda prueba fue desde el puerto del cliente del juego que es el puerto 1119 donde se usa el Game Client. Usando la red de Telcel obtuve las siguientes gráficas.


Paquetes/Segundos.

El tiempo de la gráfica esta en saltos de 20 segundos.


Bytes/Segundos.

El tiempo de la gráfica esta en saltos de 20 segundos.





Bits/Segundos.

El tiempo de la gráfica esta en saltos de 20 segundos.



Conclusión
Con la red de Telcel tuve ciertos retardos y como en las gráficas se pueden ver en los últimos segundos empeora la conexión. Usando la red de Axtel no hubo ningún problema, ya que estabamos usando una red muy rápido de 30 MB.

En sí antes Diablo III al salir a la venta final tenía muchos problemas porque tenía exceso de carga de usuarios, esto es una muestra de la latencia en mayo cuando salió el juego.


Esta prueba la obtuve de esta página: http://forums.whirlpool.net.au/archive/1918220.

Aquí una prueba desde mi computadora usando el comando de traceroute nos ayuda a medir la latencia que existe desde mi computadora a los servidores de donde se encuentra Diablo III de Ámerica. Aquí en la imagen dejó como usar los comandos desde la página de blizzard.


Ahora vemos las ip's de los servidores.

Ahora esto es lo que me da de latencia.

En donde al final me aparecen parentesis, leí en la misma página de Blizzard que esto se debe a que soy valores relativamente grandes o tenemos problemas con ISP.

Fuente:

https://us.battle.net/support/en/article/performing-a-traceroute

Quality of Service (QoS)

Quality of Service (QoS) que en inglés significa calidad de servicio, es un conjunto de tecnologías que garantizan la transmisión de cierta cantidad de información en un tiempo determinado a uno o varios dispositivos, esto quiere decir que si por ejemplo nosotros tenemos un uniservicio (télefono VoIP, cable e internet) podamos navegar por internet de la misma manera que realizamos una llamada y al mismo tiempo juguemos un juego en línea sin problema alguno.


QoS prioritiza el tráfico en tu red separandoló en 4 tipos de colas: Voz, video, datos y tráfico de internet, estos se les asigna diferentes niveles de prioridad y de los cuales tu puedes cambiar en cualquier momento.

QoS prioritiza el ancho de banda disponible en función de las necesidades del usuario y basándose en una serie de criterios que clasifican el tráfico, esto puede depender del tipo de usuario que eres por ejemplo sí tu perfil es que de querer calidad de llamadas entonces tú configuración debe ser como en el de la imágen de abajo.


Donde VoIP tiene alta prioridad, datos y video media prioridad y tráfico de internet prioridad baja.

La calidad del servicio se identifica por los paquetes que pasan desde su origen hasta el destino, los problemas más comunes que existen de las cuales nos ayudan a medir la calidad de servicio son los siguientes: Paquetes suelos, retardos, jitter, entrega de paquetes fuera de orden y errores.
  • Paquetes sueltos
Los ruteadores pueden fallar en liberar algunos paquetes si ellos llegan cuando los buffers ya están llenos, entonces algunos, ninguno o todos los paquetes pueden quedar sueltos dependiendo del estado de la red, y es imposible determinar que pasará. 
  • Retardos 
Puede ocurrir que los paquetes tomen un largo periodo en alcanzar su destino, debido a que pueden permanecer en largas colas o tomen una ruta menos directa para prevenir la congestión de la red, en algunos casos, los retardos excesivos pueden inutilizar aplicaciones como VoIP o juegos en línea.
  • Jitter
Los paquetes del transmisor pueden llegar a su destino con diferentes retardos. Un retardo de un paquete varía impredeciblemente con su posición en las colas de los ruteadores a lo largo del camino entre el transmisor y el destino. Esta variación en retardo se conoce como jitter y puede afectar seriamente la calidad del flujo de audio y/o video.
  • Entrega de paquetes
Cuando un conjunto de paquetes relacionados entre sí son encaminados a Internet, los paquetes pueden tomar diferentes rutas, resultando en diferentes retardos. Esto ocasiona que los paquetes lleguen en diferente orden de como fueron enviados.

Este problema requiere un protocolo que pueda arreglar los paquetes fuera de orden a un estado isócrono a una vez que ellos lleguen a su destino. Esto es especialmente importante para flujos de datos de video y VoIP donde la calidad es dramáticamente afectada tanto por latencia y pérdida de sincronía.
  • Errores
A veces, los paquetes son mal dirigidos, combinados entre sí o corrompidos cuando se encaminan. El receptor tiene que detectarlos y justo cuando el paquete es liberado, pregunta al transmisor para repetirlo así mismo.

Ahora que hemos visto una introducción de QoS podemos ver como se mide el QoS en VoIP.

El enfoque que le daremos será en como se garantiza el tráfico de paquetes por voz para que no haiga retardos o haiga diferentes interferencias desde una baja prioridad de tráfico.

Problemas a tomar en cuenta son los siguientes:
  1. Latencia. Tomar el retardo de paquetes entregados.
  2. Jitter. Las variaciones en retardos de paquetes entregados.
  3. Paquetes perdidos. Mucho tráfico en la red causa que en la red cause algún tipo de interferencia. Para el usuario final, largos retardos son pesados y pueden causar el efecto de ecos en las llamadas, es díficil tener llamadas de alta calidad con largos retardos.  El jitter causa un extraño efecto de sonido en las llamadas VoIP, pero este puede ser manejado con un cierto cambio de grados con el buffer del jitter.
Ahora veremos los requerimientos de VoIP en QoS. 

Latencia.
Los retardos de las llamadas en ida y vuelta se encuentran desde 250ms o más. UIT-T G.114 recomienda un máximo de un 150 ms solamente de una vía de latencia. Debido a que la ruta de la voz incluyen datos que van a estar en la internet pública, es necesario que la propia red debe tener latencias de tránsito de menos de 150 ms.

La mayoría de las redes SLA (Acuerdo de nivel de servicio) específica el nivel máximo de latencia:
  • Axioware SLA 65 ms de latencia.
  • Internap SLA 45 ms de latencia.
  • Qwest SLA 50 ms de latencia. 
  • Verio SLA 55 ms de latencia. 
El número total por cada red puede variar ya que se agrega latencia adicional dependiendo del proverdor y el usuario.

Jitter.
Jitter puede ser medido de varias maneras, a continuación veremos algunas establecidas por IETF (Internet Engineering Task Force):

RTP Protocolo de Transporte de Tiempo Real. Es un protocolo de nivel de sesión utilizado para la transmisión de información en tiempo real, como por ejemplo audio y video en una video-conferencia.

RTP Control Protocol Extended Reports. Protocolo de Control de Reportes Extendidos.

Buffer jitter se usa para compensar la varianza de retardo. Son efectivos en varianzas de retardos menores a 100 ms. El nivel aceptable de jitter en la mayor parte de la red específicados por SLA son los siguientes:
  • Axioware SLA 0.5 ms de jitter. 
  • Internap SLA 0.5 ms de jitter. 
  • Qwest SLA 2 ms de jitter. 
  • Verio SLA 0.5 ms de jitter. 
  • Viterla SLA 1 ms de jitter. 
El número total por cada red puede variar ya que se agrega jitter adicional dependiendo del proverdor y el usuario.

Pérdida de datos VoIP no es tolerante a la pérdida de datos, inclusive aunque el 1% de los datos fuera perdido este puede ser significativamente degrado, el VoIP usa un codec llamado G.711 y otros tipos de codecs de compresión que hacen tolerable a menor pérdida de datos.

Por parte de Cisco se dice que el codec de default el G.729 requiere menos del 1% para evitar llamadas inaudibles. Aunque idealmente no debería de haber ninguna pérdida.

El nivel aceptable de pérdida de datos en la mayor parte de la red específicados por SLA son los siguientes:
  • Axioware SLA 0% de pérdida de datos. 
  • Internap SLA 0.3% de pérdida de datos. 
  • Qwest SLA 0.5% de pérdida de datos. 
  • Verio SLA 0.1% de pérdida de datos. 
El número total por cada red puede variar ya que se agrega la pérdida de datos adicional dependiendo del proverdor y el usuario.

Herramientas de Monitoreo de QoS en VoIP Audio. 

Nos permite medir la calidad de servicio de VoIP.
http://www.sevana.fi/aqua_wiki.phpVoIPmonitor. 

Nos permite sniffear paquetes SIP RTP y RTCP.
http://www.voipmonitor.org/ 

Prognosis VoIP Monitor. Puedes administrar la calidad de servicio de algunos servicios como Avaya, Cisco y MicrosoftLync en VoIP.
http://www.prognosis.com/products/uc-products/prognosis-voip-monitor 

Fuentes de información: 
VoIP
http://www.voip-info.org/wiki/view/QoS 

QoS 
http://www.muycomputer.com/2012/10/04/qos-que-es-para-que-sirve-y-como-habilitarlo-en-un-router-d-link

Críticas de mejora de proyectos

Comenzaré con los equipos como aparecen en la página:


El primero de ellos es el equipo de Vehículo Inteligente en donde planea implementar una llave inteligente por medio de tecnología NFC, aquí yo veo un problema y es que la tecnología NFC tiene ciertas vulnerabilidades de MiTMA (Man in The Middle Attack), aquí dejó algunas diapositivas que hablan sobre el tema, por más seguro que sea tú código si tienes un ataque de este tipo tu sistema siempre será vulnerable.

Man in The Middle Attack en NFC
http://www.mulliner.org/nfc/feed/collin_mulliner_eusecwest08_attacking_nfc_phones.pdf
Algunos puntos buenos y malos del NFC
Fuertes y debilidades del NFC

El equipo de Reconocimiento Facial yo le veo área de oportunidad en reconocimiento en algunas áreas en específico de la cara como lo es la iris del ojo, cejas, etc. esto nos ayudaría evitar que alguien pueda entrar a nuestro sistema con solamente fotos y sí lo intenta este tendría que tomar fotos de partes muy difíciles de tomar. Dejo un link para que puedan guiarse en áreas como el iris.

Irish Recognition
http://www.biometrics.gov/Documents/irisrec.pdf

El equipo de la Oficina Inteligente sería bueno que cada usuario pueda tener una especie de entrenamiento por cada usuario, porque lo que aquí se busca es que no necesitemos estar presionando botones o configuraciones a cada rato. Sería bueno tener una especie de reconocimiento que al momento en el que entre el usuario este, ya este reconocido o en proceso de reconocimiento del individuo para poner sus configuraciones predeterminadas. Esto puede ser hecho por el reconocimiento de actividades, dejó aquí un link, es algo muy simple pero que da una noción a lo que llega la idea.

Activity Recognition
http://en.wikipedia.org/wiki/Activity_recognition

El equipo de Galería Inteligente aquí lo ideal sería que el equipo no tenga costo, por lo tanto es buena idea que se use RFID, por ejemplo en los brazaletes que se venden que estén dentro de ellos a la manera en que van pasando. Un problema que veo es como es que reaccionará la galería cuando pasa un grupo de personas que están interactuando con la galería, cuando llega otra después, supongo que tendría que reconocer las personas y guardar el tiempo como van llegando y hacer una especie de cola de espera.

El equipo de Cama Inteligente que me agradaría sería que el equipo de hardware tenga un sistema de seguridad que me garantice que es seguro y no se quemará mientras duermo, por exagerado que suene este tipo de problemáticas es lo que evita mucho la gente. Un área de oportunidad es el monitorio de signos vitales ya que gente que sufre de algún tipo de problema, ya sea cardiaco necesitan tener un historial para que puedan hacerle estudios y pueda mejorar con algunos medicamentos.

El equipo de Garage Inteligente sería bueno implementar un sistema de encriptación ya que es muy fácil hacer ataques de Man in The Middle, una idea simple es agregarle un timestamp cada vez que abras el garage y que este se decripte en el servidor.

El equipo de Sesión de Usuario en Auto yo creo que sería ideal tener un sistema de alertas, cuando el usuario tiene un comportamiento fuera de lo ideal o es otro tipo de usuario que al dueño del carro se le envié un mensaje o correo.

El equipo de Casa Inteligente, lo ideal sería trabajar con un servidor que este funcione para comunicar a todos los dispositivos en la casa, lo primero que haría sería hacer un sistema de entrenamiento por medio de una semana para entender como se comporta el usuario a distintas estaciones del año.

lunes, 25 de febrero de 2013

Tarea 3: Detección de líneas

Para realizar la detección de línea se tomo como base la tarea para la detección de bordes, en donde se obtenía los gradientes en el eje x y y. Usando la función  obtenemos theta y teniendo theta podemos resolver ,  dichos valores obtenidos por cada punto(x, y) se guardan en un diccionario y por cada vez que ocurre theta y rho se le agrega un contador para determinar cuales tienen lineas continuas, cuando tienen un gran voto significa que existe una línea continua. Para demostrarlo primero mostraré algunas imagenes en donde se detectan las líneas con su muestra original.

Imagen original.

Imagen con filtro de detección de líneas.

Imagen original

En este ejemplo tengo algunos errores pero puede detectar algunas líneas horizontales. Imagen filtrada.

Imagen original

En este ejemplo tuve problemas ya que el fondo lo tomaba como dominante y cambiaba el color a rojo, claro esta que esto puede ser alterado manualmente pero la solución que se busca es tratar de evitar eso. Imagen filtrada.

Imagen original.

Imagen filtrada.

Código:

jueves, 21 de febrero de 2013

Actividad de laboratorio: Convex Hull

Para la actividad de laboratorio se implementó un algoritmo llamado Graham Scan que nos permite calcular la envolvente convexa.Para mayor información por medio de esta página.

A continuación veremos el código:



Imágen original

Imagenes con el envolvente convexo y la binarizada.

Imágen original

Imágen binarizada.

Imágen con el envolvente convexo.

martes, 19 de febrero de 2013

Lab 3: Repetidor de señal WiFi con Pringles

Para  poder hacer un repetidor de señal WiFi con un bote de pringles necesitaremos el siguiente material:

  • Bote de pringles (claro esta) de 139g.
  • Una varilla roscada de 30cm con un grosor de 5mm.
  • 6 arandelas de 5mm de rosca interior.
  • Adaptador WiFi USB.
  • 12 tuercas de 5 mm de grosor.
  • Fondo de botella (en mi caso yo use un bote de agua ciel, porque su fondo es algo plano).
  • Cable macho-hembra usb para poder extender la conexión, y colocar el adaptador USB WiFi.
Para mayor referencia colocare fotos de cada materia:

Varilla (se puede hacer en grande para observarlo en detalle).

Tuercas.

Arandela.

Adaptador USB WiFi.

Cable macho-hembra USB.

Bote de pringles.

Primero lo que tenemos que hacer es cortar la varilla de 30cm a la mitad del tamaño del bote. Después de cortar la varilla a la mitad del tamaño del bote, meteremos 6 veces consecutivas en la varilla una tuerca seguida de una arandela y luego otra tuerca, en donde la primera y tercera vez se ponen materiales como el fondo de una botella y en el tercero se pone la tapa de pringles como en la imágen debajo.


Esto puede funcionar incluso aunque no se encuentren separados de manera uniforme. Ahora haremos un agujero justo en la posición que se muestra en la imágen debajo para que entre el adaptador USB de WiFi, dicho adaptador tiene que entrar al menos 1 cm dentro del bote.


Después tapamos el bote de pringles y metemos en el agujero el adaptador USB WiFi.


Ahora probemos el alcance con una herramienta llamada inSSIDer que actualmente esta disponible para Mac, Linux y Windows, esta nos permite poner a prueba nuestro WiFi y hotspot; nos ayuda determinar el rendimiento de WiFi o hostpot, gráficarlo, determinar el alcance (dBm).

  
En mi caso por tener problemas con el adaptador de WiFi tuve que usar una máquina virtual de windows y probar dicho software ahí. 

Primero les mostrare capturas de pantalla usando el adaptador WiFi sin usar el bote de pringles.

Ahora probemos con el bote pringles.


Aquí les dejo el log de los datos el cual puede ser importado en el software para visualizarlo.







Tarea 3: Experimentos de monitoreo WiFi

Se realizo un experimento de Man in the middle attack en una red local, el cual consiste en hacer una intercepción de tráfico de datos (aunque en realidad tiene muchas variantes pero estas no las cubriremos en esta entrada). Primero se descargó una herramienta llama Wireshark, desde la página principal www.wireshark.org entramos al a apartado de Downloads.


Una vez instalado podemos seguir lo que demostraré a continuación. Se propuso realizar unas pruebas de seguridad a la página de SIASE (es donde nosotros accedemos a nuestro kárdex, horarios y toda información que tenemos de la UANL). 


Bueno ahora lo que mostraré será la interfaz principal de la aplicación de Wireshark.


Ahora seleccionamos la interfaces a capturar en el cual nuestro caso será en1 (en mi caso es mi Airport). Ahora presionamos Capture Options y luego Start. En donde tenemos seleccionado la interfaz en1.


Ahora estaremos viendo todo el tráfico que hacemos en nuestra computadora hacía el hotspot de internet.


Aquí vemos distintos tipos de protocolos que esta usando mi computadora se encuentran desde DNS, TCP, HTTP, ARP, TLS, entre otros. Ahora veamos lo que pasa cuando entramos al SIASE, si vemos en el protocolo TCP podemos ver dentro de el flujo que en los headers del POST enviados por HTTP se encuentra el usuarios y la contraseña del usuario.


Una de las cosas que encontré también fue que en la misma página mientras mantienes sesión de usuario fue que en el mismo HTML de la página se encuentra el usuario y contraseña, cosa que es malo  ya que si alguien intercepta la información que consultaste sin que sea encriptada este puede comprometer tu cuenta de SIASE.


En adición a este problema anterior, no tiene habilitado el protocolo HTTPS y no permite el acceso a la página web de manera segura.