TUTOS.EU

Monitorer le traffic réseau sous Linux avec nethogs et autre


Pour l'instant j'arrive à avoir le traffic réseau global sur le serveur avec bmon que l'on installe avec

sudo apt-get install bmon
Lien vers le fichier : cliquez ici Copier le code

L'interface


tcpdump permet de voir tout le trafic passer sur une carte réseau.
On trouve pas mal de doc sur le net à son sujet. Au hasard :
https://lea-linux.org/documentations/Tcpdump

Pour faire une mise à jour des packages existants puis installer tcpdump, taper

sudo apt update && sudo apt install tcpdump
Lien vers le fichier : cliquez ici Copier le code

Pour capturer le trafic de l'interface réseau eth0, port 23 :

tcpdump -nnn -i eth0 port 23
Lien vers le fichier : cliquez ici Copier le code

Peut être que nethogs est le Graal dans le domaine, mais il m'a bien cassé les c....... pour son installation.

Comme dit sur sa page github, cad https://github.com/raboof/nethogs/, nethogs dépend de ncurses pour l'interface textuelle et de libpcap pour capturer les paquets réseaux.

En pré-requis, pour installer ces dépendances, taper

sudo apt-get install libncurses5-dev libpcap-dev
Lien vers le fichier : cliquez ici Copier le code

Ensuite, si vous avez de la chance, vous n'aurez plus qu'à taper

sudo apt-get install nethogs
Lien vers le fichier : cliquez ici Copier le code

Lancer alors le programme avec cette simple commande

sudo nethogs
Lien vers le fichier : cliquez ici Copier le code

Si cela ne passe pas, on peut aller chercher les sources sur github. Donc pour cela il faut le client git que l'on peut installer en tapant

sudo apt install git
Lien vers le fichier : cliquez ici Copier le code

On peut alors récupérer les sources sur github en tapant

git clone https://github.com/raboof/nethogs
Lien vers le fichier : cliquez ici Copier le code

Après il faut compiler les sources. Pour cela il faut déjà savoir où elles sont, et c'est, sur mon poste toujours, sur dans /home/nethogs
Donc pour y aller, taper

cd /home/nethogs
Lien vers le fichier : cliquez ici Copier le code

Maintenant qu'on a cela, comme expliqué sur https://doc.ubuntu-fr.org/tutoriel/compilation
pour compiler il faut en général installer build-essential, fakeroot et checkinstall

checkinstall surveille la procédure d'installation et crée un paquet « .deb » qui sera présent dans la liste de paquets installés. Ceci permettra une désinstallation simplifiée et propre.

Pour installer les 3 d'un coup, taper

sudo apt-get install build-essential fakeroot checkinstall
Lien vers le fichier : cliquez ici Copier le code

On est à 2 doigts du bonheur. Pour lancer la compilation, taper

sudo make && sudo make install
Lien vers le fichier : cliquez ici Copier le code

Aller dans le répertoire de Nethogs et lancer le programme en tapant

cd /home/nethogs
sudo nethogs
Lien vers le fichier : cliquez ici Copier le code

Idéalement il faudrait donc le déclarer dans le path.

Voici à quoi ressemble l'interface

Je ne sais pas si j'aurai dû le lancer avant, mais sous Debian, le github dit qu'on pourrait faire un package en tapant

checkinstall -D make install
Lien vers le fichier : cliquez ici Copier le code

Cela donne ceci

En appuyant sur une touche cela lance la suite

Maintenant taper

dpkg -i nethogs*.deb
Lien vers le fichier : cliquez ici Copier le code

Ce qui affiche ceci

Si vous en avez le besoin, la désinstallation se ferait avec

cd /home/nethogs
sudo make uninstall
Lien vers le fichier : cliquez ici Copier le code

Dans son article Koren parle de sniffnet qui permet d'avoir des graphiques rafraichis en temps réel présentant la quantité de paquets et d’octets transitant par seconde.

On peut filtrer par protocoles etc

La page officielle du site est sur github

Pages Web

Site WebDescription
Binarytides.com18 commands to monitor network bandwidth on Linux server

2