Archive for the 'Apuntes' Category

El comando wget en linux sirve para descargar cualquier cosa de un sitio web, desde páginas HTML a documentos PDF o imágenes, siempre que estén disponibles desde una URL.

El comando básico es

wget http://www.dominio.com/ruta/al/archivo

Recomiendo leerse la documentación del comando wget, pues tiene una inmensa cantidad de parámetros que permiten especificar exactamente qué y cómo queremos realizar la descarga.

Por ejemplo, para descargar sólo las imágenes (parámetro -A) de una página dada (-r realiza un parseo de la página descargada en busca de URLs a analizar, estilo recursivo), teniendo en cuenta que no baje elementos ya descargados anteriormente (-nc), asegurándonos que sólo será recursivo hacia los hijos y no hacia el padre (-np), escribiríamos el siguiente comando:

wget -r -A=,”jpg”,”JPG”,”gif”,”GIF”,”wmv”,”WMV” -nc -np http://www.dominio.com/ruta/al/archivo

Salu10

Buscando otra cosa he caído en QuarkBlog y he descubierto este artículo. Se tarta de una lista de consejos para optimizar los programas que hacemos en PHP.

Me ha parecido muy interesante, y es una lista a la que prestaré atención más adelante. Con todos los respetos hacia el autor original, reproduzco la lista a continuación:

En Linux, para listar las conexiones abiertas, incluso las que sólo estén escuchando un puerto sin transmitir nada, podemos usar netstat. En mi caso, usando netstat con los siguientes parámetros obtengo un listado de interfícies, estado de la conexión y PID/programa que lo ejecuta, muy útil:

netstat -tapn

Para saber el significado de los estados, consultando la Wikipedia tenemos:

  • ESTABLISHED El socket tiene una conexión establecida
  • SYN_SENT El socket está intentando iniciar una conexión
  • SYN_RECV Una petición de conexión fue recibida por la red
  • FIN_WAIT1 El socket está cerrado, y la conexión esta finalizándose
  • FIN_WAIT2 La conexión esta cerrada, y el socket está esperando que finalice la conexión remota
  • TIME_WAIT El socket está esperando después de cerrarse que concluyan los paquetes que siguen en la red
  • CLOSED El socket no está siendo usado
  • CLOSE_WAIT La conexión remota ha finalizado, y se espera que se cierre el socket
  • LAST_ACK La conexión remota ha finalizado, y se espera que se cierre el socket. Esperando el acknowledgement.
  • LISTEN El socket está esperando posibles conexiones entrantes
  • CLOSING Ambos sockets han finalizado pero aun no fueron enviados todos los datos
  • UNKNOWN El estado del socket no se conoce

Una de las cosas más comunes que hago al acabar de instalar un Linux es modificar el modo en el que arranca. Primero de todo debemos tener en cuenta que existen 5 modos de arranque en un Linux (más 2 extras ;) ) :

  1. Modo monousuario
  2. Modo multiusuario sin NFS (igual que el modo 3 sin red)
  3. Modo completo multiusuario sin entorno gráfico
  4. Sin uso
  5. Modo completo multiusuario con entorno gráfico (X11)

Además existe el modo 0 para apagar el ordenador y el modo 6 para reiniciarlo, pero nunca debemos setarlos en el contexto de éste artículo.

Normalmente, al instalar cualquier distribución desktop de Linux se autoconfigura para arrancar siempre en modo 5. Es el normal y típico. Pero si por alguna razón nos da problemas, nos ocupa memoria, o simplemente queremos ser nosotros quienes iniciemos el entorno gráfico, debemos modificar ésta configuración.

Ésto se encuentra en el archivo /etc/inittab. Allí debemos buscar la línia siguiente:

id:5:initdefault:

Normalmente es la primera línia del archivo (sin contar las líneas de los comentarios). Debemos sustituirla por la siguiente:

id:3:initdefault:

Hemos cambiado el 5 por el 3. Con ésto, Linux no va a autoiniciar el entorno gráfico cada vez que arranquemos el entorno gráfico.

Si, es simple, pero la cantidad de veces que tengo que hacerlo…

Saludos.

Ayer descubrí tcpdump bajo Linux, una eficaz herramienta para visualizar los paquetes que circulan por una determinada red.

En mi caso usé

tcpdump -i eth0 -A

Con lo que se printa por pantalla todo paquete que la eth0 detecte, independientemente de la red lógica que tenga la tarjeta configurada. Ésto último se refiere a que aunque la eth0 tenga una IP 192.168.1.100, con tcpdump será capaz de capturar los paquetes de otras redes como 192.168.2.0, simplemente genial para identificar IPs de equipos conectados a nuestra red.

Más Información: