Algunas cosas son mas complicadas en Linux. Poner a funcionar un dispositivo USB hace algunos años en Linux era lísa y llanamente un dolor de bolas. De esa época aprendí que el comando lsusb sirve para listar los dispositivos conectados a los puertos USB y que cada dispositivo, como si fuera una especie de MAC Address tiene un identificador único:

# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

El ID que en este caso es 1d6b:0002 es único y es el mismo tanto para Linux como para Windows, aun que la connotación sea diferente. De tener que lidiar con identificadores USB aprendí que a veces, cuando no queda otra, buscar en Google por identificador es la mejor opción. Es mas, aveces, es la única opción.

Me pasó ayer. Necesitaba instalar uno de esos cables adaptadores de USB a puerto serial, los usb2com o usb2vcom que le dicen por las siglas de “USB a Virtual Com Port”. Resulta que el que fabricó el cable –y la renegrida concha de su madre– no tuvo a bien incluir un cd o minicd con el driver, Ni siquiera tuvo a bien incluír una página web desde donde se pudiera descargar el puto driver. Supuestamente era un adaptador “Plug n Play”, No installation Required.

Plug and PLay las pelotas.

No hubo poder de Dios que hiciera funcionar el cable, ni en Windows XP, ni en Windows 7, ninguno de los dos tenía el driver incorporado, no había forma de descargarlo desde la página web del fabricante, no podía leer el chipset interno (dentro de la ficha DB9) para poder saber con que estaba lidiando, estaba por ir a comprar otro cable de alguna marca mas seria cuando me iluminé.

Panel de control / Sistema / Hardware / Administrador de dispositivos, propiedades del cable en cuestión:

id_usb

Para el ejemplo estoy mostrando el de mi webcam, pero en el caso del cable, el VID & PID respectivamente rezaban:

USB\VID_067B&PID_2303

That´s it, eso es todo. No se necesita mas que googlear buscando lo anterior para llegar a la página web del fabricante del chipset que en mi caso es un tal “Prolific”, el que le vende al fabricante del cable, y descargar desde ahi un driver universal para el mismo:

http://www.prolific.com.tw/eng/downloads.asp?id=31

Este (mini)artículo no es mas que una actualización del artículo anterior: [HowTo] Sistema de vigilancia casero basado en Linux usando una webcam

videovigilancia .

En las pruebas que he ido haciendo hasta el momento, después de 15 días de funcionamiento sostenido:

~ # uptime
  
22:59:32 up 15 days,  7:47,  1 user,  load average: 0.31, 0.39, 0.36

Se porta como si recién hubiera arrancado:

~ # free -m
             total       used       free     shared    buffers     cached
Mem:           228        206         21          0         73         90
-/+ buffers/cache:         42        185
Swap:          517          2        515

Hoy cumple exactamente 31 días de grabación de corrido, en estos 31 días, como únicamente graba –y toma instantáneas– a 640×480 si detecta movimiento, me ha generado un total de 154579 archivos entre fotografías y videos, 7Gb de información:

~ # du -sh /home/dvr/video/
7.3G    /home/dvr/video/

Así que con un disco de 80Gb que tiene supera ampliamente mis estimaciones iniciales, tengo para grabar sin tener que borrar nada apróximadamente 10 meses de corrido, mejor que cualquier DVR comprada con disco de 320Gb.

Para ser gratis y casero, nada mal ¿Eh?

1 – Como saber cuanto ocupa una carpeta en Linux.

¿Cuantas veces necesitaste conocer cuanto espacio ocupa un directorio en particular? Desde la consola al ejecutar «du» por «Disk Ussage«:

~ # du /home/dvr/video/movie/

Te devuelve el tamaño en bloques del directorio en cuestión:

48004   /home/dvr/video/movie/

Como al sistema de archivos lo formateé en su momento con un tamaño de bloque de 1024 bytes –Por defecto se usan 4096 bytes si no se especifica un valor diferente para el parámetro en el argumento de la utilidad que formatea-, la cuenta es facil: 48004 bloques de 1024 bytes cada uno suman 49156096 bytes.

