Monitoreo de redes en casa

Todos sabemos que una de las cosas más interesantes para aprender a hacer es monitorear una red. No sólo porque nos interesa saber qué es lo que entra y qué es lo que sale de nuestra PC sino porque también nos da una idea de todo lo pasa sin que nos demos cuenta.

Desde cómo puede ser que uno escriba una dirección de internet y se cargue una página web hasta detectar ataques a la PC. Esto nos permite administrar mejor nuestra PC (o red) e inclusive mejorarla basándonos en eso. Por ejemplo, (una vez que consiga unas cositas que me faltan) pienso dejar mi servidor monitoreando la red de casa permanentemente para explicar fehacientemente en mi casa porqué no nos conviene una conexión con límite de bajada. Ustedes tendrán sus propios intereses.

Aquí tienen una breve explicación sobre un aspecto interesante del protocolo de comunicación en el marco de una herramienta (para Linux) para monitorear el tráfico de una red.

Notas de traducción

El artículo

Linux no carece de utilidades que ayudarán al usario a revisar el tráfico de red que pasa a través de su máquina, especialmente cuando uno está conectado a internet. Algunas de estas utilidades que vienen a mi mente son los tan comunes tcpdump y ethereal [para el que también existe versión para Windows]. tcpdump es instalado por defecto por cualquier distribución GNU/Linux. pero muchos otros necesitan ser específicamente descargados e instalados por el usuario para poder utilizarlo. Uno de los tantos ayudantes en el monitoreo del intercambio de paquetes IP desde y hacia la PC propia es IPTraf. Es una utilidad con menúes basados en curses [librería muy común utilizada para generar menúes en aplicaciones] que intercepta los paquetes de la red y nos brinda información al respecto. Usualmente, este tipo de programas de monitoreo de redes es utilizado en puertas de enlace (gateways) en los que la PC actúa como router hacia el mundo exterior. Pero también puede ser utilizado por un usario caser conectado a la red para monitorear lo que pasa en la propia PC.

Para comenzar a utilizar IPTraf, se lo debe instalar primero; lo que en un sistema basado en Debian es tan simple como alguo de los siguientes comandos:

  • apt-get install iptraf
  • aptitude install iptraf

Una vez instalado el programa, uno puede ejecutarlo para monitorear la red. Desafortunadamente, se necesitan de permisos de super-usuario para hacer esto. En Ubuntu, significa agregar la palabra sudo antes de la orden:

sudo iptraf

Una vez ejecutado, el usuario verá un menú curses donde puede elegir comenzar el monitoreo local o el tráfico a través de cualquiera de las tarjetas de red instaladas en la máquina.

Esta aplicación me pareció muy útil y me abrió los ojos al mismo tiempo. Por ejemplo, desactivé la mayoría de los servicios de mi PC. Pero encontré que en sólo 15 minutos de conectarme, IPTraf registró al menos 6 intentos de conexión a mi máquina mediante SSH. Por supuesto, podrían haber sido el resultado de alguien utilizando nmap oara ver qué puertos están abiertos en mi PC. Ahí fue la oscuridad de estar en la red.

Este programa fácil de usar tiene opciones adicionales entre sus menúes como activar la búsqueda DNS inversa, en cuyo caso, los registros tendrán los nombres de dominio en lugar de las direcciones IP siempre que sea posible, así como el nombre del servicio en lugar del número de puerto. Por ejemplo, cuando se genera tráfico al conectarme al sitio de Yahoo desde mi navegador iptraf lo mostrará como yahoo.com:www lo que denota que me estoy conectado al puerto 80 del sitio web de Yahoo. También mostrará la cantidad de paquetes transferidos desde y hacia el servidor web de yahoo en mi máquina… todo en tiempo real.

Lo mismo ocurre cuando alguien intenta conectarse a nuestra máquina. Todos y cada uno de los paquetes IP es interceptado, la información IP de cada paquete es decodificada y se muestra el resultado en tiempo real. Existe una opción para guardar los registros a un archivo que se encuentra, por defecto, en el directorio /var/log/iptraf. Aún cuando lo más útil para mí era monitorear el tráfico de red, no es todo lo que esta exelente herramienta puede monitorear. También puede monitorear interfases ppp, loopback, SLIP, FDDI e ISDN.

La información de los paquetes iterceptados que es decodificada por iptraf incluye:

  • Dirección y puerto de origen
  • Dirección y puerto de destino
  • Cuenta de paquetes
  • Cuenta de bytes
  • Tamaño del paquete
  • Tamaño de ventana
  • Estado de opciones (flags)

Me gustaría aclarar un poco en el tema de las opciones (flags) mostradas por iptraf. Cada paquete TCP interceptado es asociado con una o más opciones que expresan información como qué PC fue la que comenzó la conexión, cuando la conexión es cerrada y más. Las opciones son:

  • S: se está llevando a cabo un SYN (sincronización) preparando una conexión. Si sólo si está presente S---entonces se está intentando establecer una conexión. Pero si aparece S-A-, entonces es el reconocimiento de un pedido de conexión anterior.
  • A: reconocimiento (ACK) de un paquete recibido
  • P: un pedido de prioridad para que sea llevado al comienzo de la cola de recepción
  • U: el paquete contiene datos urgentes
  • RESET: la máquina de origen de esta dirección reseteó toda la conexión
  • DONE: la conexión ya terminó de enviar datos en esta dirección y envió un paquete de finalización (FIN) que no ha sido reconocido por la otra PC.
  • CLOSED: el paquete de finalización (FIN) ha sido reconocido por la otra máquina
  • -: un guión indica que la opción no está activa
    • Por lo que, si veo una actividad inusual de paquetes SYN (S---) podría asumira que estoy bajo un ataque de sincronización.

      IPTraf puede mostrar información estadístia de los paquetes ordenados por tamañoo puerto TCP/UDP, lo que da una buena idea del tráfico de red desde y hacia nuestra PC.

      IPTraf también soporta una gran cantidad de opciones de ejecución, haciéndolo ideal para el uso desde un script. Es cierto que ethereal también es un monitor de red poderoso, pero yo opino que iptraf es un balance entre funcionalidad y simplicidad, lo que lo hace una herramienta idónea para los usuarios caseros que quieren monitorear su red.

7 thoughts on “Monitoreo de redes en casa

  1. Hola!, cómo puedo hacer para monitorear una red en Windows?..Gracias.
    Saludos.

  2. Vero, para poder hacer eso necesitas una PC configurada como “servidor” (puerta de enlace) de todas las demás. De esa forma todo el tráfico de la misma pasará por esa máquina.

    Una vez configurado eso necesitas instalar un programita en dicho “servidor” que te servirá para revisar el tráfico de la red. Ese programita, como bien mencioné en el artículo, puede ser el Ethereal configurado en modo promiscuo para que tome todos los paquetes de la red.

    Si lo que quieres monitorear es algo más complicado que sólo el tráfico de red, entonces es un poco más complicado que eso. Los programas que necesitas serían el principal problema porque, no sólo son todos distintos, sino que también pueden ser complicados de configurar,

  3. como puedo obtener un sniffer como el eteheral en idioma español pero para windows xp como puedo obener sus manuales

  4. Pingback: Instalar y configurar “iptraf” | 8chapas.com