miércoles, 1 de octubre de 2014

ARP Spoofing y Man in The Middle: Ettercap, Cain&Abel

ARP Spoofing y Man in The Middle: Ettercap
PREPARACIÓN DE LAS MÁQUINAS
Vamos a realizar un sniffing con man in the middle en un entorno controlado. Para ello vamos a utilizar el virtualbox, y vamos a usar dos máquinas debian como víctimas en red interna.
La aplicación que usaremos para ello es ettercap y capturaremos los paquetes con el wireshark.
Con lo cual empecemos el trabajo...
Lo primero es tener claro cuáles son las ip tanto de la máquina real, que en nuestro caso es un ubuntu 12.04, como la de las víctimas.
La máquina real tiene una ip 192.168.1.198

La máquina servidor dhcp tiene una ip 192.168.56.2
La máquina cliente dhcp tiene una ip 192.168.56.10



Para poner las dos máquinas en red interna y modificar la dirección IP, recordemos que era editar el archivo /etc/network/interfaces, se elimina la línea que pone iface eth0 inet dhcp sustituyéndola por:

Iface eth0 inet static
Address 192.168.56.2
Netmask 255.255.255.0

Elegimos una address y una netmask la que queramos.
Y luego lo guardamos y salimos del editor.
Después damos de alta el servicio con:
ifdown eth0
ifup eth0
y comprobamos con un:
ifconfig

Lo siguiente que hay que hacer es: dentro de archivo,  preferencias, red del virtual box es crear una red solo anfitrión, y deshabilitar el servicio dhcp.
La ip que le corresponde es la 192.168.56.1

Inicialmente está habilitado, nos metemos dentro del cuadradito señalado a la derecha para poder deshabilitarlo
Desmarco la pestaña que pone habilitar servidor.


Luego pongo ambas máquinas en sólo anfitrión.

ATAQUE
Ya conocemos las ip de todas las máquinas, luego lo siguiente a realizar es abrir desde nuestra máquina real desde la que vamos a lanzar el ataque el ettercap. Lo abrimos en modo root, para que nos permita hacer más cosas. Y para abrirlo en modo root, ejecutamos el siguiente comando
sudo ettercap -G
Una vez dentro, dentro de la pestaña sniff pinchamos en unified sniffing, elegimos la network interface en nuestro caso vboxnet0 y aceptamos.
Lo siguiente es pinchar sobre host, y escanear para ver los host que encontramos en scan for hosts y luego mostrar la lista, en nuestro caso como es un entorno controlado, solo encontraremos dos.
Elegimos el primer host y lo añadimos al target 1, elegimos el segundo host y lo añadimos al target 2.
Lo siguiente es en la pestaña de Mitm, pinchar en Arp Poisoning y luego marcar sniff remoting connetions.
Y ya por último empezar el sniffing en start.


En cada máquina ponemos un arp -n para que veamos lo que pasa.


MUESTRA DEL ATAQUE
Para ver la captura de paquetes abrimos el wireshark, también como root.
Sudo wireshark
Elijo la red que quiero ver, y lo primero que vemos es un montón de paquetes arp que lanza la máquina real.
Para ver realmente lo que hace el ataque, vamos a hacer un ping de una máquina a otra y observaremos el wireshark.
Ahora miraremos paquete a paquete, un ping lo forman dos paquetes, uno que envía una máquina a otra y el otro la contestación de la máquina 2 a la 1.
En este caso se observan 4 paquetes en cada ping, uno que va desde la máquina 1 a la máquina real, va de la MAC de la máquina 1 a la MAC de la máquina real.
El segundo va de la MAC de la máquina real a la MAC de la máquina 2, con esto la máquina 2 cree que el paquete se lo manda la máquina 1.
El tercero va de la MAC de la máquina 2 a la MAC de la máquina real.
El cuarto va de la MAC de la máquina real a la MAC de la máquina 1, de esta forma la máquina 1 cree que se lo ha enviado la máquina 2.
ARP Spoofing y Man in The Middle: Cain&Abel
PREPARACIÓN DE LAS MÁQUINAS
Vamos a hacerlo ahora con windows, y aquí en vez de utilizar el ettercap usamos el cain&abel.
La ip de windows xp es 192.168.56.5, se la hemos puesto manualmente a través de la configuración de red y podemos emplear las máquinas anteriores u otras, poniéndolas todas dentro de la misma red, como lo hemos hecho en el punto anterior de preparación de las máquinas.

En este caso, como estamos en un entorno contralado, deshabilitamos en el xp el firewall, para que entre ellas se puedan comunicar sin problemas.
ATAQUE
Abrimos el Cain&Abel y procederemos a activar el sniffer, para ello hacemos click sobre el botón señalado en la foto, en la parte superior izquierda de la barra de herramientas del programa y elegimos el adaptador, que en este caso solo tenemos uno, y aceptamos. 

Hecho esto, nos dirigimos a la pestaña superior que pone sniffer y una vez dentro, nos ponemos sobre la pestaña de host, y dentro de la pantalla en cualquier parte con el botón derecho del ratón, se despliega otro menu y escaneamos los host. 

Después se marca escanear todos los equipos de mi subred.

Aparece una lista con los equipos de la subred.
Dentro del módulo de sniffer de Cain, nos dirigiremos a la pestaña inferior ARP para posteriormente hacer click en el simbolo + situado en la barra de herramientas, que se activa pinchando en cualquier parte de la parte derecha.
Ahora escogemos a las víctimas, e igual que antes cogemos las mismas máquinas
ip 192.168.56.2 y ip 192.158.56.10

MUESTRA DEL ATAQUE
Le damos al símbolo de ARP y aparece ya envenenada. Si hacemos un ping de una máquina a otra se ve los paquetes que se están enviando entre una y otra.
Se podría ver también esa captura de paquetes con el wireshark, igual que lo vimos antes con el ettercap.























lunes, 29 de septiembre de 2014

Restauración de la configuración del Grub2

Esta mañana, he decidido instalar Ubuntu14.04  junto con el Windows 7, para empezar a moverme con más soltura por Ubuntu, después de hacer la instalación, de crear las particiones correspondientes, le doy a reiniciar mi equipo, y cuál es mi sorpresa? Imposible acceder al Windows 7 y a todo lo que tenía porque no se me abre el gestor de arranque, es decir el grub.
Por un momento entro en pánico, pero no, por si os pasa, aquí os dejo, como poder restablecer el grub, para que podáis tener en vuestras máquinas los sistemas operativos que queráis, y los podáis, abrir sin problemas.
Lo que hay que hacer es reinstalar el Grub2 de forma que sobrescriba los archivos "/etc/default/grub" y "grub.cfg", para así tener la misma configuración por defecto que teníamos originalmente.
Esto eliminará por completo todo los archivos del Grub2 y sus configuraciones, pero no se eliminarán los archivos personalizados creados por el usuario. Esto puede corregir fallos en el GRUB 2, debidos a daños en los archivos y configuraciones incorrectas, así como, por la falta de carpetas y archivos, eliminados por el usuario.

La re instalación de Grub2 es también un método para restablecer todos los ajustes de configuración a los valores por defecto en un sistema de trabajo.
Los paquetes que se des instalarán y volverán a instalarse, a través de este procedimiento, incluyen grub-pc, grub-common.
Asegúrate de tener una conexión a Internet y el acceso a los repositorios, antes de comenzar.

1º Desinstalar "grub-common" y sus archivos de configuración:


En Ubuntu, os vais a la terminal y ejecutáis el siguiente comando:
sudo apt-get remove --purge grub-common
Nos preguntará, que si queremos eliminar los archivos de configuración del grub2 y le diremos que si.
Para ello, pulsamos la tecla "Tabulador" hasta que "Si" se ponga en rojo y después pulsamos la tecla "Enter" para continuar.
2º Instalar de nuevo grub-pc:
Lo hacemos ejecutando el siguiente comando:
sudo apt-get install grub-pc
No hace falta volver a instalar grub-common, ya que se instalará al instalar grub-pc .
Tras la instalación de la aplicación "grub-pc" (grub2), nos pedirá que instalemos el grub (grub-install) en el dispositivo (disco duro).
Pulsamos la tecla "Tabulador" hasta que "Aceptar" se ponga en rojo y después, pulsamos la tecla "Enter" para continuar.

Ahora nos dará una lista de dispositivos:
Donde debemos de seleccionar el disco duro donde tengamos el Mbr, que por lo general será el primer disco duro "/dev/sda". Lo hacemos de la siguiente forma:

· Seleccionamos el disco duro, pulsando las teclas de las flechas arriba y abajo, hasta que aparezca un cuadrado rojo entre los corchetes que hay delante de "/dev/sda ...".
· Una vez seleccionado, lo marcamos, pulsando la barra espaciadora (en el cuadrado rojo aparecerá un asterisco).
· Entonces, pulsamos la tecla "Tabulador" hasta que "Aceptar" se ponga en rojo.
· Y para terminar, pulsamos la tecla "Enter" para continuar.
En esta ventana lo que ha hecho viene a ser como ejecutar: "sudo grub-install /dev/sda".
Ahora nos creará un nuevo archivo "/etc/default/grub" y nos generará un nuevo "grub.cfg"
El sistema actualizará el grub detectando todos los sistemas operativos, pero nunca está de más volver a actualizarlo para asegurarnos con:
sudo update-grub
o con:
sudo update-grub2
Teniendo instalado el paquete "grub-pc" es indistinto actualizar con uno o con otro (los dos funcionan).
Reiniciamos y el grub estará como al principio.

viernes, 19 de septiembre de 2014

Secuestro de navegadores

Alguna vez te ha pasado que te has descargado una aplicación y al ejecutarla te ha instalado muchas otras aplicaciones que no querías y hasta te ha secuestrado el navegador, es decir, el que tu tenías predeterminado ya no se abre y se abre una página desconocida y que tú no has elegido y por mucho que lo cambias y vuelves a poner como predeterminado el que tenías, vuelve a abrirse este que se te ha instalado.