Como no podía ser de otra forma, para no tener que andar haciendo cálculos estrambóticos, se le puede pasar a la utilidad como argumento «-h» por «Human Readable»  para que devuelva el resultado en formato entendible por humanos:

~ # du /home/dvr/video/movie/ -h
47M     /home/dvr/video/movie/

Como el comando es recursivo, puede que te interese además agregarle la opción «-s» por «silent» para que cuando tenga que navegar muchos subdirectorios para sacar la cuenta no te llene la pantalla de texto. La otra muy util que tiene de entre tantas opciones disponibles es la posibilidad de producir un «gran total» con la opción «-c«, por ejemplo:

~ # du /home/dvr/video/movie/ -csh
47M     /home/dvr/video/movie/
47M     total

2 – Conocer el espacio utilizado/disponible por partición

Con la salida en modo «bloques» para el comando «df» por «Disk Free«:

~ # df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda3              9297812   1988296   6837208  23% /
/dev/sdb1               397475    295084     75886  80% /usr/portage
/dev/sdb2             78628740   6382688  72246052   9% /home

O en modo «Human Readable» pasándole el argumento «-h«:

~ # df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             8.9G  1.9G  6.6G  23% /
/dev/sdb1             389M  289M   75M  80% /usr/portage
/dev/sdb2              75G  6.1G   69G   9% /home

3 – Gráficos en la consola

Por ultimo la frutillita del postre, el que uso todo el tiempo, powered by python, «pydf«:

pydf en funcionamiento, mas gráfico imposible (para ser en consola).

pydf en funcionamiento, mas gráfico imposible (para ser en consola).

Cada quien sabrá como lo instala con el gestor de paquetes de su distribución de cabecera, en Gentoo es tan simple como ejecutar:


~ # emerge pydf

Como seguramente habrá mas aplicaciones que no conozco, ¿Conocen ustedes algo mejorcito que pydf?

Que ifconfig, iwconfig, iwlist, aircrack, aireplay y los chotoscientos mil comandos para poder crackear una mísera clave WEP y robarle internet al vecino. Ya era hora de que alguno se preguntara ¿Para que tanto lío? y automatizara todo el proceso.

WiFite en acción en modo consola y en modo GUI

WiFite en acción en modo consola y en modo GUI

Diseñado originalmente para BackTrack, la distribución de Linux que recomienda Kevin Mitnick, pero aplicable a cualquier otra distribución por tratarse de un script programado en python, viene WiFite a salvarnos las papas a todos los que nos da paja ponernos a crackear una red Wi-Fi.

WiFite es un crackeador automático de redes inalámbricas pero con el añadido de ser multitarea: ¿Tenés muchas redes inalámbricas cerca? Wifite te las crackea a todas al mismo tiempo (siempre y cuando se pueda).

De las bondades del script resaltan:

  • Ordena los access points por dB, intenta crackear primero los que tienen mejor nivel de señal.
  • Automáticamente desconecta clientes de redes inalámbricas ocultas parar hacer visible el SSID de la misma.
  • Modo anónimo: Cambia la MAC Address aleatoriamente antes y después de cada ataque. Que te rastree montoto.
  • Muestra un sumario de todos los resultados obtenidos al terminar de trabajar. Muestra cualquier clave que hubiera obtenido. Guarda los resultados en un log para analisis posterior.

Requerimientos:

  • Tu placa de red wireless tiene que poder funcionar en modo monitor y permitir inyección de paquetes, de no ser así vas a tener que parchar el driver o usar BackTrack o alguna distro similar que ya viene con todos los drivers pre-parchados.
  • Aircrack-NG 1.1 o superior
  • Python-tk
  • Macchanger

Instalación:

wget -O wifite.py http://wifite.googlecode.com/svn/trunk/wifite.py && chmod +x wifite.py

Complicadísimo, ¿Eh?
Lo estoy probando en Gentoo, a ver como me va.