Surveillance réseau Linux

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Ce laboratoire se concentre sur la surveillance réseau sous Linux en utilisant l'outil en ligne de commande netstat. La surveillance réseau est essentielle pour les administrateurs système afin de comprendre les connexions, les services et les modèles de trafic sur leurs systèmes.

Au cours de ce laboratoire, vous apprendrez à utiliser l'utilitaire netstat pour afficher les connexions réseau actives, les services en écoute et les statistiques des interfaces réseau. Ces compétences sont fondamentales pour résoudre les problèmes réseau, surveiller les performances du système et garantir la sécurité du réseau.

À la fin de ce laboratoire, vous serez en mesure d'utiliser efficacement netstat pour obtenir des informations sur les activités réseau sur un système Linux, ce qui est une compétence précieuse pour tout administrateur système ou professionnel du domaine informatique.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/RemoteAccessandNetworkingGroup -.-> linux/netstat("Network Monitoring") subgraph Lab Skills linux/cat -.-> lab-271343{{"Surveillance réseau Linux"}} linux/cd -.-> lab-271343{{"Surveillance réseau Linux"}} linux/netstat -.-> lab-271343{{"Surveillance réseau Linux"}} end

Comprendre les connexions réseau avec netstat

La commande netstat est un outil réseau puissant qui affiche les connexions réseau, les tables de routage, les statistiques des interfaces, etc. Dans cette étape, vous apprendrez à utiliser netstat pour afficher les connexions réseau actives.

Tout d'abord, naviguons jusqu'au répertoire du projet dans lequel nous allons travailler :

cd /home/labex/project

Qu'est-ce que netstat ?

La commande netstat (statistiques réseau) affiche diverses informations liées au réseau telles que les connexions réseau, les tables de routage, les statistiques des interfaces, etc. C'est un outil précieux pour comprendre les activités réseau de votre système.

Affichage des connexions actives

Exécutons la commande netstat avec des options spécifiques pour afficher les connexions TCP actives :

netstat -nat > connections.txt

Dans cette commande :

  • -n affiche les adresses et les numéros de port sous forme numérique plutôt que de les résoudre en noms d'hôtes ou en noms de services
  • -a affiche tous les sockets (écoutants et non écoutants)
  • -t affiche uniquement les connexions TCP
  • > connections.txt redirige la sortie vers un fichier nommé connections.txt

Maintenant, affichons le contenu du fichier que nous avons créé :

cat connections.txt

La sortie devrait ressembler à ceci :

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN

Comprendre la sortie

  • Proto : Le protocole utilisé (TCP dans ce cas)
  • Recv-Q : Le nombre d'octets non copiés par le programme utilisateur connecté à ce socket
  • Send-Q : Le nombre d'octets non reconnus par l'hôte distant
  • Local Address : L'adresse et le numéro de port de l'extrémité locale du socket
  • Foreign Address : L'adresse et le numéro de port de l'extrémité distante du socket
  • State : L'état du socket (LISTEN, ESTABLISHED, etc.)

L'état LISTEN indique que le service est en cours d'exécution et attend des connexions entrantes sur ce port spécifique.

Surveillance des services en écoute

Dans cette étape, vous apprendrez à identifier quels services écoutent les connexions sur votre système. Cette information est cruciale pour l'audit de sécurité et la résolution des problèmes liés au réseau.

Identification des services en écoute

Utilisons la commande netstat pour rechercher spécifiquement les services qui sont dans l'état LISTEN :

netstat -natu | grep LISTEN > listening_services.txt

Dans cette commande :

  • -n affiche les adresses sous forme numérique
  • -a affiche tous les sockets
  • -t inclut les connexions TCP
  • -u inclut les connexions UDP
  • | grep LISTEN filtre la sortie pour afficher uniquement les lignes contenant "LISTEN"
  • > listening_services.txt enregistre la sortie dans un fichier

Examinons maintenant le contenu du fichier :

cat listening_services.txt

Vous devriez voir une sortie similaire à celle-ci :

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN

Compréhension des services en écoute

Chaque ligne de la sortie représente un service qui accepte actuellement des connexions :

  • Les services écoutant sur 0.0.0.0 acceptent les connexions depuis n'importe quelle interface réseau
  • Les services écoutant sur 127.0.0.1 n'acceptent que les connexions depuis la machine locale
  • Les services écoutant sur ::: sont des adresses IPv6 qui acceptent les connexions depuis n'importe quelle interface réseau