Pues bien, vamos a ver cómo solucionar esto para quitarlo. En primer lugar, hay que desinstalar los programas que se te hayan instalado con la ejecución de la aplicación descargada. Lo puedes hacer tanto con el ccleaner, quien lo tenga, o desde el panel de control en desinstalar un programa.
Una vez hecho esto, nos vamos al icono del navegador y poniéndonos sobre el, con el botón derecho elegimos la pestaña de propiedades.
Miramos dentro del cajón de destino, y en el caso del Google Chrome, aparece una dirección que empieza y termina con comillas:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" después de las comillas, os aparecerá una dirección que es lo que hace que no se abra vuestro navegador, hay que borrar todo lo que haya después de esas comillas, darle a aplicar y después aceptar.
Si lo que tenemos es internet explorer, es similar:
y si el navegador que tienes es Mozilla Firefox es lo mismo:
Después de esto, habría que ir al navegador, vamos a hacerlo por ejemplo con el Google Chrome, y meternos en configuración
Te posicionas sobre esa pestaña y pulsas sobre establecer páginas, para poner la página de inicio.
Se borra la página de inicio que este puesta que poniéndote sobre ella te aparece una x en la parte derecha y pinchándola te da la opción de eliminarla y luego añades la página desde la que quieres que te arranque el navegador.
Y así ya no deberíais tener problemas con la página de inicio y os debe arrancar desde la que hayáis elegido, habiendo desaparecido la que se os había colado.
Para mayor seguridad, podemos pasar un par de programitas, por si  aun queda algún malware por alguna parte del ordenador.
Uno es el Malwarebytes
Donde analizas tu pc y lo limpias de lo que tenga instalado que sea malicioso.
Y otro programita que podéis pasar es el AdwCleaner
Donde el funcionamiento es el mismo, escaneas que para ello tienes primero que cerrar todo lo que tengas abierto y luego le das a limpiar. Te pedirá que reinicies el equipo, y cuando se reinicia, te aparece un documento diciéndote lo que te ha hecho, que se cierra y ya esta.
Os dejo el enlace de descarga:
https://mega.co.nz/#!hctTSArS!PNoQ9XWQQritP-Hre1d-EE9b0IsIQ0UkwBd_6Wd5GSY
Es un rar donde vienen los dos programitas.
El Malwarebytes hay que instalarlo, así que vosotros decidís si hacerlo o no, el AdwCleaner no hay que instalarlo y se ejecuta como administrador.





viernes, 22 de agosto de 2014

Cambio de interfaz en windows 8 a la de windows 7

Ya solo venden los ordenadores con el Windows 8, y hay mucha gente a la que no le gusta, así que aquí os dejo una manera de usar el Windows 8 con la interfaz de Windows 7.
Lo primero es descargar el programa, “botón de inicio Win8”, el programa que vamos a instalar es el Classic Shell, y añado los link de descarga, pongo dos por si alguno no funciona.
se abre el rar , se extrae los archivos y se instala el classic Shell. 

Para instalarlo es muy sencillo, se acepta la licencia y se van siguiendo los pasos hasta llegar a una página donde se recomienda quitar las opciones de Classic Explorer y Classic IE.
Se termina la instalación, y se copian los dos archivos que vienen junto al ejecutable en la carpeta donde se haya instalado el Classic Shell, dentro de la carpeta de Skins.
En el botón de inicio, se pulsa el ratón con el botón derecho y se le da a configuración.
Nos sale un menú de opciones, se le da a custom y a continuación a pick image, y se busca la ruta donde copiamos antes el skin y el botón de inicio, que fue dentro de la carpeta de Classic Shell.
Se selecciona el botón y se le da a abrir.

Y seguidamente se le da a la pestaña de Skin, y ponemos la Skin de Windows 8.1 y aceptamos y ya tenemos el botón de inicio similar al que teníamos con Windows 7.



jueves, 21 de agosto de 2014

Quiero comprar un ordenador, cual me compro?


