Cómo usar bmon para monitorear el ancho de banda de la red en Linux

Un indicador de terminal estilizado en un sistema Linux.
Fatmawati Achmad Zaenuri / Shutterstock

Con la bmonaplicación Linux, puede ver el uso de ancho de banda en sus conexiones de red. Sin embargo, comprender los detalles más finos requiere un poco de trabajo de detective, ¡así que lo hemos hecho por usted!

Cómo funciona bmon

Los gráficos dinámicos y las estadísticas en tiempo real que muestran la actividad en sus diversas interfaces de red pueden brindarle un gran aviso sobre el rendimiento y el consumo de ancho de banda de su red. Esto es exactamente lo que le bmon ofrece , directamente en una ventana de terminal.

Puede mirar los gráficos de vez en cuando, tal como lo haría con el velocímetro de su automóvil. Del mismo modo, si es necesario investigar algo en su vehículo, un mecánico puede conectarlo a un sistema de diagnóstico y verificar las lecturas. bmontiene lecturas detalladas similares.

Sin embargo, hay que decirlo: bmon las estadísticas del comando pueden ser desconcertantes al principio. Por ejemplo, hay tres llamados «Ip6 Reasm / Frag». ¿Que pasa con eso?

Sin embargo, una vez que haya descifrado el código, las lecturas del comando son invaluables si desea una comprensión más detallada del tráfico de su red.

Hemos trabajado por usted e incluso hemos comprobado el código fuente para llegar al final de algunos de estos. Afortunadamente, todo lo demás bmones razonablemente simple.

Instalación de bmon

Para instalar bmonen Ubuntu, use este comando:

sudo apt-get install bmon

El comando "sudo apt-get install bmon" en una ventana de terminal.

Para instalar en Fedora, escriba lo siguiente:

sudo dnf instalar bmon

El comando "sudo dns install bmon" en una ventana de terminal.

Para Manjaro, el comando es el siguiente:

sudo pacman -Sy bmon

El comando "sudo pacman -Sy bmon" en una ventana de terminal.

La pantalla bmon

Escribe bmony presiona Enter para iniciar el programa. La bmonpantalla se divide en varios paneles. Los tres primeros están etiquetados como «Interfaces», «RX» y «TX». El panel central muestra las estadísticas y gráficos detallados.

El panel «Interfaces» le muestra las interfaces de red con las que está equipada su computadora. También muestra la disciplina de cola (qdisc) que usa cada interfaz de red (más sobre esto más adelante).

El panel «RX» muestra los bits recibidos por segundo y los paquetes por segundo para cada interfaz y su cola. El panel «TX» muestra los bits transmitidos por segundo y los paquetes por segundo para cada interfaz y su cola.

En nuestra computadora, solo tenemos dos interfaces instaladas: la interfaz loopback (también llamada adaptador loopback) y el adaptador ethernet cableado. La interfaz de bucle invertido se llama «lo» y la interfaz ethernet se llama «enp0s3».

El adaptador Ethernet de su máquina puede tener un nombre diferente. Si está utilizando una computadora portátil, también verá un adaptador inalámbrico, y su nombre probablemente comenzará con «wl».

La interfaz bmon en una ventana de terminal.

bmonmuestra información sobre la interfaz de red que está seleccionada actualmente. La interfaz seleccionada es la que tiene un signo mayor que resaltado ( >) junto a ella. Puede presionar las flechas hacia arriba y hacia abajo para mover el signo mayor que y seleccionar la interfaz que desea monitorear. Elegimos el adaptador ethernet.

El adaptador de red ethernet seleccionado en la interfaz bmon en una ventana de terminal.

Ahora que estamos en una interfaz de red activa, vemos algo de actividad en los gráficos y lecturas. Si no ve ningún gráfico, estire la ventana de la terminal hacia abajo.

Presione las teclas de flecha izquierda y derecha para cambiar la estadística que se está graficando. Para algunos gráficos, tendrá que presionar H antes de que se llenen; aquellos que lo requieran se lo dirán.

Para ver las estadísticas de la interfaz de red, estire la ventana del terminal hasta que sea lo suficientemente alta para mostrarlas y luego presione D para mostrarlas. Si presiona I (para información), verá una pequeña cantidad de información adicional.

