Archive for the ‘Networking’ Category

Descargar web completa usando wget

Es un comando muy poderoso que permite bajarse cosas de la red mediante terminal. Hablo de wget.

wget

Además de soportar multitud de opciones de configuración avanzadas, en este momento vamos a hablar de cómo descargar una página web de forma íntegra con wget.

$ wget -r -p http://www.web.com

El parámetro -r indica recursividad, y -p que se descarguen todos los ficheros que son necesarios para ver la página de forma correcta (imágenes, sonidos, hojas de estilo, etc.)

En nuestro ejemplo, queremos ir un poco más alla. El robots.txt del sitio web suele falsear información. Para que no nos falten cosas:

$ wget -r -p -e robots=off http://www.web.com

Algunas páginas web no dejarán que nos bajemos todo lo que podríamos, por lo que hay que hacerle entender al sitio que somos un navegador normal y corriente:

$ wget -r -p -e robots=off -U mozilla http://www.web.com

El parámetro -r indica recursividad, y -p que se descarguen todos los ficheros que son necesarios para ver la página de forma correcta (imágenes, sonidos, hojas de estilo, etc.)

Los administradores más listos suelen limitar el tráfico masivo , pero ese no es un problema para nosotros si establecemos pausas entre descargas:

wget –random-wait -r -p -e robots=off -U mozilla http://www.web.com

Otros parámetros útiles pueden ser:

  • -b : La descarga continuará incluso si nos salimos de la sesión. Muy util para cuando accedemos remotamente a una máquina.
  • –limit-rate=100k : Limitará el ancho de banda para las descargas a 100kbps.
  • -P /ruta/destino : Permite especificar la ruta donde queremos que se descarguen los archivos.
  • -o $HOME/wget_log.txt : Creará un registro de las transferencias. Necesario en caso de querer comprobar errores.

Con esta gran utilidad llamada wget se me ocurre una idea…

Sin comentarios »

Scripts con SSH

SSH significa Secure Shell, es decir, un intérprete de comandos seguro, y es a su vez un protocolo y un programa. Utiliza el puerto 22, y sirve para acceder a máquinas remotas a través de la red.

Leyendo información por la red me he enterado de que SSH también puede utilizarse para realizar scripts utilizando Bash (el intérprete de comandos de Unix). Nunca imaginé que podría servir para crear de forma sencilla algunos scripts utilizables en el día a día, o para ocasiones determinadas. Por ejemplo, puede resultar muy útil para un administrador de red a la hora de manejar y controlar un dominio. Incluso podemos usarlo en conjunto con Cron y ejecutar los scripts a una hora determinada.

Lo primero es instalar ssh; y  expect para facilitarnos las cosas.

# apt-get install ssh expect

Expect es una librería que contiene funciones que permite ejecutar lo que definamos al leer algo determinado por pantalla. Un ejemplo clarificador: Si el terminal nos muestra: “Ingrese contraseña:”, entonces podemos decirle que cuando se nos muestre ‘contraseña:’ escriba el valor que hemos definido en el script.

Vamos a crear dos casos de ejemplo, que creo que asi se entenderá mejor-

Creamos un archivo con el nombre que queramos, dónde queramos, y con el editor que más nos guste (nano, vi, emacs, …). Recordad crearlo como usuario normal.
Este script servirá para: Desactivar eth0 y activar ath0 (podría ser cualquier otra cosa, como una wifi0 otra eth, una subinterfaz, …).

#!/bin/bash
/usr/bin/expect <<EOD
spawn ssh root@localhost
expect “password:”
send “nuestrapassr”
expect “$”
send “ifdown eth0r”
expect “#”
send “ifup ath0r”
expect “#”
expect eof
EOD

El segundo script servirá para apagar remotamente un ordenador (necesitamos ser administradores de ese equipo):

#!/bin/bash
/usr/bin/expect <<EOD
spawn ssh root@192.168.X.X
expect “password:”
send “nuestrapassr”
expect “$”
send “haltr”
expect “#”
expect eof
EOD

Para ejecutar los scripts basta con hacer: sh scriptX.sh, o si tienen permisos de ejecución: ./scriptX.sh. Y para hacer la labor más sencilla, podemos crear un lanzador para que se ejecute con un simple click de ratón.
Estos scripts pueden ser utilizados remotamente, lo cual es una suerte porque facilita mucho la labor de administración :)

Gracias a la labor de investigación de Khirr

2 Comentarios »

Instalación y Configuración de Samba

Primero vamos a crear un grupo.

Crear un grupo en Linux: groupadd nombre-del-grupo

Si quisiéramos borrar un grupo: groupdel nombre-del-grupo

Ahora crearemos el usuario con varios parámetros como el grupo al que pertenece (-g), que asigne y cree (si no existe) un directorio de trabajo al usuario (-m -d), directorio que contiene los archivos por defecto del directorio de trabajo (-k). su password encriptado (-p) y su shell (-s).

Crear un usuario en Linux: useradd -g nombre-del-grupo -m -d /home/nombre-de-usuario/ -k /directorio-archivos-por-defecto/ -p password-encriptado -s /bin/sh nombre-de-usuario

Si no podemos encriptar la clave o luego queremos cambiarla utilizaríamos el comando: passwd nombre-de-usuario