Una pregunta que nos hemos hecho todos, más de una vez, y al final, si no conoces a nadie que entienda un poco, después de mirar vas a la tienda y te fías de lo que te diga el dependiente, que a veces lo que quieren nada más es vender, y les da igual que tú te lleves una máquina mejor, o peor.
Bueno, pues después de estar informándome, voy a dar unos consejillos por si os sirven a la hora de elegir vuestro futuro ordenador.
Normalmente lo que se suele hacer es comparar un poco lo que te pone en la etiqueta al lado de un ordenador y otro, y si puedes permitírtelo, se suele coger el que tenga los valores más altos, o el que quiera una marca en concreto, pero a veces eso no es suficiente.
También depende de si lo que quieres es comprar un portátil o un sobremesa ya con todo, o montarlo tú por piezas. Más o menos las características para ambos son las mismas, de todas formas iré distinguiendo en lo que hay que fijarse más si es portátil o sobremesa.
Hay que fijarse mucho en procesadores, RAM, placa base, para que no pase que cojas un procesador muy potente y resulte que la placa base, los buses que tiene no puedan soportar esa velocidad, y tengas un superprocesador, que estas desperdiciando, así que vamos poco a poco y viendo todas las cositas importantes.
Veamos entonces…
AUTONOMÍA EN LOS PORTATILES
Hay que fijarse en la autonomía que el fabricante dice que tiene el portátil, siempre es mejor cuanto más autonomía tenga, aunque a la larga, todos terminamos enchufándolos casi todo el tiempo. La autonomía no depende solo de la batería, sino del uso que se le dé al ordenador.
TAMAÑO Y PESO EN PORTATILES
Eso es un poco al gusto o necesidad de lo que vayas buscando, si lo vas a mover mucho, mejor que no te pese mucho, y el tamaño, depende de lo que vayas buscando y del uso que le des.
TARJETA GRÁFICA PORTATIL/SOBREMESA
Los procesadores más recientes de Intel y AMD incorporan GPUs que rivalizan directamente con las tarjetas gráficas de gama de entrada, e incluso son capaces de igualar el rendimiento de algunos modelos de gama media.
Para tareas cotidianas que no sean muy exigentes nos servirán de sobra y repercutirán tanto en un menor consumo de energía como en un peso más bajo de todo el conjunto.
Y para un sobremesa si el uso que le vas a dar al ordenador, no es algo específico como un diseñador gráfico o algo así, normalmente las tarjetas integradas en la placa base es suficiente.
Si pensamos jugar a videojuegos o llevar a cabo tareas de edición de vídeo y foto, entonces nos compensara comprar un portátil con gráficos dedicados. Además, en este último caso suele ser posible alternar entre la gráfica dedicada e integrada con solo pulsar un botón, adaptando el rendimiento en un momento a lo que requiera una aplicación determinada.
Si lo que quieres es una tarjeta gráfica más específica, hay que tener unas cuantas cosillas en cuenta.
No basta con el tamaño de memoria de que disponga. En el fondo la tarjeta gráfica es como otro ordenador por lo tanto pasa igual que pasaba con el ordenador en sí, no podemos coger una tarjeta gráfica con una ram enorme, y luego las velocidades del microprocesador de la tarjeta no son similares porque se estarán desperdiciando posibilidades.
Para el caso de un ordenador de sobremesa, fijaros en las salidas que tenga la tarjeta gráfica.
Hay que comprobar que la placa base, tenga un puerto PCI, para poder conectar la tarjeta.
Aseguraros que la fuente de alimentación tenga suficiente potencia para alimentar la tarjeta gráfica.
AMPLIABILIDAD Y CONEXIONES PORTATIL
Hay que fijarse en el tipo y variedades de conexiones disponibles. Lo mínimo es que tenga al menos dos puertos USB. Los 3.0, que se distinguen por su color azul, son más rápidos que los 2.0 y ya hoy por hoy, que tenga salida HDMI para poder conectar el portátil a un monitor externo o al televisor.
También es interesante que tenga una conexión Ethernet mediante cable a través de un puerto RJ-45 para poder conectarse a internet por cable también, aunque si el portátil es muy fino ya no la suele traer.
También es interesante informarse de las posibilidades de ampliación que puede tener el portátil, por si en alguna ocasión hay que ampliar la memoria.
DISCO DURO
Normalmente tendemos a fijarnos en la capacidad que tiene, últimamente ya buscamos lo que tenga más capacidad, porque a la larga se nos queda chico. Pero también hay otras cosas importantes en las que fijarse como la velocidad de escritura
Los mejores discos duros existentes en la actualidad son los SSD ya que su rendimiento es muy superior, haciendo que todo se ejecute con más fluidez, son muchos más rápidos que los convencionales, no hacen ruido, son más pequeños, no existe la fragmentación, consumen menos pero son más caros.
Actualmente los discos duros más habituales en la actualidad son los discos duros SATA (SATA 2, SATA 3). En principio para un uso habitual los discos SATA no deberían presentar ningún problema. Cuantas más revoluciones por minuto tenga el disco duro más rápida será su velocidad de escritura y prestaciones.
Otros parámetros a tener en cuenta:
- Cache o tamaño del buffer: Cuanta más cache tenga el disco duro también podemos afirmar que mejores serán las prestaciones del disco.
- Tiempo de acceso: A menor tiempo de acceso mayor rendimiento obtendremos
- Velocidad de transmisión: A mayor Velocidad de transmisión mayor rendimiento. Normalmente este parámetro indicará la cantidad de datos Megas que un disco puede leer o escribir en un segundo.
MICROPROCESADOR
Normalmente buscas la mayor velocidad del procesador, porque se cree que es lo mejor, pero no consiste solo en eso. No es más bueno porque tenga más MHz. Los MHz se corresponden a la velocidad interna a la que funciona el microprocesador, que se refiere a las operaciones que puede realizar por segundo.
También hay que considerar la velocidad externa (frecuencia de reloj) de este procesador. La velocidad externa, nos da la velocidad de comunicación entre el micro y la placa y eso nos orienta sobre la velocidad de comunicación entre el procesador y los distintos componentes del ordenador. Entonces, hay que ver la velocidad externa del procesador y asegurarnos que nos coincida con la velocidad del bus de la placa base y con la de la RAM.
Por lo tanto si tenemos un procesador de 2 GHz con una velocidad externa de 800 MHz se puede decir que el rendimiento es mucho mayor, que otro procesador que tenga 2.6 GHz con una velocidad externa de 667 MHz.
Y si es un uso de poca intensidad (navegar por internet, escribir documentos) con un procesador de doble núcleo a 2 Ghz tenemos suficiente. Si vamos a usarlo para juegos, y de forma más exhaustiva, los cuatro núcleos a 2 Ghz son una buena opción. Finalmente, si vamos a hacer un uso más profesional o muy específico, nos conviene escoger cuatro núcleos con más Ghz de velocidad.
Hay muchos tipos de microprocesadores en el mercado, los más conocidos, INTEL y AMD, son más caros los INTEL, y yo personalmente los prefiero, a la larga, sufren menos recalentamientos que los AMD, pero eso como todo, depende del dinero que te quieras gastar, ya que las prestaciones que ofrecen uno y otro son las mismas.
Ordenados de menor a mayor rendimiento, tenemos los Intel Core i3, i5 e i7, y si buscamos un portátil asequible ya daríamos el salto a los Pentium y Celeron, con menos funciones y capacidades más limitadas que las de sus hermanos mayores.
Los AMD, de mejor a peor tendríamos los A10, A8, A6 y A4, y las opciones destinadas a equipos de menor presupuesto estarían encuadradas en la serie E.
RAM
Bueno, entramos en el tema de la RAM, actualmente ya venden ordenadores, con 8 gigas de RAM, yo personalmente para lo que lo uso, sí que necesito tener una RAM potente, ya que la RAM es un espacio donde están trabajando los programas en ejecución, y como dije antes depende para lo que lo vayas a usar. Ya que a medida que tiene más RAM, el precio aumenta.
Para un uso normal, una RAM de 4 GB, está muy bien, la de 2, pienso que se queda muy corta, y la de 8, depende de si vas a trabajar con más de un programa a la vez, ya que el uso de mucha RAM solo es necesaria en el caso que nos queramos dedicar al tratamiento de vídeo o fotografía, diseño gráfico, necesidad de virtualizar sistemas operativos, etc, y bueno, ya superiores a 8, incrementa más el precio, y puede que no lo aproveches tanto. De todas formas si el portátil no tiene la posibilidad de ampliación, quizás os convenga, pagar un poco más y cogerla de 8 gigas.
Además hay que tener en cuenta que hay memorias más rápidas y más lentas. En la actualidad existen distintos tipos de memorias DDR-SDRAM, DDR2 y DDR3. Dentro de cada uno de los tipos de memoria existen memorias que ofrecen mayor o menor velocidad. Por lo tanto en este punto tenemos que asegurarnos que el tipo de memoria que usamos sea compatible con nuestra placa base y también asegurar que la velocidad de Bus de la placa base sea igual al bus de memoria de la memoria RAM.
Así por lo tanto si tenemos una placa base que admite memorias DDR2 y tiene una velocidad máxima de bus de 800 MHz lo más eficiente es elegir una RAM de DDR2 un FSB de 800MHz. Si usamos una memoria de 667MHz nuestro ordenador funcionará pero estaremos penalizando su rendimiento. Por ejemplo puesto nuestro ordenador rendirá más si disponemos de 4 Gb de memoria DDR2 con una velocidad de 800 MHz que no con 8 Gb de memoria DDR2 con una velocidad de   667 MHz.
SOBREMESA
Una de las cosas a tener en cuenta es que el fabricante o los componentes que se elijan, sean compatibles con el sistema operativo que usas, esto lo digo para el caso de quien se monte el ordenador por piezas, (me refiero a que los drivers sean compatibles con el hardware)  ya que si lo compras ya montado, normalmente hay compatibilidad con el sistema operativo que te trae el ordenador.
Una cosa, sí que tenéis que tener en cuenta, si compráis un ordenador, con un sistema operativo ya instalado, y decidís, cambiarlo por otro porque no os guste o por el motivo que sea, si lo hacéis, perdéis la garantía del ordenador.
También, hay que tener en cuenta el uso que se le va a dar al ordenador, porque dependiendo de ese uso, lo cogerás con unas prestaciones u otras.
Si tu uso, es el habitual, navegar, mirar correos, usarlo para trabajar con aplicaciones ofimaticas y demás… no es necesario, comprarte el último modelo, con las últimas prestaciones, te saldrá muy caro, y estarás desperdiciando las prestaciones.
Otra cosa a tener en cuenta es que elijamos componentes de marcas conocidas, esto es importante a la larga, porque sobre todo con los portátiles, si compráis marcas no conocidas, estas pueden ser más económicas, pero que se recalienten más, y yo he tenido que desechar más de un ordenador, por recalentamientos.
Os dejo aquí alguna de las marcas conocidas, para que os vayan sonando: Seagate , Western Digital, Kingston, Nvidia, ATI, Asus Gigabyte, VIA, Intel, Antec, Corsair, Seasonic, Three Hundred, Nzxt Phantom, HAF 91, etc.
FUENTE DE ALIMENTACIÓN PARA UN ORDENADOR DE SOBREMESA
La fuente de alimentación es muy importante porque puede ser la responsable de que en alguna ocasión nuestro ordenador se quede colgado.
Hay que asegurarse que los watios que proporciona la fuente sean los necesarios para alimentar los componentes del ordenador.
Si la fuente va muy justa de potencia, el ventilador hará mucho ruido y habrá un calentamiento excesivo. También es aconsejable que sea una marca conocida como Antec, Corsair, Enermax, Fortron, Seasonic.
Las tarjetas gráficas de gama alta o algunos procesadores pueden requerir de mucha energía para alimentarlas, por lo tanto al elegir la tarjeta gráfica es necesario analizar la fuente de alimentación.
DISIPADOR DE CALOR PARA UN SOBREMESA
Lo principal a tener en cuenta cuando queremos comprar un disipador de calor es:
- Asegurarnos que es compatible con la placa base y haya suficiente espacio en la torre para ponerlo.
-  La utilidad que se le va a dar al ordenador, para saber si es aconsejable comprarlo o no.
- Para que no de mucho ruido, habría que coger uno silencioso.
En el caso de dar un uso normal al ordenador, con un disipador estándar es suficiente.
PLACA BASE SOBREMESA
La placa base integrada, integran normalmente la tarjeta de red y video en la misma placa base y normalmente tienes menos puertos PCI para poder incorporar hardware adicional.
Las ventajas son la reducción del coste y el ahorro en espacio ya que tenemos todos los controladores y chips en una misma placa y un menor calentamiento debido principalmente a que los componentes que usan no son muy potentes.
Las desventajas son el bajo rendimiento de la tarjeta de vídeo ya que suelen ser de baja calidad.
Las placas puras tienen la ventaja de poder elegir los componentes que nosotros queramos, pudiendo elegir componentes de mayor calidad, pero nos resultara más caro económicamente, pero esto lo recomiendo en el caso de que el uso que le vayas a dar al ordenador sea para algo más específico que para un uso normal.
Hay que tener en cuenta también el tipo de socket de la placa y su consumo máximo admisible. De esta forma se puede elegir el procesador más idóneo para nuestra placa, y también es bueno tenerlo en cuenta para la posibilidad de poder ampliar el ordenador en un futuro.
Y otra cosa a tener en cuenta es que cuanto más alta sea la velocidad de bus de la placa más posibilidades de ampliación tendrá.
Recomiendo que el número de slots de memoria que tenga la placa sea el máximo posible, para poder ampliar en un futuro si es necesario, los tipos de memoria Ram admisible (DDR2, DDR3, etc), cantidad máxima de Ram que admite la placa, el tipo de procesador que se puede instalar (AMD, INTEL), número y tipo de ranuras PCI disponibles (PCI 1x, PCI 2.2), tipo y número de tarjetas de red (10/100 – 100/1000), número y tipo de conectores disponibles para el disco duro (IDE, SATA 2, SATA 3), que la placa tenga posibilidad de arranque remoto, número y tipo de conectores USB (1.0- 2.0), ver si la placa tiene conectores SATA externos, si tiene soporte por hardware para RAID0, RAID1 y JBOD, conectores de entrada y salida de la tarjeta (Serie, paralelo, Ian, USB audio, etc), etc.
TORRE Y VENTILACIÓN

