Escaneo de interfaz de Linux bajo demanda con iftop

¿Alguna vez te has encontrado en una situación en la que necesitas saber quién está usando todo tu ancho de banda y para qué lo están usando? Ciertamente tengo y quiero presentarles una herramienta que puede ayudarlos a responder esta pregunta. Cuando trabajaba como administrador de soporte, regularmente me encontraba tratando de ejecutar trabajos de replicación que creaban cuellos de botella en la interfaz. La interfaz y el hardware asociado eran más que capaces de empujar hasta 10 GB. Sin embargo, solo vi alrededor de 3 GB. Entonces surge la pregunta, especialmente en una interfaz dedicada, que quema toda la banda. ¿Ocupado? ¿O hay algún otro problema involucrado?

Las mejores técnicas de solución de problemas son los pasos rápidos y sin esfuerzo que toma para eliminar uno de los muchos resultados potenciales. Entrar iftop.

Índice

¿Qué hace?

Al igual que top y htop, el iftop El comando se utiliza para el uso de recursos en su sistema. Específicamente, monitorea el ancho de banda de las interfaces Ethernet activas. Cuando se aplica a la situación que describí anteriormente, puede ejecutar el iftop para ver qué está usando realmente el ancho de banda en la interfaz de replicación de datos. Esto puede ser increíblemente efectivo si se tiene en cuenta el tiempo que le llevará llegar a esta conclusión mediante la resolución de problemas de la propia interfaz. No hay problema, solo demasiada actividad en la interfaz.

Echemos un vistazo al proceso de instalación y uso de esta práctica herramienta.

Instalación

Antes de instalar el iftop herramienta, necesita algunos paquetes de requisitos previos. debes instalar libpcap (que se utiliza para capturar datos de interfaz en tiempo real), así como libncurses (una API utilizada para crear interfaces textuales independientes de una terminal). Estoy usando una máquina virtual Fedora 32 para demostrar esta herramienta. Si está utilizando un sistema operativo diferente, su instalación variará ligeramente. Instalar:

    [[email protected]ient ~]$ sudo yum -y install libpcap-devel ncurses ncurses-devel
    [sudo] password for tcarrigan: 
    Fedora 32 openh264 (From Cisco) - x86_64                      4.8 kB/s | 989  B     00:00    
    Fedora 32 openh264 (From Cisco) - x86_64                      3.3 kB/s | 2.5 kB     00:00    
    Fedora Modular 32 - x86_64                                     28 kB/s |  15 kB     00:00    
    Fedora Modular 32 - x86_64 - Updates                           38 kB/s | 7.6 kB     00:00    
    Fedora Modular 32 - x86_64 - Updates                          189 kB/s | 1.0 MB     00:05    
    Fedora 32 - x86_64 - Updates                                   46 kB/s |  10 kB     00:00    
    Fedora 32 - x86_64 - Updates                                  221 kB/s |  12 MB     00:54    
    Fedora 32 - x86_64                                             40 kB/s |  15 kB     00:00    
    Package ncurses-6.1-15.20191109.fc32.x86_64 is already installed.
    Dependencies re.
    ==============================================================================================
     Package                  Architecture   Version                         Repository      Size
    ==============================================================================================
    Installing:
     libpcap-devel            x86_64         14:1.9.1-3.fc32                 fedora         136 k
     ncurses-devel            x86_64         6.1-15.20191109.fc32            fedora         503 k
    Installing dependencies:
     ncurses-c++-libs         x86_64         6.1-15.20191109.fc32            fedora          39 k
    
    Transaction Summary
    ==============================================================================================
    Install  3 Packages
    
    Total download size: 678 k
    Installed size: 1.2 M
    Downloading Packages:
    (1/3): ncurses-c++-libs-6.1-15.20191109.fc32.x86_64.rpm        55 kB/s |  39 kB     00:00    
    (2/3): libpcap-devel-1.9.1-3.fc32.x86_64.rpm                  159 kB/s | 136 kB     00:00    
    (3/3): ncurses-devel-6.1-15.20191109.fc32.x86_64.rpm          174 kB/s | 503 kB     00:02    
    ----------------------------------------------------------------------------------------------
    Total                                                         181 kB/s | 678 kB     00:03     
    Running transaction check
    Transaction check succeeded.
    Running transaction test
    Transaction test succeeded.
    Running transaction
      Preparing        :                                                                      1/1 
      Installing       : ncurses-c++-libs-6.1-15.20191109.fc32.x86_64                         1/3 
      Installing       : ncurses-devel-6.1-15.20191109.fc32.x86_64                            2/3 
      Installing       : libpcap-devel-14:1.9.1-3.fc32.x86_64                                 3/3 
      Running scriptlet: libpcap-devel-14:1.9.1-3.fc32.x86_64                                 3/3 
      Verifying        : libpcap-devel-14:1.9.1-3.fc32.x86_64                                 1/3 
      Verifying        : ncurses-c++-libs-6.1-15.20191109.fc32.x86_64                         2/3 
      Verifying        : ncurses-devel-6.1-15.20191109.fc32.x86_64                            3/3 
    
    Installed:
      libpcap-devel-14:1.9.1-3.fc32.x86_64         ncurses-c++-libs-6.1-15.20191109.fc32.x86_64   
      ncurses-devel-6.1-15.20191109.fc32.x86_64   
    
    Complete!

