Introducción al monitoreo de tráfico en GNU/Linux

De WikiSalud
Saltar a: navegación, buscar
Commons-emblem-Under construction-green
Este artículo está en una fase temprana de desarrollo, por lo que puede estar incompleto o tener aún errores de redacción o formato

Lo siguiente se refiere a algunos consejos y herramientas para verificar el tráfico en GNU/Linux, especialmente pero no limitado a Debian.

Con el monitoreo de tráfico nos encontramos ante la complicada tarea de usar técnicas que ofrezcan la mayor información posible con el menor uso de recursos por parte del sistema. Así que como siempre, lo mejor para un servidor es usar herramientas que sean capaces de funcionar por consola.

tshark

Tshark es básicamente el paquete para consola en wireshark. En CentOS, por ejemplo, el paquete se llama wireshark y la GUI se llama wireshark-gui. En Debian el paquete se llama precisamente tshark y se obtiene por vía habitual

aptitude install tshark

Hay ciertas limitaciones en su uso desde consola. Debería ser usado para esnifar paquetes y posteriormente analizarlos en Wireshark:

tshark -i eth1  -F pcapng -w trafico-`date +'%y%m%d-%H:%M'`.pcapng

Como tal, esnifa cualquier paquete en la interfaz eth1 con formato pcapng. Ctrl + C y termina y cierra el fichero. Es posible usar any como valor para la opción -i

La opción -a nos permite establecer una condición de finalizado. La opción referente al tamaño (KB) por ejemplo:

tshark -i eth1 -F pcapng -w trafico-`date +'%y%m%d-%H:%M'`.pcapng -a filesize:524288 

Lo más probable es que la interfaz que estamos esnifando es aquella por la que nos hemos conectado vía SSH. No es que sea un grave problema que registre los ficheros de nuestra comunicación, es un ejemplo de tráfico que nos nos interesa y que podemos filtrar. O de hecho podemos filtrar tráfico específico que nos interese registrar. (Es probable que esto último no sea la mejor idea si hemos llegado a este nivel buscando respuestas) Para ello, usamos la opción -f con un filtro pcap válido:

tshark -i eth1 -F pcapng -w trafico-`date +'%y%m%d-%H:%M'`.pcapng -a filesize:524288 -f 'not (ip host 192.168.2.20 and tcp port 22)' 

Escrito de esta forma, el filtro es menos especifico sobre si IP o Puerto son origen o destino, hará coincidencia en ambos casos.

bwm-ng

Esta es una pequeña joya en los repositorios de Debian. Con ella es posible visualizar en tiempo real el uso de ancho de banda del sistema. Hasta donde he podido probarlo parece que los datos recogidos son bastante confiables, así que tenemos otra herramienta de nivel profesional que trabaja desde consola y no desde un navegador. La instalamos

aptitude install bwm-ng

Y la usamos de forma tan sencilla como:

bwm-ng

La salida desde consola es dinámica, pero tiene el siguiente aspecto:

01 - sin opciones.png

8102.70 KB/s es bastante informativo pero podemos dejarlo más ilustrativo con la opción -d 1, que se encargará de mostrar una unidad más representativa de la magnitud medida. Esta opción también puede cambiarse una vez bwm-ng es abierto pulsando la tecla d en la consola.

02 - dinamico.png

Por defecto, las unidades mostradas son multiplos de bytes. Por otra parte, los proveedores ISP suelen vender los enlaces como bites, por lo que bwm-ng puede seguir mostrando información sin un sentido inmediato. Así que para ahorrarnos la división entre 8, usamos la opción -u bits Esta opción también puede configurarse en tiempo real, pulsando la tecla u

bwm-ng -d 1 -u bits
03 - unidad bits.png

Para lo que sigue, será necesario acostumbrarse un poco a la herramienta y empezar a entender las medidas que muestra. Porque el actual problema es que el dato mostrado se corresponde con aquel que se leyó en un momento dado. Pero eso puede ser un poco confuso a la hora de intentar ver la tendencia, para lo cual la opción -T avg nos permite verificar el promedio en un período de 30s Para cambiarlo en tiempo real, usaremos t en minúscula

bwm-ng -u bits -d 1 -T avg
04 - promedio.png

Por ultimo, podemos cambiar el tiempo de refresco en tiempo real con las teclas + y -. Otras opciones interesante son las de cambiar la fuente de datos en tiempo real con n

vnstat

En complemento a una herramienta en tiempo real como bwm-ng, tenemos a vnstat que incluso corre un demonio en el sistema que le permite almacenar registros del uso de ancho de banda. Hasta ahora el sistema no lo ha resentido, así que un demonio extra es un lujo que vale la pena tener. Esta herramienta se instala desde repositorios como su nombre lo sugiere:

aptitude install vnstat

Y podemos correrla desde consola para obtener un resumen un poco complicado a simple vista:

vstat
01 - sumarizacion.png

Nuestro primer intento sería el de configurar una interfaz específica para obtener más información específica

02 - interfaz.png

Por muchas razones, me parece que registro por día es algo digno de revisar. Esta bien tabulado y nos permite ver tendencias de una forma ordenada

03 - resumen por día.png

El resumen por hora tiene lo suyo, pero parece tiene la necedad de mostrar todo en KiB y así no se puede mucho (Excepto que en realidad necesites los registros, en ese caso si que se puede)

04 - resumen por hora.png
Herramientas personales
Espacios de nombres

Variantes
Acciones
Navegación
Herramientas