Sobretodo asegurarse que sea grande para que le quepan todos los componentes que le quieras poner y que elimine calor.

martes, 19 de agosto de 2014

Ejercicios Xquery2


<?xml version="1.0" encoding="UTF-8"?>
<libreria>
<libro categoria="COOKING" codigo='1'>
<titulo leng="en">Everyday Italian</titulo>
<autor>Giada De Laurentiis</autor>
<anyo>2005</anyo>
<precio>30.00</precio>
</libro>
<libro categoria="CHILDREN" codigo='2'>
<titulo leng="en">Harry Potter</titulo>
<autor>J K. Rowling</autor>
<anyo>2005</anyo>
<precio>29.99</precio>
</libro>
<libro categoria="WEB" codigo='3'>
<titulo leng="en">XQuery Kick Start</titulo>
<autor>James McGovern</autor>
<autor>Per Bothner</autor>
<autor>Kurt Cagle</autor>
<autor>James Linn</autor>
<autor>Vaidyanathan Nagarajan</autor>
<anyo>2003</anyo>
<precio>49.99</precio>
</libro>
<libro categoria="WEB" codigo='4'>
<titulo leng="en">Learning XML</titulo>
<autor>Erik T. Ray</autor>
<anyo>2003</anyo>
<precio>39.95</precio>
</libro>
</libreria>

