martes, 17 de julio de 2012

Recuperar GRUB en Ubuntu

Uno de los problemas más comunes a lo que se enfrenta un usuario de Linux es que en caso de instalar o reinstalar un sistema operativo distinto, como Windows, el Master Boot Record (MBR) es reescrito por el del último sistema instalado, borrándonos el GRUB.

Para mi, la solución que por supuesto me ha traído buenos resultados y me parece más práctica es usando Super Grub2 Disk, es un disco de arranque que puede detectar casi cualquier sistema operativo.

Se debe descargar una imagen .iso en: http://www.supergrubdisk.org/category/download/supergrub2diskdownload/

Luego de descargar los escasos 7MB aproximadamente, procedemos a grabar la imagen .iso en un CD usando las conocidas herramientas como Brasero, Nero, K3b, etc.

Configuramos el SETUP de la computadora para que inicie desde la lectora de CD/DVD primero, luego insertamos el CD y este al iniciar mostrará un menú y debemos seleccionar:

Detect any operating system


Es decir, detectar todos los sistemas operativos en el sistema, entonces así, al detectarlos se generará un menú para poder iniciar uno de ellos, es como un grub live CD. La operación puede tardar un poco y no desesperar si la pantalla sigue negra y vacía, tal vez demore unos minutos pero al final se generará el menú con los sistemas operativos.

Seleccionamos el sistema operativo Ubuntu al que no podíamos acceder y se iniciará de forma normal.

En una consola o terminal de Ubuntu ingresamos el siguiente comando:

sudo grub-install /dev/sda

Lo que permite cargar GRUB en el MBR. La partición o dico duro sda debemos substituirla por la partición o disco duro que utilizamos para arrancar los sistemas operativos, casi siempre es sda. Advertencia!! no poner el número de partición, solo sda. Si quisiera conocer la partición ingrese el comando sudo fdisk -l.

Luego ingrese el siguiente comando para recomponer el GRUB que perdimos de manera casi mágica y automática.

sudo update-grub2

Una vez hecho esto reiniciamos el sistema y disfrutamos nuevamente de GRUB para seleccionar nuestros sistemas operativos.

Disfrute!

Esta es una versión basada en:
http://www.guia-ubuntu.org/index.php?title=Recuperar_GRUB

viernes, 2 de marzo de 2012

Amplificador de Audio Super Pequeño Para Computadora - Diagrama del Circuito

La necesidad de movilidad hace que cada vez las cosas sean más pequeñas, así que necesitamos parlantes cada vez más pequeños. Por otra parte las computadoras portátiles tienen muy limitada la potencia de sus parlantes añadiendo que su ubicación es hacia arriba y no hacia al frente, por lo tanto la solución a estos problemas está en el circuito que sigue:
Diagrama del circuito

Es necesario usar el circuito integrado TDA2822M que es un amplificador dual de bajo voltaje, a penas tiene ocho pines lo que lo hace super pequeño, lo más impresionante que contiene dos amplificadores ideal para audio estéreo. Para controlar el volumen del amplificador se usa un potenciómetro estéreo para controlar el volumen de los canales R y L a la vez, se agrega algunos componentes pasivos más al circuito y se coloca al final los dos parlantes de 8 ohm de tamaño pequeño o mediano. Este circuito puede ser alimentado hasta con 15 voltios para mayor potencia (con 15V de alimentación se llega a 1Watt de potencia aproximadamente y 41dB de ganancia según el datasheet del circuito integrado), pero por comodidad la fuente de alimentación la saqué de un puerto USB pudiendo llegar a una potencia aproximada de 380mWatts. El conector USB usa solo los pines 1 (5V) y 4 (Ground).

Por ahora no tengo el diseño del circuito para plancharlo en una placa, solamente usé una placa universal con huecos, sin embargo el uso de una placa planchada permite eliminar muchos pequeños ruidos que se acoplan ya que estamos hablando de un circuito de audio.

En la figura se puede ver en la parte inferior izquierda dos conectores negros uno es el cable de audio estéreo y el otro es el conector USB. El costo de los componentes no supera los $8.00 así que su valor es muy económico con gran eficacia de funcionamiento.
Parlantes y control de volumen
La potencia y calidad de los parlantes es superior al de la computadora y sin exagerar el sonido es espectacular sobre todo para un circuito tan pequeño pero bien diseñado.

El circuito es muy pequeño, cómodo de gran fidelidad y calidad
Es necesario agregar silicona para reforzar la unión entre los cables y la placa para que ayuden a la soldadura a mantener a los cables en su lugar.