Si maximiza la ventana de la terminal, muestra varios gráficos. Presione Menor que (<) y Mayor que (>) para agregar o eliminar pares de gráficos. Si presiona G, activa y desactiva la visualización de gráficos, por completo.

Relacionado:  Cómo mostrar páginas man en color en Linux

Cuando presiona el signo de interrogación (?), Verá la pantalla de ayuda de «Referencia rápida» con las pulsaciones de teclas comunes.

La pantalla "Referencia rápida" en bmon.

Presione el signo de interrogación (?) Nuevamente para cerrar la pantalla de «Referencia rápida».

Las estadísticas detalladas

Si la ventana de su terminal es lo suficientemente alta y ancha (estírela, si no lo es), puede presionar «D» para activar y desactivar la vista detallada.

La vista de estadísticas detalladas de bmon en una ventana de terminal.

El número de columnas que ve depende del ancho de la ventana de la terminal. En una ventana de terminal estándar de 80 columnas, verá dos. Cuanto más ancha sea la ventana, más columnas verá. Sin embargo, no obtiene más estadísticas con una ventana más amplia; todavía verá el mismo conjunto de figuras. Pero las columnas serán más cortas.

La entrada superior en cada columna puede llevarlo a pensar que la de la izquierda muestra información en bytes, mientras que la de la derecha muestra información en paquetes. Sin embargo, ese no es el caso.

Cada columna contiene un conjunto de estadísticas. El nombre del valor y los valores recibidos ( RX) y transmitidos ( TX) se muestran para cada estadística. Si algún valor aparece como un guión ( -), significa que la estadística no se registra para esa dirección.

Algunas de las estadísticas son internas (recibidas) o externas (transmitidas) únicamente. Por ejemplo, un guión ( -) en la columna transmitida indica que la estadística no es válida para los paquetes salientes y solo se aplicará a los paquetes entrantes. La línea superior muestra el tráfico recibido y transmitido en bytes (a la izquierda) y paquetes (a la derecha).

Todas las demás estadísticas se enumeran en orden alfabético, saltando de columna a columna. Varios de ellos comparten el mismo nombre. Explicaremos qué significan todos a continuación. También hemos deletreado nombres abreviados. Si no se menciona IPv6, esa estadística se refiere a IPv4.

Las estadísticas de la columna de la izquierda son las siguientes:

  • Bytes: tráfico en bytes.
  • Error de aborto: un recuento de errores de aborto. En algún lugar de la ruta de conexión entre el origen y el destino, una pieza de software provocó la interrupción de la conexión.
  • Colisiones: recuento de errores de colisión. Dos o más dispositivos han intentado enviar un paquete simultáneamente. Esto no debería ser un problema en una red full-duplex .
  • Errores CRC: un recuento de  errores de verificación de redundancia cíclica .
  • Errores: el recuento total de errores.
  • Error de trama: recuento de errores de trama. Una trama es un contenedor de red para un paquete . Un error significa que se detectaron marcos con formato incorrecto.
  • ICMPv6: el número de paquetes de tráfico del Protocolo de mensajes de control de Internet v6.
  • Errores ICMPv6: un recuento de errores ICMP v6.
  • Ip6 Broadcast: Un recuento de IPv6 transmisiones , que se envían a todos los dispositivos de la red.
  • Paquetes Ip6 CE: CE significa » ventaja para el cliente «. Esto generalmente se aplica a los enrutadores. Se conectan con el borde del proveedor (PE) del servicio de conectividad al que se suscribe el cliente.
  • Entregas Ip6: el recuento de paquetes IPv6 entrantes.
  • Paquetes Ip6 ECT (1): una  notificación explícita de congestión (ECN) permite que cualquier extremo de una conexión de red advierta al otro sobre una congestión inminente. Los paquetes están marcados con una bandera que sirve como advertencia. El extremo receptor puede reducir las velocidades de transmisión para tratar de evitar la congestión y la posible pérdida de paquetes. Los paquetes de transporte con capacidad ECN (ECT) están marcados con una bandera para indicar que se entregan a través de un transporte con capacidad ECN. Esto permite que los enrutadores intermedios reaccionen en consecuencia. Los paquetes ECN de tipo 1 le dicen al extremo receptor que habilite ECN y lo agregue a las transmisiones salientes.
  • Errores de encabezado IP6:  el recuento de paquetes con errores en el encabezado IPv6.
  • Paquetes de multidifusión IP6: el recuento de paquetes de multidifusión IPv6  (una forma de difusión).
  • Paquetes Ip6 no ECT: el recuento de paquetes IPv6 no marcados como ECT (1).
  • Reensamblado de Ip6 / Fragmento correcto: el recuento de paquetes IPv6 que se fragmentaron debido al tamaño y se reensamblaron correctamente al recibirlos.
  • Tiempos de espera de reensamblado de IP6: el recuento de paquetes IPv6 que se fragmentaron debido al tamaño, pero que no se pudieron volver a ensamblar al recibirlos debido a los tiempos de espera.
  • Paquetes truncados IP6: el recuento de paquetes truncados. Cuando se transmite un paquete IPv6, se puede marcar como candidato para el truncamiento. Si algún enrutador intermedio no puede manejar el paquete porque excede la unidad máxima de transmisión (MTU), el enrutador trunca el paquete, lo marca como tal y lo reenvía al destino. Cuando se recibe, el otro extremo puede enviar un paquete ICMP a la fuente, indicándole que actualice su estimación de MTU para acortar sus paquetes.
  • Descartes de IP6: el recuento de paquetes de IPv6 descartados. Si algún dispositivo entre el origen y el destino no se configuró correctamente y su configuración de IPv6 no funciona, no manejará el tráfico de IPv6; será descartado.
  • Paquetes Ip6: el recuento total de todos los tipos de paquetes IPv6.
  • Error perdido: el recuento de paquetes que faltan en una transmisión. Los paquetes están numerados para poder recrear el mensaje original. Si falta alguno, su ausencia es conspicua.
  • Sin controlador : el recuento de paquetes para los que no se encontró ningún controlador de protocolo.
  • Error de ventana: el recuento de errores de ventana. La ventana de un paquete es el número de octetos en el encabezado. Si contiene un número anormal, el encabezado no se puede interpretar.
