GNU/Linux >> Linux Esercitazione >  >> Linux

Analisi dell'interfaccia Linux su richiesta con iftop

Ti sei mai trovato in una situazione in cui hai bisogno di sapere chi sta consumando tutta la tua larghezza di banda e su cosa la sta usando? Certamente ho e voglio presentarti uno strumento che può aiutarti a rispondere a questa domanda. Quando ho lavorato come amministratore del supporto, mi sono ritrovato regolarmente a provare a eseguire processi di replica che creavano colli di bottiglia nell'interfaccia. L'interfaccia e l'hardware associato erano più che in grado di spingere verso l'alto di 10 Gb. Tuttavia, ho visto solo circa 3 Gb di quello. Quindi sorge la domanda, specialmente su un'interfaccia dedicata, chi sta consumando tutta la larghezza di banda? O c'è un altro problema in gioco?

Le migliori tecniche di risoluzione dei problemi sono i passaggi rapidi e senza sforzo che esegui per eliminare uno dei tanti potenziali risultati. Inserisci iftop .

Cosa fa?

Proprio come top e htop, il iftop comando viene utilizzato per l'utilizzo delle risorse sul sistema. In particolare, monitora la larghezza di banda delle interfacce ethernet attive. Quando applicato alla situazione che ho descritto sopra, puoi eseguire iftop comando per vedere cosa sta effettivamente utilizzando la larghezza di banda nell'interfaccia di replica dei dati. Questo può essere incredibilmente efficiente se si considera quanto tempo potrebbe essere necessario per giungere a tale conclusione risolvendo i problemi dell'interfaccia stessa. Nessun problema, solo un eccesso di attività sull'interfaccia.

Diamo un'occhiata al processo di installazione e utilizzo di questo pratico strumento.

Installazione

Prima di installare iftop strumento, sono necessari alcuni pacchetti prerequisiti. Devi installare libpcap (usato per acquisire i dati dell'interfaccia in tempo reale), così come libncurses (un'API utilizzata per creare interfacce testuali indipendenti da un terminale). Sto usando una VM Fedora 32 per dimostrare questo strumento. Se stai utilizzando un sistema operativo diverso, l'installazione varierà leggermente. Per installare:

    [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 volta installati i pacchetti prerequisiti, puoi installare l'effettivo iftop strumento:

    [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!

[ Ai lettori è piaciuto anche: 11 comandi Linux di cui non posso fare a meno]

Utilizzo di base

Una volta installati tutti i pacchetti richiesti, esegui iftop per avere un'idea dell'output e delle informazioni presentate. Tieni presente che senza alcuna opzione, iftop verrà eseguito sull'interfaccia predefinita (eth0 nella maggior parte dei casi).

Per eseguire il comando predefinito:

[root@client ~]# iftop

Da sinistra a destra, nota quanto segue:

  • Nomi host risolti (origine o destinazione, indicati dalle frecce)
  • Velocità di trasmissione dati media (intervalli di 2, 10, 40 secondi)

Vedrai le velocità di trasmissione TX (trasferita) RX (ricevuta) TOTALE nella parte inferiore dell'output. Ci sono anche cifre per totali cumulativi e medie, nonché numeri di picco.

Diventare specifico

Per quanto potente sia questo strumento, può fornirti troppe informazioni in un ambiente frenetico. Per aggirare questo problema, utilizzeremo opzioni specifiche per filtrare l'output presentato. Nello scenario che ho descritto sopra, vorrei solo vedere l'analisi attorno all'interfaccia di replica specifica che stavo cercando di utilizzare. Per guardare un'interfaccia particolare, aggiungeremo il -i opzione.

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

Qui possiamo vedere le stesse informazioni presentate come prima. Tuttavia, questo riguarda solo l'interfaccia enp0s3 .

Se desideri visualizzare le informazioni IP, utilizza il -n flag per disabilitare la risoluzione del nome host.

[tcarrigan@client ~] $ sudo iftop -n

Puoi vedere dallo screenshot sopra che gli indirizzi IP sono ora visibili. Questo può essere un modo molto più semplice per risolvere i problemi in ambienti di grandi dimensioni in cui i nomi host possono creare confusione.

Ci sono varie altre opzioni che puoi utilizzare per comporre davvero le informazioni che ti vengono presentate. L'elenco seguente viene estratto direttamente dalla pagina man, che può essere trovata eseguendo man iftop .

[ Corso online gratuito:panoramica tecnica di Red Hat Enterprise Linux. ] 

Riepilogo

Se sei arrivato così lontano, hai guardato l'utilità offerta da iftop e le opzioni per un utilizzo mirato. Quando hai bisogno di capire quale larghezza di banda viene utilizzata e dove va o da dove, iftop può essere una risorsa potente. Puoi filtrare il suo output in modo che sia specifico in base alle tue esigenze utilizzando la vasta gamma di opzioni disponibili, rendendolo un gioco da ragazzi da tenere nella cintura degli strumenti di amministratore di sistema.


Linux
  1. Gestione pacchetti Linux con apt

  2. Cosa c'è di nuovo con rdiff-backup?

  3. Perché mi attengo a xterm

  4. Comando JQ in Linux con esempi

  5. Modalità AP e client RTL8188CUS contemporaneamente a hostapd in Linux?

Personalizza un Intel NUC con Linux

Comando wc Linux con esempi

10 esempi di comandi iftop in Linux

Comando IP Linux con esempi

15 Comando Linux ps con esempi

comando ip in Linux con esempi