Vista cercana

La lista de componentes es la siguiente:

-Dos conectores plug stereo de 3.5mm.
-Un potenciómetro stereo.
-Dos capacitores electrolíticos de 100uF/16V.
-Un capacitor electrolítico de 10uF/16V.
-Dos capacitores electrolíticos de 470uF/16V.
-Dos capacitores cerámicos de 10nF.
-Dos resistencias de baja potencia de 4.7ohm.
-Un circuito integrado TDA2822M.
-Dos paralantes de 8ohm.
-Un conector USB estandar macho.
-Cable stereo (parlantes y entrada de audio).
-Cable gemelo (cable alimentación con USB).
-Placa universal (con huecos).

Existe un circuito integrado TDA2822 de 16 pines el diagrama del circuito sería el siguiente:



Aquí la placa en la carpeta AMPLI en el programa PCB Wizard:
https://drive.google.com/folderview?id=0B0PJN0z8d6HRcEY4SER6c29RNm8&usp=sharing

Si desea un amplificador un poco más grande y con más potencia visite:
http://techemergente.blogspot.com/2013/11/amplificador-de-audio-pequeno-para.html

A continuación agrego un diagrama (diagrama explícito) a pedido de los usuarios que quieren armar su amplificador pero que recién se están iniciando en la electrónica. El diagrama es muy explícito, lo único que hay que agregar es el hecho que se podría usar auriculares en vez de parlantes, poner atención a los pines del potenciómetro estereo y que todos los puntos a tierra tienen que ir unidos.

Por otra parte recomiendo comparar este diagrama explícito con el diagrama esquemático anterior y traten de comprender el esquemático a la perfección porque es un estándar y siempre encontrarán los circuitos en diagrama esquemático.


Disfrute de la música!!

Linterna de LED's USB Para Computadora - Diagrama del Circuito

Las linternas para computadoras son muy útiles sobre todo cuando se trabaja en altas horas de la noche y no queremos molestar a otros usando la luz general de una habitación y es mejor usar una linterna local que ilumine la zona de trabajo, así sólo se usa la energía necesaria. El uso de la energía del puerto USB hace que no necesitemos otra fuente externa de energía lo que hace mucho más cómodo al circuito.

La nueva versión (versión 2.0) de ésta linterna está en el siguiente post http://techemergente.blogspot.com/2013/04/linterna-de-leds-con-usb-para.html sin embargo la primera versión de la linterna puede resultar muy útil para el gusto de muchos.

A continuación se ve el funcionamiento de la linterna:



El circuito consta de 20 LED's en paralelo soldados en una placa y se agrega una resistencia para aumentar o bajar la cantidad de luz de la linterna.

Los cálculos teóricos de la parte inferior muestran un circuito de n LED's de alta luminosidad, es decir que se puede cambiar la cantidad de LED's y muestra también una resistencia R la cuál también se puede modificar según sea la cantidad de luz que deseemos (incluso R puede ser un potenciómetro).

Yo utilizé 20 LED's, la alimentación es de 5 voltios (Puerto USB), una corriente de 100mA para cada LED (máxima luminosidad del LED de alta luminosidad según Datasheet) y 3.6 voltios de voltaje del LED (según Datasheet). Con estos datos según la fórmula para hallar R resulta con el valor de 0.7 ohm, este valor es teórico pero en la práctica como permite la mayor luminosidad de los LED's y son 20 LED's agregado a que como se ve en el cálculo de la Potencia P = V.I = V.i.n = 5V.100mA.20 = 10Watts, los 10 Watts causan gran disipación de calor, el circuito calienta bastante y emana un olor a quemado, a pesar de ello funciona sin mayores problemas. Para evitar el calentamiento y el olor a quemado recomiendo una resistencia de 4ohm a 7ohm, la luminosidad es casi la misma aunque un poco menor y no existe los problemas ya mencionados.
Diagrama del Circuito
El conector USB consta de 4 pines sólo usaremos el pin 1 que alimenta con 5V el circuito y el pin 4 que es la tierra, por otra parte agregamos un switch para apagar y prender el circuito sin desconectar el conector USB.

El diseño de la placa está en este link, en la carpeta LEDLINTERNA.


El costo de los componentes no supera los $5.00 así que su valor es muy económico con gran eficacia de funcionamiento.

Iluminación local de la computadora en total oscuridad
Para ubicar la linterna correctamente se elabora un pedestal con alambre (galvanizado en esta ocasión) lo suficientemente grueso para sostener el peso de la linterna y quede quieto donde lo acomodemos y no se mueva, si es que se tuviese un pedestal sería excelente.