Relacionado:  Cómo usar el comando stat en Linux

Las estadísticas de la columna de la derecha son las siguientes:

  • Paquetes: tráfico en paquetes.
  • Errores del operador : un recuento de errores del operador. Estos ocurren si surge un problema con la modulación de una señal. Esto podría indicar una discrepancia dúplex entre el equipo de red o daño físico a un cable, toma o conector.
  • Comprimido: el número de paquetes comprimidos.
  • Descartados: la cantidad de paquetes descartados que, como resultado, no llegaron a su destino (posiblemente debido a la congestión).
  • Errores FIFO: el recuento de errores de búfer primero en entrar , primero en salir (FIFO). El búfer de transmisión de la interfaz de red está sobrecargado porque no se vacía lo suficientemente rápido.
  • Errores de latido: el  hardware o el software pueden utilizar una señal regular para mostrar que funcionan correctamente o para permitir la sincronización. El número aquí es cuántos «latidos» se han perdido.
  • Errores de suma de comprobación de ICMPv6: el recuento de errores de suma de comprobación de mensajes del Protocolo de mensajes de control de Internet v6.
  • Errores de dirección IP6: el recuento de errores debido a direcciones IPv6 incorrectas
  • Paquetes de difusión IP6: el recuento de paquetes de difusión IPv6.
  • Errores de suma de comprobación IP6: el recuento de errores de suma de comprobación IPv6. Los paquetes ICMP y User Datagram Protocol (UDP) en IPv6 usan sumas de verificación, pero los paquetes IP IPv6 normales no.
  • Paquetes Ip6 ECT (0): se tratan de la misma manera que los paquetes ECT (1).
  • Ip6 reenviado: el recuento de reenvío de unidifusión de paquetes IPv6  entregados. Unicast salta los paquetes desde el origen al destino a través de una cadena de enrutadores y reenviadores intermediarios.
  • Multidifusión IP6: la cantidad de reenvío de multidifusión de paquetes IPv6  entregados. Multicast envía los paquetes a un grupo de destinos simultáneamente (que es como funciona Wi-Fi).
  • Ip6 Sin ruta: el recuento de errores sin ruta. Esto significa que el destino es inalcanzable porque no se puede calcular una ruta al otro extremo.
  • Reensamblaje de Ip6 / Fallos de fragmentos: el recuento de paquetes IPv6 que se fragmentaron debido al tamaño y no se pudieron volver a ensamblar al recibirlos.
  • Solicitudes de reensamblado / fragmento de Ip6: el recuento de paquetes IPv6 que se fragmentaron debido al tamaño y que se tuvieron que reensamblar al recibirlos.
  • Errores demasiado grandes de IP6: la cantidad de mensajes ICMP “demasiado grandes” recibidos, lo que indica que se enviaron paquetes IPv6 que eran más grandes que la unidad máxima de transmisión.
  • Errores de protocolo desconocido Ip6: el recuento de paquetes recibidos utilizando un protocolo desconocido.
  • Octetos Ip6: El volumen de octetos recibidos y transmitidos. IPv6 tiene un encabezado de 40 octetos (320 bits, 8 bits por octeto) y un tamaño de paquete mínimo de 1.280 octetos (10.240 bits).
  • Error de longitud: la cantidad de paquetes que llegan con un valor de longitud en el encabezado que es más corto que la longitud mínima posible del paquete.
  • Multicast: recuento de difusiones multicast.
  • Sobre errores: un recuento de sobre errores. O el búfer de recepción se ha desbordado o los paquetes han llegado con un valor de trama superior al admitido, por lo que no se pueden aceptar.
