SysAdmin tools (II): Herramientas de gestión de red en Linux
Las redes son un recurso muy utilizado en la actualidad, por lo que hoy presentaremos algunas herramientas útiles para sysadmin’s en cuanto a la gestión de redes y sus recursos.
Hace algunas semanas introducimos esta serie de herramientas para administradores de sistemas, específicamente para gestionar procesos y estado del sistema, y podemos leerlo en: SysAdmin tools (I): procesos y estado del sistema.
En esta oportunidad vamos a ampliar ese contenido con la segunda parte de esta serie de tutoriales, con herramientas específicas para gestionar redes y recursos de red.
ntopng
Esta utilidad es la «next-generation» del clásico ntop, y provee una interfaz gráfica vía web para administrar la red! Puede geolocalizar hosts, obtener info del tráfico de red, mostrar la distribución de tráfico en la red local, y analizarlo.
iftop
Esta herramienta es similar a top, pero en vez de chequear principalmente el estado del procesador y los procesos, escucha el tráfico de red en una interfaz de red específica, y arma una tabla con el uso actual. Puede ser útil para responder preguntas como ¿por qué mi conexión a Internet anda tan lenta!? 🙂
bandwidthd
Esta herramienta registra el uso de subredes tcp/ip y nos brinda una interfaz web que un gráfico en png. Hay una base de datos que permite buscar, filtrar y analizar reportes de múltiples sensores!
etherape
Esta herramienta, de la que ya hemos comentado en detalle en Etherape: Monitoreando el tráfico de red gráficamente, permite mostrar el tráfico de red gráficamente de una manera muy intuitiva y fácil de entender. Además, los resultados pueden ser refinados con filtros utilizando la sintaxis de pcap.
ethtool
Esta herramienta es utilizada para mostrar y modificar algunos parámetros de los controladores de interfaces de red. Puede también ser usada para diagnosticar dispositivos Ethernet y obtener mas estadísticas de los mismos.
nethogs
Nethogs obtiene el tráfico de red por protocolo y por subnet! Así con esa información puede agrupar el tráfico por proceso, de modo que si hay alguna anomalía en la red, nethogs puede detectarla y obtener el proceso que la causa.
iptraf
Esta excelente herramienta de interfaz ncurses permite obtener una gran variedad de métricas tales como la cantidad de conexiones tcp, los paquetes enviados y recibidos por cada una, la velocidad de tráfico saliente o entrante por conexión y en total, y demás indicadores de actividad.
ngrep
Esta interesante utilidad es un clon del clásico comando grep para filtrar, pero en este caso, los datos de entrada los obtiene directamente desde las interfaces de red o archivos pcap, y permite filtrar utilizando expresiones regulares o hexadecimales para obtener ciertos y determinados paquetes.
mrtg
MRTG, el excelente monitor de tráfico de red gráfico, originalmente desarrollado para monitorear el tráfico de red en un router, pero hoy ampliado para abarcar otros tópicos en el ambiente de las redes. Típicamente colecciona datos cada cinco minutos y genera una página html para visualizar los resultados. Permite enviar, algo muy importante para un sysadmin, alertas por correo electrónico, si fuera necesario.
bmon
GBmon monitorea y ayuda a debuggear problemas de red. Captura estadísticas relacionadas con las redes, y las presenta de una manera amigable. Además podemos interactuar con su interfaz a través de una interfaz curses o por medio de scripting.
traceroute / tracepath
Esta clásica utilidad de línea de comandos nos permite visualizar la ruta que toman los paquetes para llegar a determinado destino, salto por salto, haciendo uso interno de protocolos como ICMP. Tracepath es una aplicación similar a traceroute, con la misma funcionalidad, pero que no requiere ejecutarse con privilegios de root.
iptstate
IPState es una interesante utilidad que nos permite ver el estado almacenado en la tabla de estados de iptables, en tiempo real, con un formato similar al de top/htop. La salida puede ser ordenada por cualquier campo, y en forma reversa. Los usuarios pueden elegir tener la salida instantánea, o verlo en tiempo real. El tiempo de refresco es configurable, las direcciones ip pueden ser resueltas a nombres, la salida puede ser formateada, y se puede filtrar la vista, cambiar colores, etc… una herramienta más que interesante para probar!
darkstat
Es una muy buena herramienta para capturar tráfico en segundo plano, en uno o todas las interfaces de red, utilizando las bibliotecas pcap, y luego acceder a los gráficos estadísticos vía web accediendo a un puerto configurable desde nuestro navegador.
vnstat
Esta es otra herramienta para monitorear tráfico de red, que utiliza estadísticas provistas porel kernel que aseguran un uso muy reducido de los recursos del sistema. La información recolectada es persistente a reinicios del sistema, y se pueden configurar colores y temas en la interfaz.
dig
Esta utilidad (domain information groper) permite realizar consultas DNS y obtener información sobre diferentes tipos de registros, como los A, CNAME, MX, TXT, etc, y se utiliza principalmente para «debuggear» problemas de DNS.
Otra utilidad interesante y con funcionalidades similares es nslookup.
ip
Este comando es parte del paquete iproute2, un conjunto de herramientas que reemplaza al viejo net-tools (ese que incluye a ifconfig, route, netstat, iptunnel, etc).
ip viene a reemplazar a casi todos los comandos de net-tools, y mediante modificadores permite resolver cualquier tipo de configuración en un entorno Linux moderno.
Ya hemos hablado sobre este comando en Iproute2: Usas ifconfig? Es hora de actualizarse!, quedan invitados a leer y comentar!
ss
Ya hemos estado hablando de esta excelente tool en ss: usas netstat? Es hora de actualizarse! 🙂, y, como era de esperarse, no podíamos omitirla en este post!
ss viene a reemplazar al viejo y querido (y obsoleto) netstat, para monitorear el estado de las conexiones, servicios activos, puertos, etc… toda una navaja suiza de la administración de redes en sistemas Linux.
iwconfig
Este comando es similar a ifconfig en nombre, y se encarga de configuraciones de redes inalámbricas. Puedes ver y configurar detalles como el ssid y los algoritmos de cifrado y privacidad de la red.
nmap
Lejos una de las mejores herramientas de pentesting y discovery de redes! Permite escanear puertos en un servidor, o equipo de escritorio, detectar versiones de software y sistemas operativos, evadir firewalls y detectores de intrusos… excelente aplicativo, digno de un artículo para el solo.
wireshark
Wireshark podría decirse que es el sniffer de tráfico de interfaz gráfica más conocido de, diría, cualquier entorno!
Este capturador de tráfico utiliza pcap para realizar su cometido, y nos permite analizar cabeceras y contenido de tramas de red.
tcpdump
Por último, otra gran aplicación, para mi uno de los mejores sniffers, a mi entender, para captura de tráfico de red por línea de comandos. Como casi cualquier sniffer en Linux, utiliza las bibliotecas pcap al igual que wireshark, y nos da un gran abanico de posibilidades y opciones de captura y filtrado de paquetes, conexiones, puertos, y demás.A propósito, los amigos de Comparitech me han compartido un cheat sheet muy interesante con un resumen súper útil de los comandos más comunes de tcpdump! Pueden descargarla aquí.
Conclusiones y colaboraciones – sysadmin tools
Hemos realizado un pequeño recorrido por algunas de las muchas herramientas libres para gestionar redes, extraer información, capturar tráfico, etc, y digo «pequeño» porque existen miles de tools en Internet para gestionar redes, recursos, parámetros, paquetes, etc… incluso hasta yo he programado algunos betas de sniffers específicos utilizando pcap en GNU/Linux (por supuesto, lenguaje C :)), y aquí se resumen algunas de las que utilizo o he utilizado en algún momento, pero por supuesto, se me están escapando un montón.
La idea de este segundo artículo, y de la serie en si, es la de sumar sysadmin tools, comandos y opciones… así que quedan invitado a aportar, en los comentarios del blog, con las herramientas que usas día a día en tópicos de gestión de red, administración de interfaces, etc… así de esta forma podemos crecer todos un poquito cada día!
Hecha la invitación a colaborar, será hasta la próxima!