El pedestal de alambre galvanizado de color naranja oscuro
Con un poco de silicona se aseguran las piezas a la placa, tal es el caso del switch que esta bien asegurado  y de paso que con un poco más, aislamos la soldadura de los LED's y otros del ambiente externo.

Linterna iluminando en total oscuridad
Se puede usar una variedad amplia de colores ya que los LED's de alta luminosidad vienen en distintos colores.

LED's en la oscuridad

miércoles, 29 de febrero de 2012

Pre-Amplificador Para Micrófono de Baja Impedancia - Diagrama del Circuito









El circuito integrado es un OpAmp TL071 basado en JFET de bajo ruido. Esta configurado para tener una ganancia de 23 esto por la fórmula mostrada en el gráfico así que las resistencias de 1Kohm y 22Kohm pueden ser modificadas para mayor o menor ganancia. Las dos resistencias de 47Kohm sirven para polarizar el circuito. Las dos resistencias de 100Kohm acoplan energía en corriente continua a la señal de entrada.
Generalmente muchos micrófonos pequeños como los de computadora o los portátiles son de baja impedancia y no transmiten energía suficiente para ser amplificados por equipos diseñados para micrófonos grandes y de alta impedancia. Es necesario un pre-amplificador que reduzca el ruido y agrande el voltaje antes de ser amplificado con alta potencia.
Diagrama del Circuito
La alimentación en esta oportunidad se hace con 9 voltios (9V) pero se puede alimentar el circuito hasta con 36 voltios o  con +18 y -18 voltios. Con un poco de paciencia e ingenio se suelda en una placa pequeña, y se asegura y ala ves aísla lo conectores con un poco de silicona.

El circuito funciona perfectamente sin ruidos y gran fidelidad. La importancia del circuito es su pequeño tamaño (mas pequeño que la batería de 9V) y gran fidelidad. El costo de los componentes no supera los $3.00 así que su valor es muy económico con gran eficacia de funcionamiento.

Vista de arriba del circuito armado

Vista de abajo de la soldadura

Circuito conectado a la batería y micrófono de baja impedancia

Aquí algunas placas en PCB Wizard dentro de la carpeta PREAMPLI:
https://drive.google.com/#folders/0B0PJN0z8d6HRcEY4SER6c29RNm8

miércoles, 30 de noviembre de 2011

Buscar en el Historial de Linux

El historial de Linux guarda por defecto las últimas líneas de comandos ingresadas las cuales están guardadas en el archivo oculto .bash_history (esta en la carpeta por defecto del usuario por ejemplo /home/usuario/) basta con ingresar el comando history en el shell para visualizar los comandos guardados:

$history


