Outils pour utilisateurs

Outils du site


cours:informatique:sysadmin:administrer_un_systeme_linux:430_analyse_activite_reseau

Notes et transcriptions du cours “Administrez un système Linux” disponible sur la plateforme Openclassrooms.

Analysez l’activité réseau

Vous avez appris à surveiller l'activité du système via l'analyse des fichiers de traces et des processus. Dans ce dernier chapitre, je vous propose de nous intéresser à l'activité réseau du serveur.

  • Nous utiliserons les commandes ss et lsof pour relever les ports en écoute de la machine ;
  • Nous explorerons les outils bmon et iptraf qui affichent l'activité en temps réel des interfaces.
  • Nous lancerons quelques captures de trames avec l'utilitaire tcpdump et nous les afficherons dans l'analyseur de paquets wireshark.

Relevez les services réseau mis à disposition par le système

Pour héberger un service réseau, votre serveur Linux doit disposer d'au moins une adresse IP accessible sur un réseau. Chaque service réseau pourra alors ouvrir un port en écoute et l'associer à cette adresse IP.

Pour plus d'informations sur le sujet, consultez les cours :

Imaginons que l'unique adresse IP de votre serveur soit 192.168.1.100. Tous les services réseaux de ce serveur seront associés à cette adresse IP.

Par exemple :

  • Un service httpd(serveur web) serait alors disponible en standard sur le port 80 de l'adresse IP tel que : 192.168.1.100:80
  • Un service mysqld(base de données) serait éventuellement disponible en standard sur le port 3306 de l'adresse IP tel que : 1 92.168.1.100:3306

Linux fournit des commandes permettant de relever la liste des services réseau actuellement disponibles sur le serveur.

La commande ss

La commande ss (pour “socket statistics”) est fournie par le package iproute2 installé en standard sur les distributions.

Les plus anciens d'entre nous auront connu netstat, mais le paquet net-tools, qui reste disponible, n'est plus maintenu et n'est donc plus installé par défaut sur les distributions.

Cette commande dispose de nombreuses options :

# Lister les ports ouverts
ss -lptun

Avec ces options la commande affiche les ports ouverts, le nom du service (daemon) son PID. Par ailleurs, étant donné que tout est fichier sous Linux, vous pourrez remarquer que chaque “socket” dispose de son “file descriptor” (fd sur les lignes résultat).

La commande lsof

La commande lsof (pour “list open files”), très connue également (fournie par le package lsof du même nom), s'attache à relever tous les fichiers ouverts. Il est donc possible de retrouver ces éléments avec cette commande.

lsof -Pi

Observez l’activité réseau sur les interfaces

Maintenant que vous savez relever les processus en écoute sur le serveur, il est temps de vous pencher sur l'analyse de l'activité réseau sur les cartes du serveur.

Encore une fois, Linux fourmille d'outils permettant de vous aider à ce sujet. Je vais vous proposer deux outils que j'utilise fréquemment :

  • bmon (pour “bandwidth monitor”) vise à afficher le trafic en émission et réception sur les cartes. Il s'installe avec le package du même nom bmon.
  • iptraf propose l'affichage des connexions de manière plus détaillée, en indiquant notamment les sources ou les destinations relatives au trafic. Il s'installe avec le package du même nom : iptraf.

Citons encore quelques outils d'analyse de trafic en temps réel :

  • Nload,
  • iftop(très connu aussi celui-là),
  • slurm,
  • tcptrack,
  • speedometer (il a l'avantage de présenter, en mode terminal, une vue assez colorée du trafic sur une interface),
  • etc.

Allez, je vous propose d'installer et d'exécuter bmon puis iptraf pour relever l’activité réseau sur les interfaces.

Capturez le trafic réseau d’une interface

Enfin, dernier point de ce chapitre : il peut être intéressant de pouvoir capturer le trafic d'une interface.

Pour cela, il existe un utilitaire en mode terminal très connu également, qui se nomme tcpdump. Il s'installe avec le package portant le même nom.

Vous allez constater que cet outil peut être très très verbeux ! Il est important de bien spécifier les options de capture en fonction de votre besoin.

Avec tcpdump, vous avez aussi la possibilité d’enregistrer votre capture dans un fichier, qui sera ensuite lisible par wireshark, le très célèbre analyseur de trames réseau.

:TODO_DOCUPDATE:

Dans la vidéo ci-dessous, je vous propose :

  • d'installer ces deux outils,
  • de capturer un trafic réseau spécifique à un besoin, par exemple, l’analyse des flux d’un service Web,
  • et de les importer dans wireshark pour compléter leur analyse.

En résumé

  • La commande ss permet de relever les ports ouverts et les processus associés sur un serveur Linux ;
  • Complétée par la commande lsof, on peut référencer tous les fichiers qui étaient ouverts par des processus en écoute ;
  • Grâce à bmon et iptraf, on peut lire le trafic entrant et sortant en temps réel sur les cartes réseau de la machine ;
  • tcpdump et wireshark permettent de capturer et d’analyser ce trafic .

◁ Précédent | ⌂ Retour au sommaire | Suivant ▷

cours/informatique/sysadmin/administrer_un_systeme_linux/430_analyse_activite_reseau.txt · Dernière modification : 2024/01/30 10:18 de yoann