Una vez que haya instalado los paquetes de requisitos previos, puede instalar el iftop herramienta:

    [[email protected] ~]# dnf install iftop
    Last metadata expiration check: 0:01:45 ago on Thu 08 Oct 2020 06:22:52 PM EDT.
    Package iftop-1.0-0.23.pre4.fc32.x86_64 is already installed.
    Dependencies re.
    Nothing to do.
    Complete!

Uso básico

Una vez que haya instalado todos los paquetes necesarios, ejecute iftop para hacerse una idea del resultado y de la información presentada. Tenga en cuenta que sin ninguna opción, iftop se ejecutará en la interfaz predeterminada (eth0 en la mayoría de los casos).

Para ejecutar el comando predeterminado:

[[email protected] ~]# iftop

De izquierda a derecha, tenga en cuenta lo siguiente:

  • Nombres de host resueltos (origen o destino, indicados por flechas)
  • Tasa de transmisión de datos promedio (intervalos de 2, 10, 40 segundos)

Verá las velocidades de transmisión TOTALES de TX (reenviado) RX (recibido) en la parte inferior de la salida. También hay números para acumular totales y promedios, así como números máximos.

Ser específico

A pesar de lo poderosa que es esta herramienta, puede enviarle demasiada información en un entorno ocupado. Para solucionar este problema, usaremos opciones específicas para filtrar el resultado que se muestra. En el escenario que describí anteriormente, solo me gustaría ver los escaneos alrededor de la interfaz de replicación específica que estaba tratando de usar. Para ver una interfaz en particular, agregaremos el -i opción.

[[email protected] ~] $ sudo iftop -i enp0s3

Aquí podemos ver la misma información presentada que antes. Sin embargo, esto solo se refiere a la interfaz. enp0s3.

Si desea mostrar la información de IP, utilice el -n indicador para deshabilitar la resolución de nombres de host.

[[email protected] ~] $ sudo iftop -n

Puede ver en la captura de pantalla anterior que las direcciones IP ahora están visibles. Esta puede ser una forma mucho más fácil de solucionar problemas en entornos grandes donde los nombres de host pueden ser confusos.

Hay varias otras opciones que puede usar para capturar realmente la información que se le presenta. La siguiente lista se toma directamente de la página del manual, que se puede encontrar ejecutando man iftop.

Resumen

Si has llegado hasta aquí, te has fijado en la utilidad que ofrece iftop y opciones de uso dirigidas. Cuando necesite averiguar qué ancho de banda se está utilizando y hacia dónde se dirige o desde dónde, iftop puede ser un activo poderoso. Puede filtrar su salida para que sea tan específica como lo necesite utilizando la amplia gama de opciones disponibles, por lo que es una obviedad para mantener en el cinturón de herramientas de su administrador de sistemas.


Si quieres conocer otros artículos similares a Escaneo de interfaz de Linux bajo demanda con iftop puedes visitar la categoría Linux.

Artículos de interés

Subir

Si continuas utilizando este sitio aceptas el uso de cookies. Más información