Si quisiéramos borrar el usuario y su directorio: userdel -r nombre-de-usuario

Si sólo quisiéramos borrar el usuario pero no su directorio: userdel nombre-de-usuario

Usar chown para cambiar usuario, y chgrp para cambiar grupo de un directorio

UN ejemplo de carpeta compartida:
[SHARED]
comment = Compartidos.
path = /home/shared
writeable = Yes
guest ok = Yes

1 Comentario »

Cambiar la MAC

MAC, o Media Address Control, es identificador formado por 6 pares de números que tienen nuestros dispositivos de red.
No es normal querer cambiar el número de la MAC, ya que ello conlleva ‘juego sucio‘, ya que viene fijado de fábrica, y siguiendo un orden de fabricación y fabricante, por lo que son únicas a nivel mundial; sin embargo, para quien desee ‘jugar’ un poquito con sus máquinas virtuales y demás, el poder cambiar la MAC es una buena opción

Para cambiarla en Linux:

# ifconfig eth0 hw ether 00:00:00:00:00:00

Para cambiarla en Windows:

Se debe iniciar como administrador. Después, click derecho en Mi PC > Administrar > Administrador de dispositivos > Adaptador de red > Click derecho sobre nuestro dispositivo de red > Propiedades > Pestaña Opciones Avanzadas > Introducir el valor para la nueva MAC en el recuadro, sin escribir ‘:’ entre cada par de números.

Para cambiarla en Mac OS X:

$ sudo ifconfig en0 lladdr 00:00:00:00:00:00

1 Comentario »

Servidor Apache Seguro

Para completar la entrada sobre cómo Instalar y Configurar  un servidor Apache bajo Debian; hoy quiero enseñaros cómo hacer que Apache sirva una página web utilizando el protocolo de conexión segura SSL, es decir, una página servida por https:// en vez del http:// habitual.

apache+ssl

El primer paso es instalar openssl y el ssl-cert.

# apt-get install openssl ssl-cert

Ahora deberemos activar el módulo ssl:

# a2enmod ssl

El siguiente paso será crear el certificado.

# openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.cert -keyout /etc/apache2/apache.cert

Puede parecer raro, pero está bien para entender cómo funciona y saber cómo se hace. ¿Qué valor puede tener un certificado expedido por nosotros mismos? Después de rellenar unos cuantos datos (si queremos) pasamos al siguiente punto.

Cambiamos los permisos del certificado que acabamos de expedir:

# chmod 600 /etc/apache2/apache.cert

Si estamos en una versión actual de apache, no hará falta tocar nada acerca del puerto que se debe escuchar. En caso contrario, bastará añadir la linea ‘Listen 443‘ al fichero ‘etc/apache2/ports.conf

Sólo queda añadir las siguientes líneas dentro de la configuración de nuestra página web para activar SSL:

SSLEngine on
SSLCertificateFile /etc/apache2/apache.cert

Finalmente, reiniciamos apache:

# /etc/init.d/apache2 restart

Et voilà! Ahora podremos comprobar como para acceder a nuestra página web servida necesitamos hacerlo utilizando https en la barra de direcciones.

Sin comentarios »

Crimpando RJ45

Estos próximos días voy a llenar el blog de entradas referentes al Networking. ¿Y por qué? Como habréis podido comprobar, estos últimos días no he estado muy activo que digamos. Todo es culpa de que estoy de exámenes finales. Sí sí, finales. El próximo miércoles tengo la evaluación; y de ahí directo a las prácticas en empresa.
Por suerte tan sólo me queda un examen, el lunes, y aunque sea el más difícil… ¡es el último!
Bueno… más o menos. Todavía tengo el RiojaSkills… del que hablaré mañana :)

Para empezar poco a poco con el tema de redes, esta entrada va dirigida a los cables de red. ¡Qué sería de nosotros sin ellos! Directos, cruzados, transpuestos… UTP, STP… categoría 4, 5, 5e, 6… ¡cuánta variedad!

Pero vayamos a lo sencillo y principal.
Todo cable de red consta de 4 pares de hilos. Todo cable de red tiene dos terminaciones, que salvo que usemos rosetas, serán interfaces RJ-45.

rj45

La forma de ‘colocar’ los cables en dichas interfaces es mediante la técnica del crimpado. Una crimpadora (usemos tecnicismos ingleses, que queda mejor) es una herramienta en la que se coloca la ‘cabeza’ RJ-45 con los pares de hilos colocados, y mediante presión, efectúa un pequeño corte en los cables para que ‘haga contacto’, y a la vez baja una pestañita del interfaz que atrapa fuertemente los hilos, impidiendo que éstos se salgan.

crimpa

Ahora bien, ¿en que orden hay que colocar los cables? Existen 4 colores que corresponden a cada uno de los pares: naranja, verde, azul y marrón. Cada par tiene su cable ‘liso‘ y su cable ‘rayado‘, es decir: naranja, blanco-naranja, verde, blanco-verde, azul, blanco-azul, marrón y blanco-marrón.
Hay dos normas comunes de crimpado: A (para americanos) y B (para el resto de los mortales). Dichas normas sólo varían en la colocación de los colores:

crimpa

¡Espero que esta información le resulte de utilidad a alguien! ¡Y recordad: Crimpad en B! =D

9 Comentarios »