Ir al contenido principal

Monitorizar la red en servidores linux


Como podemos monitorear el tráfico de red en GNU/Linux. Se trata de monitorear en tiempo real la utilización de los dispositivos de red y el consumo de ancho de banda, no de esnifar o analizar el tráfico (para ello se debe utilizar la herramienta de línea de comandos tcpdump, o la herramienta GUI Wireshark).

Si se desea monitorear el consumo de ancho de banda en las diferentes interfaces de red en tiempo real, desde la línea de comandos, es necesario utilizar la herramienta nload. Esta herramienta monitorea y visualiza el tráfico y consumo de ancho de banda de las interfaces de red en tiempo real, utilizando dos gráficos para separar el tráfico saliente y entrante. Además provee información adicional como la cantidad total de datos transferidos y el consumo mínimo y máximo de ancho de banda.
Para instalar nload en Debian y derivados simplemente se debe ejecutar sudo apt-get install nload. En CentOS es necesario agregar el repositorio RPMforge y luego ejecutar yum install nload.
Una vez instalado, simplemente ejecutar:
 #nload

Para intercambiar entre dispositivos se deben utilizar las flechas de dirección del teclado (izquierda y derecha). Para cerrar nload presionar la tecla Q o la combinación de teclas Ctrl+C.
nload obtiene la información del tráfico de red y consumo de ancho de banda desde los archivos /sys/class/net/*/* y /proc/net/dev. Como esta información se obtiene directamente del kernel Linux, los datos de consumo total de ancho de banda se pierden cuando se reinicia el sistema. Por esta razón, los totales ("Ttl") que reporta nload representan el consumo total de ancho de banda desde que inició el sistema (uptime).
Por ejemplo, en el gráfico anterior se observa que el sistema ha recibido un total aproximado de 57 GBytes, y ha enviado un total aproximado de 391 GBytes. Si el uptime del sistema es de 77 días, esto implica que aproximadamente recibe 758 MBytes y envía 5199 MBytes por día, lo que equivale a recibir 31 Mbytes y enviar 216 MBytes por hora.



Monitorizar el ancho de banda de la red en servidores linux

En muchas ocasiones por circunstancias diversas, nos vemos obligados a monitorizar nuestros servidores. Veremos dos opciones que funcionan realmente bien y apenas consumen recursos.
Iptraf
Funciona recolectando información de las conexiones TCP, como las estadísticas y la actividad de las interfaces, así como las caídas de tráfico TCP y UDP. Se encuentra disponible en sistemas operativos GNU/Linux.
Características:
  • Monitor de tráfico IP que muestra información del tráfico de la red.
  • Estadísticas generales de las Interfaces.
  • Módulo de estadísticas de LAN que descubre hosts y muestra datos sobre su actividad.
  • Monitor TCP, UDP que muestra la cuenta de los paquetes de red para las conexiones de los puertos de aplicaciones.
  • Utiliza el "raw socket interface" que lleva el kernel permitiendo ser usado por un amplio rango de "tarjetas de red" .
Interfaces de red:
  • Loopback local
  • Todas las interfaces Ethernet admitidas por GNU/Linux.
  • Todas las interfaces FDDI admitidas por GNU/Linux.
  • SLIP
  • Asynchronous PPP
  • Synchronous PPP over ISDN
  • ISDN con encapsulación Raw IP
  • ISDN con encapsulación Cisco HDLC
  • Línea IP Paralela.

Las principales estructuras de datos que usan las distintas facilidades del programa se encuentran en listas doblemente enlazadas, lo cual facilita su desplazamiento. El máximo número de entradas está únicamente limitado por la memoria aleatoria disponible. Las operaciones de búsqueda en la mayoría de las facilidades se llevan a cabo linealmente, hecho que provoca un suave pero casi imperceptible impacto. Debido a la rapidez con que tiende a crecer el monitor de tráfico de ips, usa una Tabla hash para realizar las búsquedas con mayor eficiencia. (Las operaciones de búsqueda se llevan a cabo cada vez que el programa necesita comprobar si ya está en la lista la dirección Ethernet o ip o el protocolo o el puerto de red. Además, cuenta también con un mecanismo de doblado de enlaces que meramente contiene anotaciones sobre entradas antiguas que están disponibles para volverse a usar. Cada vez que una conexión se reinicia o cierra completamente, la información de entradas no se libera, sino que se le añade una entrada a la lista-cerrada. Al detectar una nueva conexión, la lista se comprueba y si no está vacía, la primera entrada en uso que esté disponible se volverá a usar, para entonces, borrar la lista-cerrada.
Prácticamente todas las distros lo tienen en sus repositorios.
Debian, Ubuntu y derivados:
apt-get install iptraf
OpenSuse:
zypper install iptraf
Fedora, CenTos y derivados:
yum install iptraf
Ejecutar en terminal con:
iptraf
iptraf.png
tcptrack
Tcptrack, utilizado para conocer la información de las sesiones, lo cual te dara información muy útil relativa a los ataques. Muestra direcciones de origen y destino, los puertos, estado de conexión, el tiempo de inactividad, y tambien el uso del ancho de banda. 
Instalar en CenTos y derivados:
cd /usr/src
wget http://packages.sw.be/tcptrack/tcptrack-1.4.0-1.el6.rf.x86_64.rpm
rpm -ivh tcptrack-1.4.0-1.el6.rf.x86_64.rpm
Instalar en Debian y derivados:
apt-get install tcptrack
Instalar en OpenSuse:
Dependera de tu version Open. Selecciona en esta pagina y descargas el rpm correcto,http://download.opensuse.org/repositories/network:/utilities/ 
Para ejecutarlo:
tcptrack -i "interface name"   (Un ejemplo seria: tcptrack -i eth0)
Otro ejemplo seria monitorizar un puerto especifico:
tcptrack -i eth0 "dst port 80"
tcptrack.png

Comentarios

  1. Buen día Jose, tengo unas dudas que espero me puedas ayudar a solucionar, estoy intentando implementar uno de estos 2 monitores de red para verificar que tanto descarga o sube cada usuario en mi red, quisiera saber si monitorea tambien otro equipos que no tengas SO Linux, y cual es la forma correcta de instalar, tiene que ser en el mismo servidor y que este esté repartiendo el DHCP o como? porque lo instale en una maquina virtual en modo puente para testear, y no me detecta TCP, pero en fisica si se ve la transmisión de datos ARP,UDP,etc. y aparece el msj no TCP entries.

    ResponderEliminar

Publicar un comentario