<?xml version="1.0" encoding="UTF-8"?>
<almacen>
<comprados>
<codigo>1</codigo>
<codigo>2</codigo>
</comprados>
<pendientes>
<codigo>3</codigo>
<codigo>4</codigo>
</pendientes>
</almacen>

1. Realizar una lista ordenada html de nombre de autores.

<ul>
{
for $x in doc("c:\users\usuario\desktop\xquery2.xml")/libreria/libro
return <li>{data($x/autor)}</li>
}
</ul>

<ul>
<li>Giada De Laurentiis</li>
<li>J K. Rowling</li>
<li>James McGovern Per Bothner Kurt Cagle James Linn Vaidyanathan Nagarajan</li>
<li>Erik T. Ray</li>
</ul>


2. Realizar una tabla html con el título "Listado de libros de categorías" y que tenga las columnas: categoría y nro.de títulos.

<html>
<body>
<h1 align="center">Listado de libros de categorías</h1>
<center>
<table border ="1"
<tr>
<th>Categoria</th>
<th>Numero de libros</th>
</tr>
{
for $x in doc("c:\users\usuario\desktop\xquery2.xml")/libreria/libro
return
<tr>
<td>{data($x/@categoria)}</td>
<td>{data($x/count(titulo))}</td>
</tr>
}
</table>
</center>
</body>
</html>