Relacionado:  Cómo usar el comando ss en Linux

La información adicional

Si presiona I (como en «Información»), alterna los paneles de información adicional. Si no aparece información adicional, la ventana no es lo suficientemente grande. Puede presionar D para desactivar las estadísticas detalladas, G para desactivar los gráficos o puede estirar la ventana.

Los paneles de información adicional de bmon en una ventana de terminal.

La información adicional es la siguiente:

  • MTU: la unidad de transmisión máxima.
  • Operstate: el estado operativo de la interfaz de red.
  • Dirección: El control de acceso al medio (MAC) de la interfaz de red.
  • Modo: Esto generalmente se establece en default, pero se podía ver  tunnelbeetro. Los tres primeros se relacionan con la seguridad IP (IPSec) . La default configuración suele ser el transportmodo , en el que se cifra la carga útil. Las redes privadas virtuales (VPN) de cliente a sitio suelen utilizar esto. Las VPN de sitio a sitio suelen utilizar el  tunnelmodo , en el que se cifra todo el paquete. En un beetmodo de túnel de extremo a extremo vinculado ( ), se crea un túnel entre dos dispositivos con direcciones IP fijas, ocultas y otras direcciones IP visibles. El romodo es un método de optimización de enrutamiento para IPv6 móvil.
  • Familia: la familia de protocolos de red que está en uso.
  • Qdisc: disciplina de colas. Esto se puede configurar en red( Detección temprana aleatoria ), codel( Retraso controlado ) o fq_codel( Cola justa con retraso controlado ).
  • Banderas: estos indicadores muestran las capacidades de una conexión de red. Nuestra conexión puede usar  broadcast y   multicast transmisiones, y la interfaz está Up(operativa y conectada).
  • IfIndex: El índice de interfaz es un número de identificación único asociado con una interfaz de red.
  • Difusión: la dirección MAC de difusión. El envío a esta dirección transmite los paquetes recibidos a todos los dispositivos.
  • TXQlen: el tamaño de la cola de transmisión (capacidad).
  • Alias: un alias de IP proporciona a una conexión de red física varias direcciones IP . Luego puede dar acceso a diferentes subredes a  través de una tarjeta de interfaz de red. No hay alias en uso en nuestra computadora de prueba.

bmones una criatura un tanto divertida, ni pez ni ave, de alguna manera. Los gráficos tienen un encanto primitivo y le dan una buena indicación de lo que está sucediendo.

Sin embargo, dadas las limitaciones de  ser renderizados en ASCII , realmente no se puede esperar que sean súper precisos. Sin embargo, una mirada ocasional puede decirle si la conexión está al máximo, misteriosamente desprovista de tráfico o en algún punto intermedio.

Las estadísticas detalladas, por otro lado, son solo eso: detalladas y granulares. Junto con el enfoque algo casual en su etiquetado, los hace aún más difíciles de descifrar.

Con suerte, las descripciones anteriores lo harán bmonun poco más accesible. Realmente es una herramienta útil y liviana con la que puede monitorear el estado del tráfico de la red y el consumo de ancho de banda.