Comment surveiller l'utilisation du réseau pour les processus sous Linux
Vous souhaitez afficher l’utilisation du réseau pour tous les processus actuellement actifs sur votre PC Linux ? C'est facile avec ces outils open source.
L'accès à Internet est indispensable, mais vous vous demandez peut-être quels processus Linux utilisent le plus votre connexion sur votre ordinateur. Heureusement, avec certains utilitaires Linux courants, il est facile de surveiller quels processus utilisent votre bande passante. En voici quelques uns:
1. nethogs
nethogs est un programme qui fait pour les connexions Internet ce que htop ou top fait pour l'utilisation du processeur et de la mémoire. Il vous montre un instantané des processus qui accèdent au réseau.
Comme top, htop ou atop, nethogs est un programme plein écran qui se met à jour après quelques secondes pour vous montrer les connexions réseau actuelles par processus.
L’installation de nethogs est simple. Il vous suffit de passer par votre gestionnaire de paquets.
Par exemple, sur Debian et Ubuntu :
sudo apt install nethogs
Et sur Arch Linux :
sudo pacman -S nethogs
Sur la famille Red Hat :
sudo dnf install nethogs
Pour exécuter nethogs, vous devez être root :
sudo nethogs
Il est possible de le configurer pour que vous puissiez exécuter nethogs en tant qu'utilisateur régulier en utilisant cette commande :
sudo setcap "cap_net_admin,cap_net_raw+pe" /path/to/nethogs
Vous devez remplacer "/path/to/nethogs" par le chemin absolu de nethogs. Vous pouvez trouver cela avec la commande which :
which nethogs
2. lsof
Bien que lsof soit un utilitaire permettant de répertorier les fichiers ouverts, il peut également répertorier les connexions réseau ouvertes. L'option -i répertorie les connexions Internet attachées aux processus en cours d'exécution sur le système. Sous Linux, après tout, tout est un fichier.
Pour voir les connexions Internet actuelles, utilisez cette commande :
lsof -i
lsof vous montrera le nom de toutes les commandes avec des connexions Internet ouvertes, le PID, le descripteur de fichier, le type de connexion Internet, la taille, le protocole et le nom de fichier formel de la connexion.
L'utilisation des options -i4 et -i6 vous permet d'afficher les connexions utilisant IPv4 ou IPv6.
Il y a de fortes chances que vous ayez déjà installé lsof. Il est également facile à installer sur les principales distributions Linux si ce n'est pas le cas.
Sur Debian et Ubuntu, tapez :
sudo apt install lsof
Et sur Arch :
sudo pacman -S lsof
Sur la famille de distributions Red Hat :
sudo dnf install lsof
3. netstat
netstat est un programme puissant en soi, vous permettant de voir les connexions réseau sur votre système. Il ne vous montre pas à quels processus les connexions réseau sont attachées. Comme avec lsof, vous pouvez voir cela avec une option de ligne de commande.
netstat fait partie du package net-tools. Vous pouvez l'installer sur la plupart des distributions Linux à l'aide du gestionnaire de packages par défaut.
Par exemple, sur Debian ou Ubuntu :
sudo apt install net-tools
Sous Arch Linux :
sudo pacman -S net-tools
Pour installer netstat sur Fedora, CentOS et RHEL, exécutez :
sudo dnf install net-tools
Vous pouvez exécuter netstat sur la ligne de commande. Par défaut, il vous montrera des informations telles que le protocole, l'adresse et l'état de la connexion, mais l'option -p ajoute une colonne qui affiche l'ID du processus et le nom de la commande.
netstat -p
Lorsque vous l'exécutez, netstat répertorie simplement toutes les connexions réseau, puis quitte. Avec l'option -c, vous pouvez voir une liste de connexions continuellement mise à jour :
netstat -pc
Cela serait similaire à l'utilisation d'un programme orienté écran comme nethogs, mais l'avantage de procéder de cette façon est que vous pouvez diriger la sortie vers un autre programme comme grep ou un pager pour l'examiner :
netstat -p | grep 'systemd'
Pour voir tous les processus avec des connexions réseau sur votre système, vous devrez peut-être exécuter netstat en tant que root :
sudo netstat
Vous pouvez désormais voir quelles applications Linux engloutissent votre bande passante
Linux, comme de nombreux systèmes d'exploitation modernes, est intimement connecté à Internet. Il peut parfois être difficile de déterminer quels processus utilisent votre bande passante. Avec des outils tels que nethogs, lsof et netstat, vous pouvez retrouver les processus qui ont des connexions ouvertes.
Les processus tournent parfois mal, même avec les connexions. Sous Linux, vous pouvez facilement mettre fin à tout processus malveillant.