GNU/Linux >> Tutoriales Linux >  >> Linux

Análisis de la 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 en qué lo está usando? Ciertamente lo he hecho y quiero presentarte una herramienta que puede ayudarte a responder esa pregunta. Cuando trabajaba como administrador de soporte, me encontraba rutinariamente tratando de ejecutar trabajos de replicación que provocaban cuellos de botella en la interfaz. La interfaz y el hardware asociado eran más que capaces de impulsar más de 10 Gb. Sin embargo, solo vi alrededor de 3 Gb de eso. Entonces surge la pregunta, especialmente en una interfaz dedicada, ¿quién está consumiendo todo el ancho de banda? ¿O hay otro problema en juego?

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. Introduce iftop .

¿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 iftop comando para ver qué está usando realmente el ancho de banda en la interfaz de replicación de datos. Esto puede ser increíblemente eficiente si se tiene en cuenta cuánto tiempo puede llevarle llegar a esa conclusión mediante la resolución de problemas de la propia interfaz. No hay problema, solo un exceso de actividad en la interfaz.

Veamos el 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. Necesitas instalar libpcap (que se utiliza para capturar los datos de la interfaz en tiempo real), así como libncurses (una API utilizada para construir interfaces basadas en texto 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. Para instalar:

    [tcarrigan@client ~]$ 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 resolved.
    ==============================================================================================
     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 real. herramienta:

    [root@client ~]# 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 resolved.
    Nothing to do.
    Complete!

[ A los lectores también les gustó:11 comandos de Linux sin los que no puedo vivir ]

Uso básico

Una vez que tenga todos los paquetes necesarios instalados, ejecute iftop para tener una idea de la salida y 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:

[root@client ~]# iftop

De izquierda a derecha, tenga en cuenta lo siguiente:

  • Nombres de host resueltos (origen o destino, señalados por las flechas)
  • Velocidades promedio de transmisión de datos (intervalos de 2, 10 y 40 segundos)

Verá las tasas de transmisión TOTAL de TX (transferido) RX (recibido) en la parte inferior de la salida. También hay cifras de totales y promedios acumulados, así como números máximos.

Ser específico

A pesar de lo poderosa que es esta herramienta, puede brindarle demasiada información en un entorno ocupado. Para sortear este problema, utilizaremos opciones específicas para filtrar el resultado presentado. En el escenario que describí anteriormente, solo me gustaría ver los análisis en torno a la interfaz de replicación específica que estaba tratando de usar. Para ver una interfaz en particular, vamos a agregar -i opción.

[tcarrigan@client ~] $ sudo iftop -i enp0s3

Aquí podemos ver la misma información presentada que antes. Sin embargo, esto solo está mirando la interfaz enp0s3 .

Si desea ver la información de IP, use -n marca para deshabilitar la resolución del nombre de host.

[tcarrigan@client ~] $ 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 volverse confusos.

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

[ Curso gratuito en línea:Descripción general técnica de Red Hat Enterprise Linux. ] 

Resumen

Si llegaste hasta aquí, miraste la utilidad que ofrece iftop y las opciones para el uso dirigido. 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 gran variedad de opciones disponibles, lo que hace que sea una obviedad para mantener en su cinturón de herramientas de administrador de sistemas.


Linux
  1. Gestión de paquetes de Linux con apt

  2. ¿Qué hay de nuevo con rdiff-copia de seguridad?

  3. Por qué me quedo con xterm

  4. Comando JQ en Linux con ejemplos

  5. RTL8188CUS AP y modo cliente simultáneamente con hostapd en Linux?

Personalice un Intel NUC con Linux

Comando wc Linux con ejemplos

10 ejemplos de comandos iftop en Linux

Comando ip de Linux con ejemplos

15 comandos ps de Linux con ejemplos

comando ip en Linux con ejemplos