GNU/Linux >> Tutoriels Linux >  >> Linux

Analyse d'interface Linux à la demande avec iftop

Vous êtes-vous déjà retrouvé dans une situation où vous avez besoin de savoir qui utilise toute votre bande passante et sur quoi ils l'utilisent ? J'ai certainement et je veux vous présenter un outil qui peut vous aider à répondre à cette question. Lorsque je travaillais en tant qu'administrateur de support, je me retrouvais régulièrement à essayer d'exécuter des tâches de réplication qui bloquaient l'interface. L'interface et le matériel associé étaient plus que capables de pousser jusqu'à 10 Go. Cependant, je n'en ai vu qu'environ 3 Go. Alors la question se pose, surtout sur une interface dédiée, qui consomme toute la bande passante ? Ou y a-t-il un autre problème en jeu ?

Les meilleures techniques de dépannage sont les étapes rapides et sans effort que vous prenez pour éliminer l'un des nombreux résultats potentiels. Entrez iftop .

Que fait-il ?

Tout comme top et htop, le iftop La commande est utilisée pour l'utilisation des ressources sur votre système. Plus précisément, il surveille la bande passante des interfaces Ethernet actives. Lorsqu'il est appliqué à la situation que j'ai décrite ci-dessus, vous pouvez exécuter le iftop commande pour voir ce qui utilise réellement la bande passante sur l'interface de réplication de données. Cela peut être incroyablement efficace si l'on considère le temps qu'il vous faudra pour arriver à cette conclusion en dépannant l'interface elle-même. Il n'y a pas de problème, juste un excès d'activité sur l'interface.

Regardons le processus d'installation et d'utilisation de cet outil pratique.

Installation

Avant d'installer iftop outil, vous avez besoin de quelques packages prérequis. Vous devez installer libpcap (qui est utilisé pour capturer les données d'interface en temps réel), ainsi que libncurses (une API utilisée pour créer des interfaces textuelles indépendantes d'un terminal). J'utilise une machine virtuelle Fedora 32 pour démontrer cet outil. Si vous utilisez un système d'exploitation différent, votre installation variera légèrement. Pour installer :

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

Une fois que vous avez installé les packages prérequis, vous pouvez installer le véritable iftop outil :

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

[ Les lecteurs ont également aimé : 11 commandes Linux dont je ne peux pas me passer ]

Utilisation de base

Une fois que vous avez installé tous les packages requis, exécutez iftop pour avoir une idée de la sortie et des informations présentées. Gardez à l'esprit que sans aucune option, iftop s'exécutera sur l'interface par défaut (eth0 dans la plupart des cas).

Pour exécuter la commande par défaut :

[root@client ~]# iftop

De gauche à droite, notez ce qui suit :

  • Noms d'hôte résolus (source ou destination, indiqués par les flèches)
  • Taux de transmission de données moyens (intervalles de 2, 10 et 40 secondes)

Vous verrez TX (transféré) RX (reçu) taux de transmission TOTAL au bas de la sortie. Il y a aussi des chiffres pour les totaux cumulés et les moyennes, ainsi que les nombres de pointe.

Devenir précis

Aussi puissant que soit cet outil, il peut vous envoyer trop d'informations dans un environnement occupé. Pour contourner ce problème, nous utiliserons des options spécifiques pour filtrer la sortie présentée. Dans le scénario que j'ai décrit ci-dessus, je ne voudrais voir que les analyses autour de l'interface de réplication spécifique que j'essayais d'utiliser. Pour regarder une interface en particulier, nous allons ajouter le -i option.

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

Ici, nous pouvons voir les mêmes informations présentées qu'auparavant. Cependant, cela ne regarde que l'interface enp0s3 .

Si vous souhaitez afficher les informations IP, utilisez le -n drapeau pour désactiver la résolution du nom d'hôte.

[tcarrigan@client ~] $ sudo iftop -n

Vous pouvez voir sur la capture d'écran ci-dessus que les adresses IP sont maintenant visibles. Cela peut être un moyen beaucoup plus simple de résoudre les problèmes dans les grands environnements où les noms d'hôte peuvent prêter à confusion.

Il existe diverses autres options que vous pouvez utiliser pour vraiment composer les informations qui vous sont présentées. La liste suivante est tirée directement de la page de manuel, qui peut être trouvée en exécutant man iftop .

[ Cours en ligne gratuit :Présentation technique de Red Hat Enterprise Linux. ] 

Résumé

Si vous êtes arrivé jusqu'ici, vous avez regardé l'utilitaire offert par iftop et les options d'utilisation ciblée. Lorsque vous avez besoin de déterminer quelle bande passante est utilisée et où elle va ou vient, iftop peut être un atout puissant. Vous pouvez filtrer sa sortie pour qu'elle soit aussi spécifique que vous en avez besoin en utilisant la vaste gamme d'options disponibles, ce qui en fait une évidence à conserver dans votre ceinture d'outils d'administrateur système.


Linux
  1. Gestion des packages Linux avec apt

  2. Pourquoi je m'en tiens à xterm

  3. Commande JQ sous Linux avec exemples

  4. Guide IFTOP :Afficher l'utilisation de la bande passante de l'interface réseau sous Linux

  5. RTL8188CUS AP et mode client simultanément avec hostapd sous Linux ?

Personnalisez un Intel NUC avec Linux

Commande Linux wc avec exemples

10 exemples de commandes iftop sous Linux

Commande Linux ip avec exemples

15 Commande Linux ps avec exemples

commande ip sous Linux avec des exemples