<html>
<body>
<h1 align="center">Listado de libros de categorías</h1>
<center>
<table border="1">
<tr>
<th>Categoria</th>
<th>Numero de libros</th>
</tr>
<tr>
<td>COOKING</td>
<td>1</td>
</tr>
<tr>

<td>CHILDREN</td>
<td>1</td>
</tr>
<tr>
<td>WEB</td>
<td>1</td>
</tr>
<tr>
<td>WEB</td>
<td>1</td>
</tr>
</table>
</center>
</body>
</html>


3. Realizar una tabla html con el título "listado de libros pendientes anteriores a 2004" con las columnas: codigo, categoria, titulo y precio.

<html>
<body>
<h1 align="center">Listado de libros pendientes anteriores a 2004</h1>
<center>
<table border ="1">
<tr>
<th>Codigo</th>
<th>Categoria</th>
<th>Titulo</th>
<th>Precio</th>
</tr>
{
for $x in doc("c:\users\usuario\desktop\xquery2.xml")/libreria/libro
where anyo < 2004
return
<tr>
<td>{data($x/@codigo)}</td>
<td>{data($x/@categoria)}</td>
<td>{data($x/titulo)}</td>
<td>{data($x/precio)}</td>
</tr>
}
</table>
</center>
</body>
</html>


<body>
<h1 align="center">Listado de libros pendientes anteriores a 2004</h1>
<center>
<table border="1">
<tr>
<th>Codigo</th>
<th>Categoria</th>
<th>Titulo</th>
<th>Precio</th>
</tr>
</table>
</center>
</body>
</html>

Ejercicios Xquery1


<?xml version="1.0" encoding="ISO-8859-1"?>
<bib>
<libro anyo="1994">
<titulo>TCP/IP Illustrated</titulo>
<autor>
<apellido>Stevens</apellido>
<nombre>W.</nombre>
</autor>
<editorial>Addison-Wesley</editorial>
<precio>65.95</precio>
</libro>
<libro anyo="1992">
<titulo>Advanced Programming for Unix environment</titulo>
<autor>
<apellido>Stevens</apellido>
<nombre>W.</nombre>
</autor>
<editorial>Addison-Wesley</editorial>
<precio>65.95</precio>
</libro>
<libro anyo="2000">
<titulo>Data on the Web</titulo>
<autor>
<apellido>Abiteboul</apellido>
<nombre>Serge</nombre>
</autor>
<autor>
<apellido>Buneman</apellido>
<nombre>Peter</nombre>
</autor>
<autor>
<apellido>Suciu</apellido>
<nombre>Dan</nombre>
</autor>
<editorial>Morgan Kaufmann editorials</editorial>
<precio>39.95</precio>
</libro>
<libro anyo="1999">
<titulo> Economics of Technology for Digital TV</titulo>
<editor>
<apellido>Gerbarg</apellido>
<nombre>Darcy</nombre>
<afiliacion>CITI</afiliacion>
</editor>
<editorial>Kluwer Academic editorials</editorial>
<precio>129.95</precio>
</libro>
</bib>

1. Listar el título de todos los libros.

for $x in doc("c:\users\usuario\desktop\xquery1.xml")/bib/libro/titulo
return data($x)

for $x in doc("c:\users\usuario\desktop\xquery1.xml ")/bib/libro
return data($x/titulo)


<titulo>TCP/IP Illustrated</titulo>
<titulo>Advanced Programming for Unix environment</titulo>
<titulo>Data on the Web</titulo>
<titulo>Economics of Technology for Digital TV</titulo>


2. Listar año y título de todos los libros, ordenados por el año.
Primera solución

for $x in doc("c:\users\usuario\desktop\xquery1.xml")/bib/libro
order by $x/@anyo
return <libro> {$x/@anyo} {$x/titulo }</libro>


Segunda solución

<html>
<head/>
<body>
<h1>Año y titulo de los libros </h1>
<ul>
{
for $x in doc ("c:\users\usuario\desktop\xquery1.xml")/bib/libro
order by $x/@anyo
return
<li>
{data($x/titulo)} .Año{data($x/@anyo)}
</li>
}
</ul>
</body>
</html>
 
3. Listar los libros cuyo precio sea 65.95

for $x in doc("c:\users\usuario\desktop\xquery1.xml")/bib/libro
where $x/precio=65.95
return $x


