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.