Comment surveiller l’utilisation du réseau pour les processus sous Linux
L’accès à Internet est essentiel, mais vous pouvez vous demander quels processus Linux utilisent le plus votre connexion sur votre ordinateur. Heureusement, grâce à certains utilitaires Linux courants, il est facile de surveiller les processus qui 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 :
Et sur Arch Linux :
Sur la famille Red Hat :
Pour exécuter nethogs, vous devez être root :
Il est possible de configurer le système de manière à ce que vous puissiez exécuter nethogs en tant qu’utilisateur normal à l’aide de cette commande :
Vous devez remplacer « /chemin/vers/nethogs« par le nom de chemin absolu de nethogs. Vous pouvez le trouver à l’aide de la commande which :
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. La commande -i répertorie les connexions Internet liées aux processus en cours d’exécution sur le système. Sous Linux, tout est un fichier, après tout.
Pour voir les connexions Internet en cours, utilisez cette commande :
lsof vous indiquera le nom de toutes les commandes ayant 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 de la fonction -i4 et -i6 vous permettent d’afficher les connexions utilisant IPv4 ou IPv6.
Il y a de fortes chances que lsof soit déjà installé sur votre ordinateur. Si ce n’est pas le cas, il est également facile à installer sur les principales distros Linux.
Sous Debian et Ubuntu, tapez :
Et sur Arch :
Sur les distros de la famille Red Hat :
3. netstat
netstat est un programme puissant qui vous permet 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 pour lsof, vous pouvez le voir avec une option de ligne de commande.
netstat fait partie du paquetage net-tools. Vous pouvez l’installer sur la plupart des distros Linux à l’aide du gestionnaire de paquets par défaut.
Par exemple, sur Debian ou Ubuntu :
Sur Arch Linux :
Pour installer netstat sur Fedora, CentOS et RHEL, exécutez :
Vous pouvez exécuter netstat à partir de la ligne de commande. Par défaut, il affiche des informations telles que le protocole, l’adresse et l’état de la connexion, mais l’option -p ajoute une colonne indiquant l’identifiant du processus et le nom de la commande.
Lorsque vous l’exécutez, netstat se contente de lister toutes les connexions réseau et quitte ensuite. Avec l’option -c vous pouvez voir une liste de connexions continuellement mise à jour :
Cela revient à utiliser un programme orienté écran comme nethogs, mais l’avantage de cette méthode est que vous pouvez diriger la sortie vers un autre programme comme grep ou un pager pour l’examiner :
Pour voir tous les processus ayant des connexions réseau sur votre système, vous devrez peut-être exécuter netstat en tant que superutilisateur :
Vous pouvez maintenant voir quelles applications Linux engloutissent votre bande passante
Linux, comme de nombreux systèmes d’exploitation modernes, est intimement lié à Internet. Il est parfois difficile de savoir quels processus utilisent votre bande passante. Avec des outils comme nethogs, lsof et netstat, vous pouvez repérer les processus qui ont des connexions ouvertes.
Il arrive que des processus se dérèglent, même avec des connexions. Sous Linux, vous pouvez facilement mettre fin aux processus erronés.