<libro anyo="1994">
<titulo>TCP/IP Illustrated</titulo>
<autor>
<apellido>Stevens</apellido>
<nombre>W.</nombre>
</autor>
<editorial>Addison-Wesley</editorial>
<precio>65.95</precio>
</libro>
<libro anyo="1992">
<titulo>Advanced Programming for Unix environment</titulo>
<autor>
<apellido>Stevens</apellido>
<nombre>W.</nombre>
</autor>
<editorial>Addison-Wesley</editorial>
<precio>65.95</precio>
</libro>

4. Listar los libros publicados antes del año 2000

for $x in doc("c:\users\usuario\desktop\xquery1.xml")/bib/libro
where $x/@anyo<2000
return $x


<libro anyo="1994">
<titulo>TCP/IP Illustrated</titulo>
<autor>
<apellido>Stevens</apellido>
<nombre>W.</nombre>
</autor>
<editorial>Addison-Wesley</editorial>
<precio>65.95</precio>
</libro>
<libro anyo="1992">
<titulo>Advanced Programming for Unix environment</titulo>
<autor>
<apellido>Stevens</apellido>
<nombre>W.</nombre>
</autor>
<editorial>Addison-Wesley</editorial>
<precio>65.95</precio>
</libro>
<libro anyo="1999">
<titulo>Economics of Technology for Digital TV</titulo>
<editor>
<apellido>Gerbarg</apellido>
<nombre>Darcy</nombre>
<afiliacion>CITI</afiliacion>
</editor>
<editorial>Kluwer Academic editorials</editorial>
<precio>129.95</precio>
</libro>

5. Listar año y título de los libros publicados por Addison-Wesley después del año 1992.

for $x in doc("c:\users\usuario\desktop\xquery1.xml")/bib/libro
where $x/@anyo>1992 and $x/editorial=”Addison-Wesley”
return <libro> {$x/@anyo} {$x/titulo }</libro>


<libro anyo="1994">
<titulo>TCP/IP Illustrated</titulo>
</libro>

6. Listar año y título de los libros que tienen más de un autor.

for $x in doc("c:\users\usuario\desktop\xquery1.xml")/bib/libro
where $x/count (autor)>1
return <libro> {$x/@anyo} {$x/titulo }</libro>


<libro anyo="2000">
<titulo>Data on the Web</titulo>
</libro>


Otra forma:

for $x in doc("c:\users\usuario\desktop\xquery1.xml")/bib/libro
let $y := $x//autor
where count ($y)>1
return <libro> {$x/@anyo} {$x/titulo }</libro>

7. Listar año y título de los libros que no tienen autor.

for $x in doc("c:\users\usuario\desktop\xquery1.xml")/bib/libro
where empty($x/autor)
return <libro> {$x/@anyo} {$x/titulo }</libro>


<libro anyo="1999">
<titulo>Economics of Technology for Digital TV</titulo>
</libro>

8. Mostrar los apellidos de los autores que aparecen en el documento, sin repeticiones, ordenados alfabéticamente.

for $x in doc("c:\users\usuario\desktop\xquery1.xml")/bib/libro/autor
order by $x/apellido
return $x/apellido


<apellido>Abiteboul</apellido>
<apellido>Buneman</apellido>
<apellido>Stevens</apellido>
<apellido>Stevens</apellido>
<apellido>Suciu</apellido>

9. Por cada libro, listar agrupado en un elemento <result> su título y autores

let $result := doc("c:\users\usuario\desktop\xquery1.xml")/bib/libro/titulo |/bib/libro/autor
return

<result>
{
data($result)
}
</result>


<result>TCP/IP Illustrated StevensW. Advanced Programming for Unix environment StevensW. Data on the Web AbiteboulSerge Economics of Technology for Digital TV BunemanPeter SuciuDan</result>
10. Por cada libro, obtener su título y el número de autores, agrupados en un elemento <libro>
let $libro := doc("c:\users\usuario\desktop\xquery1.xml")/bib/libro/titulo |/bib/libro[count (autor)]
return
<libro>
{
data($libro)
}
</libro>


<libro>TCP/IP Illustrated TCP/IP IllustratedStevensW.Addison-Wesley65.95 Data on the WebAbiteboulSergeBunemanPeterSuciuDanMorgan Kaufmann editorials39.95 Advanced Programming for Unix environment Data on the Web Economics of Technology for Digital TV</libro>
11. Generar un documento html con un encabezado que diga “Listado de libros” seguido de una tabla de 3 columnas, en la que se muestre el título, editorial y precio de cada libro. La tabla deberá tener bordes y la primera fila tendrá un formato especial con los nombres de las columnas. Las columnas de título y editorial irán alineadas a la izquierda, y el precio a la derecha. 

<html>
<body>
<h1 align="center">Listado de libros</h1>
<center>
<table border ="1">
<tr>
<th>Titulo</th>
<th>Editorial</th>
<th>Precio</th>
</tr>
{
for $x in doc("c:\users\usuario\desktop\xquery1.xml")/bib/libro
order by $x
return
<tr>
<td>{data($x/titulo)}</td>
<td>{data($x/editorial)}</td>
<td>{data($x/precio)}</td>
</tr>
}
</table>
</center>
</body>
</html>