Luego aparecerán los comandos más recientes:

  233  sudo scp /etc/samba/smb.conf  cromero@smb3.electronicserver.com:
  234  ls
  235  sudo ls -lt /srv
  236  ls
  237  sudo
  238  sudo ls -lt /srv
  239  sudo ls -lt /
  240  sudo vim /etc/crontab
  241  scp /home/tany/* tany@smb2.electronicserver.com:
  242  sudo halt
  243  sudo vim /etc/crontab
  244  date
  245  sudo vim /etc/crontab
  246  sudo halt
  247  ls
  248  sudo ls /srv/
  249  sudo cp -r /srv/tester/ /var/www/
  250  sudo df -h
  251  sudo ls /var/www/
  252  sudo ls /var/www/tester/
  253  sudo rm -r /var/www/tester/
  254  sudo reboot
  255  sudo free
  256  sudo halt
  257  ifconfig
  258  sudo halt
  259  history

No aparecen todos porque no caben en la pantalla pero se pueden ver los más recientes numerados. Para ejecutar un comando sin la necesidad de reescribirlo se procede de la siguiente manera:


$ !257
ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:9d:6f:dd
          inet addr:192.168.1.251  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe9d:6fdd/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:17315 errors:0 dropped:0 overruns:0 frame:0
          TX packets:884 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1336336 (1.3 MB)  TX bytes:139235 (139.2 KB)
...Datos Omitidos Intecionalmente...

Si el comando no se pudo ver en la pantalla la herramienta más potente para hacer una búsqueda en el historial se invoca con la combinación de letras Ctrl+R:


(reverse-i-search)`':


Una vez invocada la herramienta procedemos a tipear la palabra clave para la búsqueda, por ejemplo vim y el buscador mostrará un resultado (el más reciente), basta con presionar de nuevo Ctrl+R hata encontrar los comandos deseados.


(reverse-i-search)`vim': sudo vim /etc/crontab


Si encontramos el comando deseado presionamos ENTER para ejecutarlo, si queremos modificarlo basta con presionar una de las flechas para empezar a modificar los comandos y si queremos cancelar la búsqueda es necesario presionar Ctrl+G.

Había mencionado que el archivo .bash_history contiene los comandos con el historial también se puede ver su contenido usando la herramienta less.


$less .bash_history


Que mostrará los datos pero sin numeración, sólo nos sirve para visualizar los que no caben en la pantalla, con la herramienta wc veremos algunos detalles del archivo.

$wc .bash_history
258   746   6466   .bash_history


Contiene 258 columnas (258 registros en el historial), 746 palabras y 6466 bytes. Con ello comprobamos que por el momento hay 258 registros. Sin embargo podemos ver número máximo de líneas que puede guardar el historial en el archivo oculto .bashrc y usaremos el editor vim para hacer algunos cambios:


$vim .bashrc


Y con las flechas bajamos hasta encontrar: las líneas:

HISTSIZE=1000
HISTFILESIZE=2000


La instancia superior indica el número máximo de líneas que mostrará el comando history y la instancia siguiente muestra el número máximo de líneas que guardará el archivo .bash_history.


Disfrute al usar Linux!


jueves, 24 de noviembre de 2011

Instalar LAMP - Linux Apache MySQL y PHP

En Linux Server o en el terminal de Linux Desktop se instala de la siguiente manera.

#apt-get install apache2 php5 mysql-server libapache2-mod-php5 php5-mysql

Hay que recordar de estar en una sesión de administrador para la instalación (importante!), apt-get puede ser reemplazado por yum para Linux basados en Red Hat; seguidamente:

  • apache2 es el servidor HTTP.
  • php5 es el servidor PHP sobre el servidor Apache.
  • mysql-server es el servidor MySQL, durante esta instalación se requiere ingresar la contraseña de administrador, no olvidarla.
  • libapache2-mod-php5 es la librería que permite que php5 funcione correctamente en apache2.
  • php5-mysql permite que se pueda insertar comandos MySQL en los script php5.
Hay que aceptar todas las instalaciones que nos pregunte el sistema y esperar a que se descarguen y luego instalen todos los programas.


Seguidamente a través de un navegador en la misma computadora u otra en la misma red ingresamos la dirección IP del servidor donde instalamos los softwares y debemos obtener como resultado:

Lo que demuestra la correcta operación del servidor HTTP Apache2. En realidad todo este contenido mostrado se ubica en /var/www/index.html es decir que por defecto la carpeta /var/www/ es la que contiene los archivos del servidor e index.html es el archivo que se abre por defecto. Este archivo lo podemos editar con el editor de texto Vim (es necesario instalarlo, apt-get install vim, lo recomiendo).

Seguidamente verificamos el correcto funcionamiento de PHP5 creando en vim el archivo:

#vim /var/www/phptest.php

En el editor presionamos la tecla ingresamos el siguiente script:

<?php
echo('Prueba Correcta!');
?>

Seguidamente presionamos la tecla ESC en ingresamos los caracteres :wq para guardar y salir del editor. En el navegador ingresamos la IP seguido del nombre del archivo y veremos:

Es decir PHP funciona correctamente!

Seguidamente haremos la prueba de MySQL y crearemos una base de datos. Primero se ingresa a MySQL en el host localhost con el usuario root y con el password de administrador que habíamos ingresado al momento de la instalación.

# mysql -h localhost -u root -p
Enter password:

Luego una vez el el  prompt de MySQL ingresamos los siguientes comandos para crear la base de datos llamada "basedatos"

mysql> create database basedatos;
Query OK, 0 rows affected (0.16 sec)

Luego salimos de MySQL.

mysql> exit
Bye

Entonces MySQL funciona correctamente!

Finalmente verificamos el correcto funcionamiento de todo el sistema LAMP creando en vim el archivo:

#vim /var/www/lamptest.php

En el editor presionamos la tecla ingresamos el siguiente script:



<?php
mysql_connect('localhost', 'root', 'password') or die (mysql_error());
mysql_select_db('basedatos') or die(mysql_error());
echo('DB Correcta!');
?>


Presionamos la tecla ESC en ingresamos los caracteres :wq para guardar y salir del editor. En el navegador ingresamos la IP seguido del nombre del archivo y veremos:




Esto demuestra el correcto funcionamiento de todo el sistema LAMP, si el password se ingresa incorrectamente, el nombre de la base de datos es incorrecto, entonces el navegador nos indicará el error existente.

sábado, 19 de noviembre de 2011

Nmap Para Escanear la Red - Métodos Más Útiles

En Linux una de las herramientas más versátiles y poderosas para escanear redes es Nmap (Network Mapping), tiene muchas utilidades pero sólo se demostrará el escaneo de un red local (LAN), es muy simple, ocupa poco espacio en el disco ya que se utiliza en la línea de comandos y no en un entorno gráfico, generalmente se desprecia un poco las herramientas de un entorno no gráfico como la línea de comandos, ya que parecen antiguas o difíciles de interpretar, sin embargo, estas herramientas son tan poderosas como cualquier otra en entorno gráfico, solamente hay que saber utilizarlas e interpretarlas por ejemplo:

Antes de hacer cualquier procedimiento es necesario iniciar una sesión como root del sistema.

Sesión de Administrador

En Ubuntu:

$sudo su
password:

En otros entornos Linux:

$su
password:

Instalación

En distribuciones basadas en Debian:

#apt-get install nmap

En distribuciones basadas en RetHat:

#yum install nmap 

Escaneo de un equipo

Escaneo de un equipo en la red LAN:

#nmap -sU -sT -O 192.168.1.1

Como se ve en la figura nmap se realiza con las siguientes opciones:
  • -sU Esta opción permite escanear los puertos UDP del objetivo (luego veremos el porqué de todo esto)
  • -sT Esta opción permite escanear los puertos TCP del objetivo.
  • -O Esta opción detecta el sistema operativo que usa el objetivo, no es exacto pero es muy aproximado a lo real.
  • 192.168.1.1 Dirección IP del equipo que será escaneado, generalmente esta dirección está asignada a la puerta de enlace, o gateway, también conocido popularmente como el módem.
El resultado es el siguiente:

Starting Nmap 5.00 ( http://nmap.org ) at 2011-11-19 18:11 PET
Interesting ports on 192.168.1.1:
Not shown: 1988 closed ports
PORT      STATE         SERVICE
21/tcp    open          ftp
23/tcp    open          telnet
80/tcp    open          http
443/tcp   open          https
1723/tcp  open          pptp
67/udp    open|filtered dhcps
68/udp    open|filtered dhcpc
123/udp   open|filtered ntp
161/udp   open|filtered snmp
520/udp   open|filtered route
1900/udp  open|filtered upnp
49152/udp open|filtered unknown
MAC Address: 00:0E:50:EE:D1:DC (Thomson Telecom Belgium)
Device type: broadband router
Running: Thomson embedded
OS details: Thomson ST 536i ADSL modem
Network Distance: 1 hop

OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 123.83 seconds

La interpretación de esto aunque no lo parezca es muy simple, la primera línea indica cuando se inició el escaneo, la segunda muestra la IP del equipo, la tercera el núemro de puertos cerrados (no es importante), luego se ve lo siguiente:
  • El puerto 21/tcp abierto con el servicio de ftp (servidor de archivos presente) para transferir archivos al modem/router.
  • Puerto 23/tcp abierto con el servicio telnet (acceso telnet) para la administración remota telnet.
  • Puerto 80/tcp abierto con el servicio http (servidor web presente) muy común para configurar el modem/router.
  • Puerto 443/tco abierto https (web seguro).
  • Puerto 1723/tcp abierto para uso de VPN's.
  • Puertos 67/udp y 68/udp del servidor dhcp que asigna las direcciones ip a los hosts de la red LAN.
  • Puerto 123/udp abierto con el servicio ntp, el servidor de tiempo.
  • Puerto 161/udp abierto con el servicio snmp para el protocolo de administración de red.
  • Puerto 520/udp abierto con el protocolo de información de rutas.
  • Puerto 1900/udp abierto con el servicio de descubrimiento de dispositivos UPnP.
  • Puerto 49152/udp abierto con una aplicación desconocida que posiblemente sea una conexión de Internet.
Seguidamente se ve la dirección MAC del dispositivo 00:0E:50:EE:D1:DC y en base a ésta el fabricante del dispositivo de red del equipo (Thomson Telecom Belgium). Luego se muestra el tipo de dispositivo que es un router broadband como ya lo sabíamos. Luego está ejecutándose el sistema operativo: Thomson embedded para routers, como algunos detalles tenemos Thomson ST 536i ADSL modem, que indica que efectivamente es un sistema operativo para un modem ADSL, también nos indica que el dispositivo está a un salto (1 hop) y finalmente se indica el número de dispositivos escaneados y el tiempo que duró el escaneo.

Escaneo de un grupo de equipos

Escaneo de un rango de equipos en nuestra red LAN:

#nmap -sU -sT -O 192.168.1.1-254

Como se puede ver ahora se elegimos un rango de direcciones IP de la 192.168.1.1 hasta la 192.168.1.254 pero se denota de otra forma más simple como se ve en la parte superior, el resultado mostrará el módem/router, la computadora que estamos usando y otras computadoras o dispositivos en la red, esto es muy útil al momento de detectar intrusos en nuestra red estén conectados de manera inalámbrica o cableada, o tal vez otra medio de conexión. Es decir podemos explorar nuestra red, detectar y conocer los dispositivos en ella.

El resultado puede no caber en la pantalla ya que puede ser muy extenso sin embargo podemos guardar la salida en un archivo de la siguiente forma:

#nmap -sU -sT -O 192.168.1.1-254 > archivo_nmap.txt

Y luego para visualizar el archivo usamos cualquier herramienta para editar o ver archivos de texto, como less:

#less archivo_nmap.txt

Escaneo con ARP

Este tipo de escaneo se hace usando el protocolo ARP, es un escaneo más rápido y se usa generalmente cuando un escaneo normal, como los mostrados en los ejemplos anteriores, no da los resultados esperados, ya sea porque las computadoras de destino usan un firewall o algún método de protección.

#nmap -PR 192.168.1.0/24

# Nmap 5.21 scan initiated Thu Jul 17 10:15:32 2014 as: nmap -PR -oN scan123.txt 192.168.1.0/24 
Nmap scan report for 192.168.1.1
Host is up (0.019s latency).
Not shown: 996 closed ports
PORT     STATE SERVICE
21/tcp   open  ftp
23/tcp   open  telnet
80/tcp   open  http
5431/tcp open  park-agent
MAC Address: 98:F5:37:1E:19:51 (Unknown)

Nmap scan report for 192.168.1.35
Host is up (0.0097s latency).
Not shown: 992 filtered ports
PORT      STATE SERVICE
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds
554/tcp   open  rtsp
2869/tcp  open  unknown
5357/tcp  open  unknown
10243/tcp open  unknown
49155/tcp open  unknown
MAC Address: 28:E3:47:86:B9:0A (Unknown)

Nmap scan report for 192.168.1.43
Host is up (0.033s latency).
Not shown: 990 closed ports
PORT      STATE SERVICE
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds
6881/tcp  open  bittorrent-tracker
49152/tcp open  unknown
49153/tcp open  unknown
49154/tcp open  unknown
49156/tcp open  unknown
49157/tcp open  unknown
49158/tcp open  unknown
MAC Address: 70:1A:04:F7:D8:BA (Liteon Tech)

# Nmap done at Thu Jul 17 10:16:13 2014 -- 256 IP addresses (5 hosts up) scanned in 40.69 seconds

Escaneo Ping

Este tipo de escaneo no hace más que mostrar las computadoras o dispositivos que están en línea (online), se recomienda ejecutarlo dos veces para poder tener un resultado más completo. Este escaneo es muy rápido y práctico.

# nmap -sP 192.168.1.0/24

# Nmap 5.21 scan initiated Thu Jul 17 10:25:52 2014 as: nmap -sP -oN scan1234.txt 192.168.1.0/24 
Nmap scan report for 192.168.1.1
Host is up (0.0033s latency).
MAC Address: 98:F5:37:1E:19:51 (Unknown)
Nmap scan report for 192.168.1.35
Host is up (0.0043s latency).
MAC Address: 28:E3:47:86:B9:0A (Unknown)
Nmap scan report for 192.168.1.43
Host is up (0.0065s latency).
MAC Address: 70:1A:04:F7:D8:BA (Liteon Tech)
Nmap scan report for 192.168.1.100
Host is up (0.000064s latency).
MAC Address: 00:26:6C:4A:69:D1 (Inventec)
Nmap scan report for 192.168.1.239
Host is up.

# Nmap done at Thu Jul 17 10:26:27 2014 -- 256 IP addresses (5 hosts up) scanned in 34.73 seconds

Guardar resultados

Una forma de guardar el resultado es redireccionando la salida hacia un archivo de texto. Este método no muestra los resultados en la pantalla pero si los direcciona y guarda en el archivo de texto.

#nmap 192.168.0.1 > escaneo_nmap.txt

Otra forma es usando la opción -oN, que significa guardar la salida (o) en formato normal (N).  Este método si muestra los resultados en la pantalla y también los guarda en el archivo de texto.

#nmap 192.168.0.1 -oN escaneo_nmap.txt

Conclusiones

Nmap es fácil de instalar, fácil de usar y sobre todo es una herramienta muy, pero muy poderosa, para ver las capacidades completas de nmap es necesario conocer todas sus opciones en su manual:

#man nmap

miércoles, 16 de noviembre de 2011

Instalar Ubuntu con VirtualBox en Windows

Hace algún tiempo los usuarios de Windows que querían usar una distribución de Linux en su computadora que ya tenía un sistema operativo Windows tenían que tener una partición libre en su disco duro para tal uso, sin embargo ahora con la virtualización se puede crear una máquina virtual Linux en un entorno Windows. Para ello se necesita tres elementos clave:
  • Un sistema operativo base (en este caso ya lo tenemos, Windows 7).
  • Una plataforma de virtualización (en este caso VirtualBox 4.1.6).
  • La imagen de un nuevo sistema operativo (en este caso Ubuntu 11.10).
Como el primer elemento ya lo tenemos, empezaremos por el segundo, hay que descargar VirtualBox de https://www.virtualbox.org/wiki/Downloads eligiendo "VirtualBox for Windows hosts", la versión es compatible con tecnologías x86/amd64 por lo que no hay que tener cuidado en elegir una versión en especial. La descarga no demora mucho así que hasta que descargue podemos ir al siguiente paso.

El tercer elemento lo obtenemos de http://www.ubuntu.com/download/ubuntu/download eligiendo la tecnología de 32-bit o 64-bit, para pequeñas netbooks es necesaria la de 32-bit pero para la mayoría de computadoras con un procesador de dos o más núcleos es necearia la opción 64-bit.


Descargar toda la imagen de Ubuntu toma un tiempo, así que es necesario tener paciencia y mientras tanto podemos instalar VirtualBox, esta instalación es fácil y solo es necesario resaltar que VirtualBox es gratis ya que no necesitamos comprarlo o ingresar un serial.

Procedemos ahora a crear la máquina virtual para Ubuntu:
  • Abrimos VirtualBox y hacemos click en el ícono New.
  • Ingresamos el nombre "Ubuntu" y hacemos click en next.
  •  Asignamos 1024MB de memoria RAM.
  • Elegimos crear un nuevo disco para el sistema operativo.
  • Asignamos el tipo de disco virtual VDI, las otras opciones son útiles para que el disco sea compatible con otras plataformas de virtualización.
  • Elegimos "Fixed Size" o un tamaño de disco fijo ya que es conveniente por su rapidez.
  • Asignamos el nombre "Ubuntu" al disco virtual. Para las versiones más recientes de Ubuntu Desktop es necesario como mínimo un disco duro de 5GB, así que elijo 6GB por comodidad.
  • Se muestran los datos que hemos ingresados para el disco virtual y luego confirmarlos al hacer click en Create.
  • El proceso de creación toma pocos minutos.
  • Finalmente se muestran los datos de nuestra nueva máquina virtual para luego confirmarlos haciendo click en Create para crearla.
  • En el entorno aparecerá nuestra nueva máquina virtual llamada Ubuntu.

Bueno, ya terminamos de crear la máquina virtual con su respectivo disco virtual, ahora procedemos con la instalación de Ubuntu que resulta algo cada vez más fácil con el transcurso del tiempo y con cada versión nueva, así que procedemos de la siguiente forma:
  • De la imagen anterior hay que seleccionar la máquina vitual Ubuntu en la parte superior hacer click en el engranaje amarillo Settings o Configuración. Aparecerá una ventana con la configuración de la máquina virtual, elegimos Display o Pantalla y elegimos 64 MB la memoria de video ya que es un entorno moderno de escritorio el que vamos a instalar, si instaláramos Ubuntu Server, el uso de la línea de comandos no necesita más de 1MB de memoria de video.
  • En la sección Storage o Almacenamiento se nota el drive de CD/DVD vació o empty, hacemos click en el pequeño CD de la derecha para seleccionar la imagen de un archivo, también se puede seleccionar desde la mima lectora del CD, pero en este caso la imagen de Ubuntu la tenemos en un archivo .iso.
  • Elegimos la imagen de Ubuntu 11.10.
  • Luego en la sección Network o Red elegimos "Bridged Adapter" para que la máquina virtual esté en la misma red que cualquier máquina real.
  • Elegimos la opción Install Ubuntu o Instalar Ubuntu.

  • El sistema operativo realiza algunas configuraciones, esto puede tomar un buen tiempo.


  • Elegimos el idioma que tendrá el sistema operativo, es posible cambiarlo una vez instalado.


  • Se verifica si se cumple las condiciones mínimas para la instalación, es preferible no optar por actualizaciones automáticas ya que queremos instalar el sistema rápidamente.


  • Elegimos la segunda opción para hacer una instalación personalizada para poner en práctica detalles que veremos a continuación.

  • La parte en la que los nuevos usuarios tienen muchos problemas es en la partición del disco, seleccionamos el disco donde instalaremos y hacemos click en "New Partition Table" o Nueva Partición.

  • Al crear la nueva partición en el disco aparece el espaco libre en el disco.


  • Seleccionamos el espacio libre y hacemos click en Add o Agregar. Y se agrega 256 MB aproximadamente como memoria virtual (swap) que se usa como resguardo cuando la memoria física (RAM) está llena, con las opciones de la figura.


  • Luego seleccionar el nuevo espacio libre para hacer click en Add o agregar y poner formato a la partición para el sistema operativo, el sistema de archivos será Ext4 usando todo el espacio restante y no olvidar que el punto de montaje es "/", elegir las opciones como se ve en la figura.


  • Una ves realizado las particiones, se procede a la instalación propiamente dicha.


  • La instalación procede mientras se pide ciertos datos como la ubicación geográfica y datos del usuario.


  • Finalmente es tiempo de disfrutar del nuevo Ubuntu!

domingo, 23 de octubre de 2011

DNS Públicos de Google vs DNS del Proveedor (ISP) vs DNS Local

Generalmente usamos los servidores DNS del proveedor de Internet como en mi caso 200.48.225.130 y 200.48.225.146. Google tiene los servidores 8.8.8.8 y 8.8.4.4 (http://code.google.com/intl/es-ES/speed/public-dns/). ¿Cómo sabemos cuál es más eficiente?

La manera más simple es de la siguiente forma:

En un sistema operativo Windows entramos a la línea de comandos (Win + R, tipear: cmd).


El resultado indica que el promedio de latencia entre el cliente y los servidores del proveedor (200.48.225.130 y 200.48.225.146) son 28ms y 29ms respectivamente. Y la latencia para los servidores de Google (8.8.8.8 y 8.8.4.4) son 127ms y 133ms respectivamente. A más latencia, más demora, lo cuál no es conveniente. Por lo tanto los servidores del proveedor son mejores, pero relativamente, ya que el proveedor siempre ubica sus servidores los más cercanos a sus clientes y los de Google están más lejos, sin embargo para otros clientes en otras partes del mundo podrían no ser conveniente los servidores del proveedor y sí lo serían servidores de Google, así que cada cliente debe hacer una prueba para sacar sus propias conclusiones. La distancia de los servidores se comprueba con el comando tracert.


Los servidores de mi proveedor están a sólo 10 saltos (hops) y los servidores de Google a 16 saltos. Estos resultados son relativos y cada quién debe hacer la prueba para sacar sus propias conclusiones.

Se hará una segunda prueba usando un servidor DNS del proveedor (200.48.225.130) y un servidor DNS local (192.168.1.253), es decir un servidor en la misma red LAN.


El promedio de latencia para los servidores del proveedor (200.48.225.130 y 200.48.225.146) es 29ms y 28ms respectivamente; para los servidores locales (192.168.1.253 y 192.168.1.252) es 0ms en ambos casos. Es decir, los servidores locales son mucho más convenientes de usar.

Finalmente si hubiera un servidor local DNS es prioritario usarlo, sin embargo para la mayoría de redes domésticas no hay un servidor DNS local así que en mi caso fue la segunda opción usar el servidor del proveedor y como última alternativa estuvieron los servidores de Google. Si hubiera otros servidores más convenientes que los del proveedor, es decir con menor latencia al ejecutar el comando ping, entonces serían nuestra prioridad sobre los servidores del proveedor.

En un entorno Linux en el shell de comandos se recomienda usar ping de la siguiente forma: ping -c 4 8.8.8.8. La opción -c indica el número de cuentas, que en este caso son sólo 4, si no se especifica esta opción Linux ejecuta el comando ping hasta que el usuario detenga el proceso con las teclas Ctrl + C. En Linux el comando para saber la distancia a la que se encuentran los servidores es traceroute. Los resultados en este sistema operativo tienen decimales lo que puede ser ventajoso al momento de tener resultados parecidos. También se puede usar la herramienta hping3 para mayores detalles y opciones.