<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Script on Karpoke - Just Another Blog</title><link>http://karpoke.ignaciocano.com/tags/script/</link><description>Recent content in Script on Karpoke - Just Another Blog</description><generator>Hugo -- 0.159.0</generator><language>es</language><lastBuildDate>Wed, 28 Jan 2015 23:54:00 +0100</lastBuildDate><atom:link href="http://karpoke.ignaciocano.com/tags/script/index.xml" rel="self" type="application/rss+xml"/><item><title>Cifrar un directorio sincronizado en Mega con encfs</title><link>http://karpoke.ignaciocano.com/2015/01/28/cifrar-un-directorio-sincronizado-en-mega-con-encfs/</link><pubDate>Wed, 28 Jan 2015 23:54:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2015/01/28/cifrar-un-directorio-sincronizado-en-mega-con-encfs/</guid><description>&lt;p&gt;Ya tenemos cuenta en Mega y las &lt;a href="http://karpoke.ignaciocano.com/2015/01/27/megasync-y-megatools-para-acceder-a-mega-desde-ubuntu/"&gt;&lt;code&gt;megatools&lt;/code&gt; instaladas&lt;/a&gt;.
Ahora vamos a cifrar el directorio, pero en lugar de &lt;a href="http://karpoke.ignaciocano.com/2011/04/21/cifrar-el-contenido-de-dropbox/"&gt;utilizar &lt;code&gt;ecrypt&lt;/code&gt; tal como
hicimos con Dropbox&lt;/a&gt;,
esta vez usaremos &lt;code&gt;encfs&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Suponemos que tenemos dos directorios, &lt;code&gt;~/mega&lt;/code&gt; y &lt;code&gt;~/mega.enc&lt;/code&gt;.
Utilizaremos &lt;code&gt;encfs&lt;/code&gt;, disponible en los repositorios, para cifrar el
contenido del primero en el segundo, y compartir el segundo en Mega.&lt;/p&gt;
&lt;p&gt;Creamos el directorio en Mega:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ megamkdir /Root/mega.enc
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Montamos el directorio cifrado:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ encfs --reverse /home/user/mega /home/user/mega.enc
Creando nuevo volumen cifrado.
Por favor, elige una de las siguientes opciones:
pulsa &amp;#34;x&amp;#34; para modo experto de configuracion,
pulsa &amp;#34;p&amp;#34; para modo paranoia pre-configurado,
cualquier otra, o una linea vacia elegira el modo estandar.
?&amp;gt; x
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;Seleccionado modo de configuración Manual.
Los siguientes algoritmos de cifrado estan disponibles:
1. AES : 16 byte block cipher
-- Soporta claves de longitud 128 hasta 256 bits
Soporta bloques de tamaño 64 hasta 4096 bytes
2. Blowfish : Cifrado por bloques de 8 bytes
-- Soporta claves de longitud 128 hasta 256 bits
Soporta bloques de tamaño 64 hasta 4096 bytes
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;Teclee el numero correspondiente a su eleccion: 1
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;Algoritmo seleccionado &amp;#34;AES&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;Por favor, elige un tamaño de clave en bits. El cifrado que has elegido
soporta tamaños desde 128 a 256 bits en incrementos de 64 bits.
Por ejemplo:
128, 192, 256
Tamaño de clave seleccionada: 256
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;Usando tamaño de clave de 256 bits
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;Elige un tamaño de bloque en bytes. El cifrado que tu has elegido
soporta tamaños desde 64 a 4096 bytes en incrementos de 16.
O bien, pulsa Intro para elegir el tamaño por defecto (1024 bytes)
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;Tamaño de bloque del sistema de ficheros: 4096
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;Usando tamaño de clave de 4096 bits
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;Los siguientes algoritmos de cifrado de nombres de archivo estan disponibles:
1. Block : Codificación en bloques, oculta tamaño de los nombres de fichero
2. Null : No encryption of filenames
3. Stream : Codificacion en canal, guarda nombres de fichero tan cortos como sea posible.
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;Teclee el numero correspondiente a su eleccion: 1
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;Algoritmo seleccionado &amp;#34;Block&amp;#34;&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;--reverse especificado, no se está usando unique/chained IV
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;Configuración finalizada. El sistema de ficheros a ser creado tiene
las siguientes propiedades:
Cifrado del sistema de ficheros: &amp;#34;ssl/aes&amp;#34;, versión 3:0:2
Codificacion del nombre de fichero: &amp;#34;nameio/block&amp;#34;, versión 3:0:1
Tamaño de la llave: 256 bytes
Tamaño de Bloque: 4096 bytes
Agujeros en archivos pasados a través del ciphertext.
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;Ahora tendrás que introducir una contraseña para tu sistema de ficheros.
Necesitaras recordar esta contraseña, dado que no hay absolutamente
ningún mecanismo de recuperación. Sin embargo, la contraseña puede ser cambiada
más tarde usando encfsctl.
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;Nueva contraseña Encfs:
Verifique la contraseña Encfs:
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Si no queremos tener que introducir la contraseña cada vez que montemos
el directorio, podemos un comando que vuelque el contenido de un fichero
con dicha clave, por ejemplo &lt;code&gt;~/.encfs_passwd&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Conseguir la lista actualizada de medios AEDE para bloquearlos</title><link>http://karpoke.ignaciocano.com/2014/07/27/conseguir-la-lista-actualizada-de-medios-aede-para-bloquearlos/</link><pubDate>Sun, 27 Jul 2014 11:28:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2014/07/27/conseguir-la-lista-actualizada-de-medios-aede-para-bloquearlos/</guid><description>&lt;p&gt;La lista de medios asociados a AEDE se puede consultar en su página:
&lt;a href="https://www.aede.es/publica/Periodicos_Asociados.asp"&gt;www.aede.es/publica/Periodicos_Asociados.asp&lt;/a&gt;. Si no queremos visitar ni
por error las páginas de dichos medios, tenemos diferentes alternativas,
desde &lt;em&gt;scripts&lt;/em&gt; de GreaseMonkey para &lt;a href="https://github.com/pykiss/anti-AEDE/blob/master/script.user.js"&gt;Firefox&lt;/a&gt; y complementos para
&lt;a href="https://chrome.google.com/webstore/detail/aede-blocker/olfbaiingdbeoihdemklgmakblhcgpmn?hl=es"&gt;Chrome&lt;/a&gt;, hasta &lt;a href="http://anotacionsalmarge.wordpress.com/2014/02/17/bloquejar-pagines-web/"&gt;añadir los dominios en el fichero &lt;code&gt;/etc/hosts&lt;/code&gt;&lt;/a&gt;,
tal como haríamos si fuesen &lt;a href="http://karpoke.ignaciocano.com/2012/06/21/hphosts-evitando-la-navegacion-por-dominios-maliciosos/"&gt;dominios maliciosos&lt;/a&gt;, o incluso
complementos para &lt;a href="https://wordpress.org/plugins/canon-aede/"&gt;WordPress&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Los siguientes comandos nos facilitan descargar la lista de dominios:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ lynx -dump http://www.aede.es/publica/Periodicos_Asociados.asp |
\grep -Eo &amp;#34;http://[^/\&amp;#34;]+&amp;#34; |
\grep -v aede.es |
sort |
uniq |
awk &amp;#34;{gsub(/http:\/\//, \&amp;#34;\&amp;#34;); print; gsub(/www\./, \&amp;#34;\&amp;#34;); print; }&amp;#34; |
sed &amp;#39;s/^/127.0.0.1 /&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Una alternativa a &lt;code&gt;lynx&lt;/code&gt; sería utilizar el comando &lt;code&gt;curl&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Enviar y reicibir notificaciones de Telegram desde la línea de comandos</title><link>http://karpoke.ignaciocano.com/2014/05/31/enviar-y-reicibir-notificaciones-de-telegram-desde-la-linea-de-comandos/</link><pubDate>Sat, 31 May 2014 13:27:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2014/05/31/enviar-y-reicibir-notificaciones-de-telegram-desde-la-linea-de-comandos/</guid><description>&lt;p&gt;Utilizando &lt;a href="http://github.com/vysheng/tg"&gt;tg&lt;/a&gt;, podemos enviar y recibir mensajes de nuestros
contactos en Telegram, incluyéndonos a nosotros mismos, desde el
terminal.&lt;/p&gt;
&lt;h2 id="envíos-programados"&gt;Envíos programados&lt;/h2&gt;
&lt;p&gt;Combinándolo con &lt;code&gt;expect&lt;/code&gt;, conseguiremos una forma sencilla de programar
notificaciones.&lt;/p&gt;
&lt;p&gt;He aquí un pequeño ejemplo:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;#!/usr/bin/env bash
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;function tg {
# First argument, if any, must be the receiver
local to=&amp;#34;$1&amp;#34;
local msg=&amp;#34;&amp;#34;
local cmd=&amp;#34;&amp;#34;
if [ $# -gt 1 ]; then
shift 1
msg=&amp;#34;$@&amp;#34;
else
while read line; do
if [ -z &amp;#34;$msg&amp;#34; ]; then
msg=$line
else
msg=&amp;#34;$msg\n$line&amp;#34;
fi
done
if [ -z &amp;#34;$to&amp;#34; ]; then
to=$(awk &amp;#39;{print $1}&amp;#39; &amp;lt;&amp;lt;&amp;lt; $msg)
msg=$(awk &amp;#39;{$1=&amp;#34;&amp;#34;;print $0}&amp;#39; &amp;lt;&amp;lt;&amp;lt; $msg)
fi
fi
if [[ $msg =~ &amp;#34;\n&amp;#34; ]]; then
file=$(mktemp)
echo -e &amp;#34;$msg&amp;#34; &amp;gt; $file
cmd=&amp;#34;send_text $to $file&amp;#34;
else
cmd=&amp;#34;msg $to $msg&amp;#34;
fi
#echo $cmd
expect -c &amp;#34;
log_user 0
match_max 100000
spawn /path/to/telegram -k /path/to/tg-server.pub
expect \&amp;#34;User \&amp;#34;
send -- \&amp;#34;$cmd\r\&amp;#34;
expect \&amp;#34;Sent\&amp;#34;
send \&amp;#34;quit\&amp;#34;
&amp;#34;
}
tg $@
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Algunos ejemplos de uso:&lt;/p&gt;</description></item><item><title>Iniciar sesión en DynDNS desde el terminal</title><link>http://karpoke.ignaciocano.com/2013/06/10/iniciar-sesion-en-dyndns-desde-el-terminal/</link><pubDate>Mon, 10 Jun 2013 01:00:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2013/06/10/iniciar-sesion-en-dyndns-desde-el-terminal/</guid><description>&lt;p&gt;Hace un par de semanas, DynDNS cambió su política de uso de las cuentas
gratuitas para incluir una cláusula por la cual es necesario hacer
mínimo un login al mes si no se quieren perder los dominios que
tengamos:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Starting now, if you would like to maintain your free Dyn account, you
must log into your account once a month. Failure to do so will result
in expiration and loss of your hostname. This activity helps us
eliminate hostnames that are no longer needed and/or dormant. Note
that an update client will not suffice for this monthly login.&lt;/p&gt;</description></item><item><title>Monitorizar el tamaño de un directorio con monit</title><link>http://karpoke.ignaciocano.com/2012/09/22/monitorizar-el-tamano-de-un-directorio-con-monit/</link><pubDate>Sat, 22 Sep 2012 15:17:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2012/09/22/monitorizar-el-tamano-de-un-directorio-con-monit/</guid><description>&lt;p&gt;&lt;code&gt;monit&lt;/code&gt; es un herramienta para monitorizar procesos, ficheros,
directorios y sistemas de ficheros, que permite enviar alertas cuando
suceden eventos tales como que un proceso no arranca, se incrementa la
carga del sistema o el uso de memoria por encima de un umbral
determinado, se modifican ficheros o directorios, etc.&lt;/p&gt;
&lt;p&gt;El problema es que, por ahora, no permite controlar que el tamaño de un
directorio, es decir, de los ficheros contenidos en él, supere cierto
valor. Sin embargo, podemos &lt;a href="https://lists.gnu.org/archive/html/monit-general/2009-01/msg00023.html"&gt;conseguir este resultado&lt;/a&gt; utilizando un
&lt;em&gt;script&lt;/em&gt; que se ejecute de forma periódica y que modifique la fecha de
un fichero concreto mientras el tamaño del directorio sea correcto. Este
fichero de control nos servirá para saber cuándo se ha superado el
limite.&lt;/p&gt;</description></item><item><title>AnonTwi, tweets cifrados</title><link>http://karpoke.ignaciocano.com/2012/06/16/anontwi-tweets-cifrados/</link><pubDate>Sat, 16 Jun 2012 13:23:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2012/06/16/anontwi-tweets-cifrados/</guid><description>&lt;p&gt;&lt;a href="http://anontwi.sourceforge.net/"&gt;AnonTwi&lt;/a&gt; es un &lt;em&gt;script&lt;/em&gt; en Python que permite enviar y recibir
&lt;em&gt;tweets&lt;/em&gt; y mensajes cifrados mediante AES y HMAC-SHA1 en Twitter, al que
se conecta mediante SSL. Otras caracterísiticas son la posibilidad de
usar la red TOR, envío de mensajes largos o la falsificación de las
cabeceras que envía.&lt;/p&gt;
&lt;h2 id="instalación"&gt;Instalación&lt;/h2&gt;
&lt;p&gt;AnonTwi está todavía en fase &lt;em&gt;beta&lt;/em&gt; de desarrollo, algo que se debe
tener en cuenta según el uso que queramos darle, pero si queremos
probarlo, podemos usar la última versión descargándola del repositorio:&lt;/p&gt;</description></item><item><title>Consultar el buscón de la RAE desde el terminal</title><link>http://karpoke.ignaciocano.com/2012/02/28/consultar-el-buscon-de-la-rae-desde-el-terminal/</link><pubDate>Tue, 28 Feb 2012 01:41:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2012/02/28/consultar-el-buscon-de-la-rae-desde-el-terminal/</guid><description>&lt;p&gt;Al realizar consultas al &lt;a href="http://buscon.rae.es/draeI/"&gt;buscón de la RAE&lt;/a&gt; desde el terminal, me iba
muy lento. Ésta es una página que todavía usa marcos (wtf!), por lo que
si queremos acceder directamente a la página con el resultado de la
búsqueda deberemos utilizar una de las siguientes URLs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;~~Para el &lt;a href="http://buscon.rae.es/draeI/"&gt;diccionario de la RAE&lt;/a&gt;:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;`http://buscon.rae.es/draeI/SrvltGUIBusUsual?origen=RAE&amp;amp;TIPO_BUS=3&amp;amp;LEMA=cederrón`~~
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;~~Para el &lt;a href="http://buscon.rae.es/dpdI/"&gt;diccionario panhispánico de dudas&lt;/a&gt;:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;`http://buscon.rae.es/dpdI/SrvltGUIBusDPD?origen=RAE&amp;amp;lema=cederrón`~~
&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;
&lt;h4 id="actualización"&gt;Actualización&lt;/h4&gt;
&lt;p&gt;La RAE ha cambiado la URL de búsqueda, pasando a ser:&lt;/p&gt;</description></item><item><title>Reiniciar el router desde el terminal</title><link>http://karpoke.ignaciocano.com/2012/02/09/reiniciar-el-router-desde-bash/</link><pubDate>Thu, 09 Feb 2012 21:36:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2012/02/09/reiniciar-el-router-desde-bash/</guid><description>&lt;p&gt;De vez en cuando, necesitamos reiniciar nuestro &lt;em&gt;router&lt;/em&gt;. Por ejemplo,
para provocar un cambio de IP, si tenemos IP dinámica. Podemos acceder
al panel de administración del &lt;em&gt;router&lt;/em&gt; mediante el navegador,
normalmente en el puerto 80 u 8080, aunque también es posible hacerlo a
través de telnet, en el puerto 22.&lt;/p&gt;
&lt;p&gt;Para hacer más sencillo este trámite, utilizaremos un &lt;em&gt;script&lt;/em&gt; que se
conecta por telnet al &lt;em&gt;router&lt;/em&gt;, introduce el usuario y la contraseña y
lo reinicia mediante el comando &lt;code&gt;reboot&lt;/code&gt;. Esto dependerá de cada modelo
de &lt;em&gt;router&lt;/em&gt; en concreto, pero creo que funciona para un gran número. En
principio, no es posible apagarlo, sólo reiniciarlo.&lt;/p&gt;</description></item><item><title>Instalar deluge en Ubuntu Lucid Lynx</title><link>http://karpoke.ignaciocano.com/2012/02/09/instalar-deluge-en-ubuntu-lucid-lynx/</link><pubDate>Thu, 09 Feb 2012 02:31:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2012/02/09/instalar-deluge-en-ubuntu-lucid-lynx/</guid><description>&lt;p&gt;&lt;code&gt;deluge&lt;/code&gt; es un cliente de BitTorrent en el que la interfaz está separada
del núcleo, que corre como un servicio, lo que posibilita usarlo de
forma remota a través de una interfaz web.&lt;/p&gt;
&lt;h2 id="instalación"&gt;Instalación&lt;/h2&gt;
&lt;p&gt;Podemos instalar &lt;code&gt;deluge&lt;/code&gt; y su interfaz web desde los repositorios:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ sudo aptitude install deluged deluge-webui
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Crearemos el usuario &amp;ldquo;deluge&amp;rdquo; para ejecutar este servicio:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ sudo adduser --disabled-password --system --home /var/lib/deluge --gecos &amp;#34;SamRo Deluge server&amp;#34; --group deluge
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creamos el &lt;em&gt;script&lt;/em&gt; &lt;code&gt;/etc/default/deluge-daemon&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Instalación de un nuevo kernel PPA en Ubuntu</title><link>http://karpoke.ignaciocano.com/2012/01/26/instalacion-de-un-nuevo-kernel-ppa-en-ubuntu/</link><pubDate>Thu, 26 Jan 2012 12:19:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2012/01/26/instalacion-de-un-nuevo-kernel-ppa-en-ubuntu/</guid><description>&lt;p&gt;Esta receta muestra como &lt;a href="http://www.howopensource.com/2011/08/how-to-install-linux-kernel-3-1-rc2-oneiric-in-ubuntu-11-04-10-10-and-10-04/"&gt;instalar un nuevo kernel precompilado&lt;/a&gt; en
Ubuntu.&lt;/p&gt;
&lt;p&gt;Antes de continuar, cabe avisar de que si tenemos módulos del kernel que
no sean libres, por ejemplo, módulos de ATI, &lt;a href="http://www.ultimateeditionoz.com/forum/viewtopic.php?t=2504"&gt;Broadcom&lt;/a&gt; o
&lt;a href="http://unix.stackexchange.com/questions/10962/i-am-failing-to-build-virtualbox-driver-for-linux-2-6-38"&gt;Virtualbox&lt;/a&gt;, es posible que nos surja algún problema que deberemos
resolver en cada caso. En algunos casos, volver a reinstalar las
aplicaciones o los controladores puede funcionar.&lt;/p&gt;
&lt;p&gt;Instalamos &lt;code&gt;module-init-tools&lt;/code&gt;, una herramienta para gestionar módulos
del kernel que se encuentra en los repositorios, que puede evitar que
nos aparezcan algunos errores y avisos.&lt;/p&gt;</description></item><item><title>Obtención remota de ficheros en Android &lt; 2.3.4</title><link>http://karpoke.ignaciocano.com/2011/11/28/obtencion-remota-de-ficheros-en-android-2-3-4/</link><pubDate>Mon, 28 Nov 2011 14:54:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2011/11/28/obtencion-remota-de-ficheros-en-android-2-3-4/</guid><description>&lt;p&gt;Hoy se ha hecho pública la &lt;a href="http://www.exploit-db.com/exploits/18164/"&gt;prueba de concepto&lt;/a&gt; de Thomas Cannon que
permite &lt;a href="http://thomascannon.net/blog/2010/11/android-data-stealing-vulnerability/"&gt;obtener ficheros de los dispositivos con Android&lt;/a&gt; con versiones
anteriores a la 2.3.4.&lt;/p&gt;
&lt;p&gt;En la demostración se ha utilizado un HTC Desire (UK version) con
Android 2.2. Yo lo he probado con un HTC Wildfire con Android 2.2.1 y
también funciona.&lt;/p&gt;
&lt;p&gt;La vulnerabilidad permite que un sitio malicioso obtenga cualquier
fichero guardado en la tarjeta SD, e incluso algunos ficheros e
información guardados en el teléfono. No se puede acceder a ficheros del
sistema, ya que se ejecuta dentro de la &lt;em&gt;sandbox&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>TLSSLed v1.2</title><link>http://karpoke.ignaciocano.com/2011/10/23/tlssled-v1-2/</link><pubDate>Sun, 23 Oct 2011 15:45:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2011/10/23/tlssled-v1-2/</guid><description>&lt;p&gt;&lt;a href="http://www.taddong.com/en/lab.html#TLSSLED"&gt;TLSSLed&lt;/a&gt; es un &lt;em&gt;script&lt;/em&gt; cuya finalidad es evaluar la seguridad de
SSL/TLS de un servidor web. Se basa en el escáner de SSL/TLS, &lt;code&gt;sslscan&lt;/code&gt;,
el cual a su vez se basa en la librería &lt;code&gt;openssl&lt;/code&gt;, y en el comando
openssl s_client. Entre las comprobaciones que realiza se incluyen
comprobar si el servidor soporta SSLv2, cifrado NULL, cifrados débiles
por la longitud de su clave (40 ó 56 bits), la disponibilidad de
cifrados fuertes, como AES, si el certificado está firmado con MD5 y si
permite la renegociación de SSL/TLS.&lt;/p&gt;</description></item><item><title>Encuentra el hash</title><link>http://karpoke.ignaciocano.com/2011/09/30/encuentra-el-hash/</link><pubDate>Fri, 30 Sep 2011 00:27:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2011/09/30/encuentra-el-hash/</guid><description>&lt;p&gt;Existen herramientas que permiten romper un &lt;em&gt;hash&lt;/em&gt;, aunque a veces puede
ahorrar tiempo y recursos &lt;a href="http://www.pentestit.com/findmyhash/"&gt;buscar si el &lt;em&gt;hash&lt;/em&gt; ya ha sido encontrado&lt;/a&gt;.
Ni siquiera hace falta una &lt;em&gt;rainbow table&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;findmyhash&lt;/code&gt; es un &lt;em&gt;script&lt;/em&gt; escrito en Python que puede buscar
diferentes tipos de &lt;em&gt;hash&lt;/em&gt; en diferentes servicios de &lt;em&gt;cracking online&lt;/em&gt;.
Los algoritmos soportados son los siguientes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MD4&lt;/li&gt;
&lt;li&gt;MD5&lt;/li&gt;
&lt;li&gt;SHA1&lt;/li&gt;
&lt;li&gt;SHA256&lt;/li&gt;
&lt;li&gt;RMD160&lt;/li&gt;
&lt;li&gt;MYSQL&lt;/li&gt;
&lt;li&gt;CISCO7&lt;/li&gt;
&lt;li&gt;LM&lt;/li&gt;
&lt;li&gt;NTLM&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Un ejemplo sencillo. Si no encuentra el &lt;em&gt;hash&lt;/em&gt;, también lo buscará en
Google:&lt;/p&gt;</description></item><item><title>Denegación de servicio en Apache utilizando la cabecera Range</title><link>http://karpoke.ignaciocano.com/2011/08/31/denegacion-de-servicio-en-apache-utilizando-la-cabecera-range/</link><pubDate>Wed, 31 Aug 2011 14:19:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2011/08/31/denegacion-de-servicio-en-apache-utilizando-la-cabecera-range/</guid><description>&lt;p&gt;Una &lt;a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=51714"&gt;vulnerabilidad descubierta por &lt;em&gt;kingcope&lt;/em&gt;&lt;/a&gt; permite que los
servidores Apache vulnerables sean susceptibles de sufrir una denegación
de servicio.&lt;/p&gt;
&lt;p&gt;La vulnerabilidad se encuentra en el uso de la cabecera &lt;code&gt;Range&lt;/code&gt;. Esta
cabecera se utiliza para obtener sólo una parte de la página. Si se
solicitan varias partes además de pedir que la respuesta se comprima,
mediante la cabecera &lt;code&gt;Accept-Encoding: gzip&lt;/code&gt;, se dispara el consumo de
procesador y memoria.&lt;/p&gt;
&lt;p&gt;Existe un &lt;a href="http://seclists.org/fulldisclosure/2011/Aug/att-175/killapache_pl.bin"&gt;&lt;em&gt;script&lt;/em&gt;&lt;/a&gt; que permite comprobar si el servidor es
vulnerable y, si es el caso, explotar dicha vulnerabilidad.&lt;/p&gt;</description></item><item><title>Obteniendo la IP pública, la IP privada y la dirección MAC en Bash</title><link>http://karpoke.ignaciocano.com/2011/08/14/obteniendo-la-ip-publica-la-ip-privada-y-la-direccion-mac-en-bash/</link><pubDate>Sun, 14 Aug 2011 19:26:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2011/08/14/obteniendo-la-ip-publica-la-ip-privada-y-la-direccion-mac-en-bash/</guid><description>&lt;p&gt;En los &lt;em&gt;scripts&lt;/em&gt; que escribimos, a menudo, es necesario conocer la IP pública
de nuestra red, o la IP privada y la dirección MAC de una interfaz de red. Con
el comando &lt;code&gt;ifconfig&lt;/code&gt; podemos conocer la información de las interfaces de red:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ ifconfig
eth0 Link encap:Ethernet direcciónHW 00:11:22:33:44:55
Direc. inet:192.168.0.30 Difus.:192.168.0.255 Másc:255.255.255.0
Dirección inet6: fe80::203:dff:fe3c:f419/64 Alcance:Enlace
ACTIVO DIFUSI–N FUNCIONANDO MULTICAST MTU:1500 Métrica:1
Paquetes RX:1627 errores:0 perdidos:0 overruns:0 frame:0
Paquetes TX:1067 errores:0 perdidos:0 overruns:0 carrier:0
colisiones:0 long.colaTX:1000
Bytes RX:560137 (560.1 KB) TX bytes:235094 (235.0 KB)
Interrupción:19 Dirección base: 0xc800
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;eth1 Link encap:Ethernet direcciónHW 00:11:22:33:44:66
DIFUSI–N MULTICAST MTU:1500 Métrica:1
Paquetes RX:0 errores:0 perdidos:0 overruns:0 frame:0
Paquetes TX:0 errores:0 perdidos:0 overruns:0 carrier:0 colisiones:0 long.colaTX:1000
Bytes RX:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupción:21 Dirección base: 0x8000 Memoria:ffcfe000-ffcfefff
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;lo Link encap:Bucle local
Direc. inet:127.0.0.1 Másc:255.0.0.0
Dirección inet6: ::1/128 Alcance:Anfitrión
ACTIVO BUCLE FUNCIONANDO MTU:16436 Métrica:1
Paquetes RX:3299 errores:0 perdidos:0 overruns:0 frame:0
Paquetes TX:3299 errores:0 perdidos:0 overruns:0 carrier:0
colisiones:0 long.colaTX:0
Bytes RX:355696 (355.6 KB) TX bytes:355696 (355.6 KB)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Sin embargo, si queremos utilizar el dato en concreto—la IP privada o la
dirección MAC—, necesitaremos trabajar un poco la salida que muestra
&lt;code&gt;ifconfig&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Instalación automática de las fuentes para web de Google</title><link>http://karpoke.ignaciocano.com/2011/08/07/instalacion-automatica-de-las-fuentes-para-web-de-google/</link><pubDate>Sun, 07 Aug 2011 00:21:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2011/08/07/instalacion-automatica-de-las-fuentes-para-web-de-google/</guid><description>&lt;p&gt;En &lt;a href="http://www.webupd8.org"&gt;webupd8.org&lt;/a&gt; han publicado un &lt;em&gt;script&lt;/em&gt; que permite &lt;a href="http://www.webupd8.org/2011/01/automatically-install-all-google-web.html"&gt;descargar las
fuentes para web de Google&lt;/a&gt;, o actualizarlas si ya las habíamos
descargado.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.google.com/webfonts#AboutPlace:about"&gt;Google Web Fonts&lt;/a&gt; es un proyecto que consiste en crear un repositorio
de fuentes tipográficas de calidad, libres y gratuitas, para que
cualquiera pueda utilizarlas en sus proyectos web, sin ningún tipo de
barrera, mucho menos económica.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Google Web Fonts" loading="lazy" src="http://karpoke.ignaciocano.com/images/google-web-fonts-300x199.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Fuente: &lt;a href="http://googlewebfonts.blogspot.com/"&gt;googlewebfonts.blogspot.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;El &lt;em&gt;&lt;a href="http://webupd8.googlecode.com/files/install-google-fonts"&gt;script&lt;/a&gt;&lt;/em&gt; instala las fuentes en el directorio
&lt;code&gt;/usr/share/fonts/truetype/google-fonts/&lt;/code&gt;, por lo que basta eliminar
este directorio para borrarlas.&lt;/p&gt;</description></item><item><title>Salvapantallas con el código fuente del kernel</title><link>http://karpoke.ignaciocano.com/2011/07/28/salvapantallas-con-el-codigo-fuente-del-kernel/</link><pubDate>Thu, 28 Jul 2011 12:42:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2011/07/28/salvapantallas-con-el-codigo-fuente-del-kernel/</guid><description>&lt;p&gt;Si queremos que cada vez que aparezca el salvapantallas, lo haga
mostrando algunas líneas del código fuente del &lt;em&gt;kernel&lt;/em&gt; por pantalla,
sólo necesitamos configurar el salvapantallas &lt;code&gt;phosphor&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Phosphor" loading="lazy" src="http://karpoke.ignaciocano.com/images/phosphor-300x178.png"&gt;&lt;/p&gt;
&lt;p&gt;Lo primero es instalar el código fuente del &lt;code&gt;kernel&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ sudo apt-get source linux-source-$(uname -r)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;El comando &lt;code&gt;uname&lt;/code&gt; muestra información acerca del sistema operativo
instalado, la versión del kernel, la familia del procesador, el nombre
de la máquina o la plataforma. En mi caso, uso un kernel PAE, porque
tengo una Ubuntu de 32 bits y 4 GB de RAM, por lo que el comando
anterior no me ha ido del todo bien:&lt;/p&gt;</description></item><item><title>Identificando los plugins de WordPress instalados</title><link>http://karpoke.ignaciocano.com/2011/06/20/identificando-los-plugins-de-wordpress-instalados/</link><pubDate>Mon, 20 Jun 2011 20:47:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2011/06/20/identificando-los-plugins-de-wordpress-instalados/</guid><description>&lt;p&gt;Hay un &lt;em&gt;script&lt;/em&gt; para &lt;code&gt;nmap&lt;/code&gt;, &lt;a href="http://seclists.org/nmap-dev/2011/q1/att-806/http-wp-plugins.nse"&gt;http-wp-plugins&lt;/a&gt;, que permite &lt;a href="http://blog.alexos.com.br/?p=2302"&gt;detectar
los complementos instalados en WordPress&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Dicho &lt;em&gt;script&lt;/em&gt; intenta acceder a los directorios de los complementos en
&lt;code&gt;wp-content/plugins/&lt;/code&gt; con la ayuda de un &lt;a href="http://seclists.org/nmap-dev/2011/q1/att-806/wp-plugins_lst_tar.gz"&gt;diccionario&lt;/a&gt;. Si la
respuesta no es un error 404 interpreta que el directorio, y por tanto
el complemento, existe. La lista de complementos para WordPress es extensa,
casi 13405 entradas, y podría llevar bastante tiempo analizarlas todas,
por lo que las entradas están ordenadas por popularidad y por defecto
sólo se escanean las 100 primeras.&lt;/p&gt;</description></item><item><title>Conectarse por SSH utilizando expect</title><link>http://karpoke.ignaciocano.com/2011/06/17/conectarse-por-ssh-utilizando-expect/</link><pubDate>Fri, 17 Jun 2011 14:59:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2011/06/17/conectarse-por-ssh-utilizando-expect/</guid><description>&lt;p&gt;&lt;code&gt;expect&lt;/code&gt; es un comando que &amp;ldquo;habla&amp;rdquo; con otros programas interactivos. Se
definen unas reglas en función de lo que esperamos que nos digan esos
programas y lo que queremos contestar.&lt;/p&gt;
&lt;p&gt;Un típico ejemplo es realizar una conexión a un servicio de FTP o SSH, y
utilizar &lt;code&gt;expect&lt;/code&gt; para que introduzca la contraseña por nosotros y lleve
a cabo diferentes acciones. La ventaja que tiene es que podemos
automatizar acciones en esos servicios. El gran inconveniente es que, si
esos servicios requieren autenticación, deberemos escribir la
contraseña, ya sea en un &lt;em&gt;script&lt;/em&gt; o directamente en el terminal,
pudiendo quedar reflejada en el historial. (Dependiendo de la
configuración, si incluimos espacios antes de ejecutar un comando, éste
no queda reflejado en el historial).&lt;/p&gt;</description></item><item><title>Múltiples cuentas de Dropbox en Ubuntu Maverick Meerkat</title><link>http://karpoke.ignaciocano.com/2011/03/30/multiples-cuentas-de-dropbox-en-ubuntu-maverick-meerkat/</link><pubDate>Wed, 30 Mar 2011 14:54:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2011/03/30/multiples-cuentas-de-dropbox-en-ubuntu-maverick-meerkat/</guid><description>&lt;p&gt;Una cuenta gratuita de Dropbox permite inicialmente 2 GB de espacio, que
se pueden ir ampliando con algunas sencillas acciones tales como
compartir un directorio, instalar el paquete para Ubuntu o
recomendárselo a un amigo. En principio, sólo se puede tener una cuenta
por dispositivo. Sin embargo, como vamos a ver, gestionar varias cuentas
para obtener más espacio, utilizándolas a la vez y desde la misma
máquina, es algo realmente sencillo y rápido.&lt;/p&gt;</description></item><item><title>Buscando rootkits y troyanos</title><link>http://karpoke.ignaciocano.com/2010/12/17/buscando-rootkits-y-troyanos/</link><pubDate>Fri, 17 Dec 2010 03:04:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2010/12/17/buscando-rootkits-y-troyanos/</guid><description>&lt;p&gt;Tres herramientas muy útiles: &lt;code&gt;rkhunter&lt;/code&gt;, &lt;code&gt;chkrootkit&lt;/code&gt; y &lt;code&gt;unhide&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="rkhunter"&gt;rkhunter&lt;/h2&gt;
&lt;p&gt;Busca &lt;em&gt;rootkits&lt;/em&gt;, puertas traseras y &lt;em&gt;exploits&lt;/em&gt;. Al instalarlo, se
programa un escaneo diario, pero cuando instalamos las actualizaciones
de algunos programas, &lt;a href="http://www.mail-archive.com/rkhunter-users@lists.sourceforge.net/msg01966.html"&gt;las firmas de &lt;code&gt;rkhunter&lt;/code&gt; quedan obsoletas&lt;/a&gt;, por
lo que empieza a mandar avisos.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Warning: The file properties have changed:
File: /usr/bin/md5sum
Current inode: 1093680 Stored inode: 475456
Current file modification time: 1285094009 (21-sep-2010 20:33:29)
Stored file modification time : 1267759792 (05-mar-2010 04:29:52)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Podemos actualizar las firmas de &lt;code&gt;rkhunter&lt;/code&gt; ejecutando:&lt;/p&gt;</description></item><item><title>Cómo publicar directorios en Ubuntu One y Dropbox</title><link>http://karpoke.ignaciocano.com/2010/10/31/como-publicar-directorios-en-ubuntu-one-y-dropbox/</link><pubDate>Sun, 31 Oct 2010 06:28:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2010/10/31/como-publicar-directorios-en-ubuntu-one-y-dropbox/</guid><description>&lt;p&gt;&lt;a href="http://one.ubuntu.com/"&gt;Ubuntu One&lt;/a&gt; es el servicio que ofrece Ubuntu en la nube. Entre otras
cosas, como &lt;a href="http://wiki.ubuntu.com/UbuntuOne/Tutorials/"&gt;sincronizar archivos de configuración o nuestros
favoritos&lt;/a&gt;, permite &lt;a href="http://wiki.ubuntu.com/UbuntuOne/Tutorials/FileSharing"&gt;compartir archivos y directorios&lt;/a&gt; de nuestro
espacio en la nube con las personas que queramos de una forma sencilla.&lt;/p&gt;
&lt;p&gt;Tambíen permite publicar archivos, para cada uno de los cuales se genera
una URL corta, y que sean accesibles por cualquiera. Sin embargo, &lt;a href="http://lists.launchpad.net/ubuntuone-users/msg00523.html"&gt;no
permite publicar directorios&lt;/a&gt;, al menos por ahora.&lt;/p&gt;</description></item><item><title>USB Dumping</title><link>http://karpoke.ignaciocano.com/2010/10/27/usb-dumping/</link><pubDate>Wed, 27 Oct 2010 19:44:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2010/10/27/usb-dumping/</guid><description>&lt;p&gt;El &lt;a href="http://www.seguridadapple.com/2010/10/usb-dumping-en-mac-os-x.html"&gt;USB Dumping&lt;/a&gt; consiste en copiar el &lt;a href="http://karpoke.ignaciocano.com/2010/10/27/recuperando-archivos-del-usb/"&gt;contenido de un USB&lt;/a&gt;
introducido en un ordenador, sin que la víctima se entere.&lt;/p&gt;
&lt;p&gt;En Ubuntu, podemos conseguir que se ejecute el &lt;em&gt;script&lt;/em&gt; que llevará a
cabo el robo de información, cuando se conecte un dispositivo USB. Para
ello, deberemos crear alguna &lt;a href="http://www.reactivated.net/writing_udev_rules.html"&gt;regla de &lt;code&gt;udev&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="udev-y-sysfs"&gt;&lt;code&gt;udev&lt;/code&gt; y &lt;code&gt;sysfs&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;udev&lt;/code&gt; se encarga de crear los nodos en &lt;code&gt;/dev&lt;/code&gt; para los dispositivos
presentes en el sistema. Para ello, se basa en la información
prorcionada por &lt;code&gt;sysfs&lt;/code&gt; y una serie de reglas proporcionadas por el
usuario. &lt;code&gt;sysfs&lt;/code&gt; devuelve información de los dispositivos conectados al
sistema, y &lt;code&gt;udev&lt;/code&gt; lo utiliza para crear los nodos &lt;code&gt;/dev&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>La guardiana de la puerta</title><link>http://karpoke.ignaciocano.com/2010/10/22/la-guardiana-de-la-puerta/</link><pubDate>Fri, 22 Oct 2010 19:37:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2010/10/22/la-guardiana-de-la-puerta/</guid><description>&lt;p&gt;¿A veces no os gustaría saber si el que se mete en vuestra casa no es el
maestro de las llaves?&lt;/p&gt;
&lt;p&gt;&lt;img alt="la guardiana de la puerta" loading="lazy" src="http://karpoke.ignaciocano.com/images/guardiana-300x260.jpg"&gt;&lt;/p&gt;
&lt;p&gt;En &lt;a href="http://serverfault.com/questions/77983/run-shell-script-each-time-any-user-logs-on"&gt;ubuntu&lt;/a&gt;, los &lt;em&gt;scripts&lt;/em&gt; que estén en el directorio &lt;code&gt;/etc/profile.d&lt;/code&gt;
se ejecutan cada vez que un usuario inicia la sesión. Si nuestro
servidor sólo lo usamos nosotros, y si no también, podríamos &lt;a href="http://terminus.ignaciocano.com/wp-uploads/linked/user-has-logged-in.sh"&gt;enviarnos
un correo cada vez que un usuario se conecta&lt;/a&gt;. Así, al menos,
podríamos saber si alguien ha entrado con nuestro usuario.&lt;/p&gt;</description></item><item><title>Memento en Bash</title><link>http://karpoke.ignaciocano.com/2010/09/26/memento-en-bash/</link><pubDate>Sun, 26 Sep 2010 16:01:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2010/09/26/memento-en-bash/</guid><description>&lt;blockquote&gt;
&lt;p&gt;No me acuerdo de olvidarte.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="Memento Polaroid Natalie Clean" loading="lazy" src="http://karpoke.ignaciocano.com/images/memento_polaroids_natalieclean_18700997-248x300.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Si lo primero que haces nada más iniciar una sesión es abrir el
terminal. Varias ventanas, varias pestañas. &lt;code&gt;screen&lt;/code&gt;, &lt;code&gt;terminator&lt;/code&gt; o
&lt;code&gt;byobu&lt;/code&gt;. Es posible que, alguna vez, se te haya pasado por la cabeza que
sería interesante guardar una nota sobre algo que estamos haciendo, algo
que quisiéramos recordar más tarde, algo que quisiéramos no olvidar,
algo que está relacionado con el directorio en el que estamos.&lt;/p&gt;</description></item><item><title>La batería del portátil</title><link>http://karpoke.ignaciocano.com/2010/09/26/la-bateria-del-portatil/</link><pubDate>Sun, 26 Sep 2010 00:10:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2010/09/26/la-bateria-del-portatil/</guid><description>&lt;p&gt;Algunos &lt;a href="http://www.macoteca.com/falsos-mitos-de-las-baterias/90/"&gt;falsos mitos de las baterías del portátil&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Es necesario que se agote la batería para ponerla a cargar,&lt;/li&gt;
&lt;li&gt;no se debe dejar el portátil siempre enchufado a la corriente,&lt;/li&gt;
&lt;li&gt;ni se debe suspender conectado a la corriente.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;También existen técnicas para &lt;a href="http://www.macoteca.com/rejuvenece-la-bateria-de-tu-portatil/94/"&gt;alargar la vida de la batería&lt;/a&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;enchufa el portátil (y enciéndelo, si quieres) hasta que la batería&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;este cargada y déjalo cargando 2 horas más,
&lt;/code&gt;&lt;/pre&gt;&lt;ol start="2"&gt;
&lt;li&gt;desenchufa el portátil y espera a que se gaste la batería e hiberne&lt;/li&gt;
&lt;li&gt;enchufa el portátil sin encenderlo hasta que se cargue la batería&lt;/li&gt;
&lt;li&gt;realizar estas operaciones cada 2 ó 3 meses&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;En principio, las baterías de los portátiles &lt;em&gt;ya&lt;/em&gt; incorporan un
mecanismo que corta la corriente cuando éstas están totalmente cargadas,
evitando así la fatiga por la carga continua.&lt;/p&gt;</description></item><item><title>Bash DNS Cache Snooping</title><link>http://karpoke.ignaciocano.com/2010/09/25/bash-dns-cache-snooping/</link><pubDate>Sat, 25 Sep 2010 04:21:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2010/09/25/bash-dns-cache-snooping/</guid><description>&lt;p&gt;&lt;strong&gt;DNS Cache Snooping&lt;/strong&gt; consiste en realizar una serie de peticiones de
resolución de nombres de dominio a la caché de un servidor DNS, con la
finalidad de conocer si los usuarios de ese servidor han visitado esos
dominios. Hay que tener en cuenta que las entradas en la caché tienen un
tiempo de caducidad, y si durante ese tiempo no ha habido una petición a
un dominio, éste es eliminado.&lt;/p&gt;</description></item></channel></rss>