Les numéros de port (comme 22 pour le service SSH ou 631 pour le service d'impression CUPS) identifient le service en écoute. Par exemple :

  • Port 22 : Service SSH
  • Port 80 : Service HTTP (web)
  • Port 443 : Service HTTPS
  • Port 631 : Service d'impression CUPS

Cette information vous aide à comprendre quels services sont exposés sur votre système, ce qui est précieux pour les évaluations de sécurité et la résolution de problèmes.

Analyse des statistiques des interfaces réseau

Dans cette étape, vous apprendrez à afficher les statistiques de vos interfaces réseau. Ces statistiques fournissent des informations précieuses sur les performances et l'utilisation de vos interfaces réseau.

Affichage des statistiques des interfaces

Utilisons netstat pour afficher les statistiques de toutes les interfaces réseau :

netstat -i > interface_stats.txt

Dans cette commande :

  • -i affiche un tableau de toutes les interfaces réseau
  • > interface_stats.txt enregistre la sortie dans un fichier

Examinons maintenant le contenu du fichier :

cat interface_stats.txt

Vous devriez voir une sortie similaire à celle-ci :

Kernel Interface table
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0      1500   123456      0      0 0        98765      0      0      0 BMRU
lo       65536     789      0      0 0          789      0      0      0 LRU

Compréhension des statistiques des interfaces réseau

La sortie fournit des statistiques importantes sur chaque interface réseau :

  • Iface : Le nom de l'interface réseau

    • eth0 : Généralement la première interface Ethernet
    • lo : L'interface de bouclage utilisée pour les connexions locales
  • MTU : Unité maximale de transmission (Maximum Transmission Unit) - la taille maximale de paquet qui peut être transmise

    • L'Ethernet standard utilise généralement 1500 octets
    • L'interface de bouclage a généralement un MTU plus grand (65536)
  • RX-OK : Nombre de paquets reçus sans erreur

  • RX-ERR : Nombre de paquets reçus avec erreur

  • RX-DRP : Nombre de paquets reçus abandonnés

  • RX-OVR : Nombre de dépassements de paquets reçus

  • TX-OK : Nombre de paquets transmis sans erreur

  • TX-ERR : Nombre de paquets transmis avec erreur

  • TX-DRP : Nombre de paquets transmis abandonnés

  • TX-OVR : Nombre de dépassements de paquets transmis

  • Flg : Indicateurs (Flags) indiquant l'état de l'interface

    • B : Adresse de diffusion (Broadcast) définie
    • M : Multicast activé
    • R : L'interface est en fonctionnement
    • U : L'interface est active

Ces statistiques vous aident à surveiller les performances du réseau et à identifier les problèmes potentiels, tels que la perte de paquets ou les erreurs de transmission.

Commandes supplémentaires pour les statistiques réseau

Pour avoir une vue plus complète des statistiques réseau, vous pouvez également utiliser :

netstat -s | head -20 > protocol_stats.txt

Cette commande affiche les statistiques des protocoles pour TCP, UDP, IP, ICMP et d'autres protocoles. Nous utilisons head -20 pour limiter la sortie aux 20 premières lignes pour plus de lisibilité.

Affichons ce fichier :

cat protocol_stats.txt

Cela fournit des statistiques détaillées sur les performances de chaque protocole, vous aidant à identifier les problèmes potentiels du réseau au niveau du protocole.

Résumé

Dans ce laboratoire, vous avez appris à utiliser la commande netstat pour surveiller divers aspects de l'activité réseau sur un système Linux. Les compétences clés que vous avez acquises sont les suivantes :

  1. Afficher les connexions réseau actives pour comprendre quelles connexions sont établies sur votre système.

  2. Identifier les services en écoute pour déterminer quels ports sont ouverts et potentiellement exposés au réseau.

  3. Analyser les statistiques des interfaces réseau pour surveiller les performances et l'état de santé de vos interfaces réseau.

Ces compétences sont essentielles pour les administrateurs de systèmes, les ingénieurs réseau et les professionnels de la sécurité qui doivent comprendre et résoudre les problèmes liés au réseau. La commande netstat fournit des informations précieuses sur les activités réseau de votre système, vous aidant à maintenir des performances et une sécurité optimales.

Bien que netstat soit considéré comme obsolète sur de nombreuses distributions Linux modernes et qu'il soit remplacé par des outils tels que ss et ip, la compréhension de netstat fournit une base solide pour les concepts de surveillance réseau qui s'appliquent à tous ces outils.