Commande Netstat sous Linux - Comment utiliser Netstat pour la gestion de réseau Linux

Publié 27 août 2024

Netstat est un puissant outil en ligne de commande qui fournit des informations précieuses sur les connexions réseau et les performances de votre ordinateur. Cet article explorera ce que fait netstat, comment l'utiliser sur les systèmes Linux, et comment tirer parti de netstat pour le dépannage et la surveillance du réseau.

Vue d'ensemble de la commande Netstat

Qu'est-ce que Netstat ?

Netstat, abréviation de "network statistics" (statistiques réseau), est un outil en ligne de commande qui vous aide à comprendre et à vérifier les connexions réseau et les performances de votre ordinateur. Il vous donne des informations sur :
  • Les connexions réseau actives : Voir à quoi votre ordinateur se connecte
  • Les tables de routage : Visualiser les chemins que votre ordinateur utilise pour envoyer des informations
  • Les interfaces réseau : Obtenir des détails sur vos périphériques réseau et leur activité

Avec netstat, vous pouvez avoir une image claire de l'état de votre réseau et identifier les problèmes éventuels.

Syntaxe de base

Pour utiliser netstat, vous tapez `netstat` suivi d'une ou plusieurs options. Le format général est :

netstat [options]

Vous pouvez combiner différentes options pour obtenir les informations spécifiques dont vous avez besoin. Quelques exemples courants :

  • netstat -a : Affiche toutes les connexions actives
  • netstat -r : Affiche la table de routage
  • netstat -i : Liste les statistiques des interfaces réseau

Les options vous permettent d'ajuster la sortie de netstat pour vous concentrer sur les détails qui comptent pour votre dépannage ou votre analyse.

Utilisation de Netstat sur Linux

Netstat est disponible sur la plupart des distributions Linux. Voici quelques commandes netstat utiles pour Linux :

  • netstat -at : Affiche toutes les connexions TCP actives
  • netstat -au : Affiche toutes les connexions UDP actives
  • netstat -l : Liste tous les sockets en écoute
  • netstat -s : Affiche les statistiques récapitulatives pour chaque protocole
  • netstat -tp : Affiche le PID et le nom du programme auquel chaque socket appartient

Par exemple, pour voir toutes les connexions TCP actives, exécutez :

netstat -at

Cela produira quelque chose comme :

Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 localhost:mysql         0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:http            0.0.0.0:*               LISTEN     
tcp        0      0 localhost:6379          0.0.0.0:*               LISTEN

Chaque ligne montre un socket TCP, avec des détails tels que :

  • Les adresses et ports locaux et distants
  • L'état actuel du socket (par exemple, LISTEN, ESTABLISHED)
  • Les tailles des files d'attente de réception et d'envoi

Vous pouvez utiliser grep pour filtrer la sortie, comme :

netstat -at | grep http

Pour n'afficher que les sockets liés à HTTP.

Dépannage avec Netstat

Netstat est un outil puissant pour identifier les problèmes réseau sur les serveurs Linux. Voici quelques cas d'utilisation courants :

  • Vérifier les ports utilisés : netstat -tunlp montre quels processus utilisent quels ports
  • Surveiller les connexions à un port spécifique : netstat -anp | grep :80 suit les connexions au port 80
  • Savoir quel processus utilise un port : netstat -tulpn liste le PID pour chaque port en écoute
  • Analyser les tentatives de connexion échouées : Cherchez les sockets dans les états TIME_WAIT ou CLOSE_WAIT

En utilisant netstat pour examiner vos connexions réseau, vous pouvez identifier des problèmes tels que les conflits de ports, les services qui ne répondent pas ou les surcharges de trafic. C'est un élément essentiel de la boîte à outils de dépannage réseau de tout administrateur système Linux.

Affichage des informations de connexion réseau

Lister toutes les connexions actives

L'une des utilisations les plus courantes de `netstat` est d'afficher toutes les connexions réseau actives sur votre système Linux. Pour ce faire, exécutez :

netstat -a

Cette commande affiche à la fois les connexions en écoute et établies, donnant un aperçu de votre activité réseau. La sortie comprend des détails tels que le protocole (TCP ou UDP), les adresses locales et distantes, et l'état actuel de chaque connexion.

Par exemple :

Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 localhost:mysql         0.0.0.0:*               LISTEN     
tcp        0      0 192.168.1.100:ssh       192.168.1.50:1234       ESTABLISHED
udp        0      0 0.0.0.0:bootpc          0.0.0.0:*                          

Ici, nous pouvons voir un serveur MySQL en écoute, une connexion SSH établie, et une connexion UDP pour DHCP (bootpc).

Lister les connexions TCP et UDP

Si vous voulez vous concentrer sur des types de connexions spécifiques, `netstat` vous permet de filtrer pour TCP ou UDP. Pour lister uniquement les connexions TCP actives, utilisez :

netstat -at

Et pour les connexions UDP :

netstat -au

C'est utile lorsque vous dépannez des problèmes liés à un protocole ou un service spécifique. Par exemple, si vous avez des problèmes avec un serveur web, vous pourriez utiliser netstat -at pour vérifier ses connexions TCP.

Afficher les ports en écoute

Une autre utilisation utile de `netstat` est d'afficher uniquement les ports en écoute. Ce sont les ports qui sont ouverts et attendent des connexions entrantes. Pour lister tous les ports en écoute, exécutez :

netstat -l

Vous pouvez également combiner cela avec les options -t ou -u pour filtrer les ports TCP ou UDP :

netstat -lt netstat -lu

C'est un moyen rapide de voir quels services sont en cours d'exécution sur votre système et quels ports ils utilisent. Par exemple :

Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:http            0.0.0.0:*               LISTEN     
tcp6       0      0 [::]:https              [::]:*                  LISTEN

Ici, nous pouvons voir que le système exécute un serveur HTTP sur le port 80 (http) et un serveur HTTPS sur le port 443 (https), tous deux en écoute pour les connexions IPv4 et IPv6.

En utilisant ces commandes netstat pour afficher les connexions actives et les ports en écoute, vous pouvez obtenir une image claire des services réseau de votre système Linux et identifier tout problème potentiel ou risque de sécurité.

Surveillance des statistiques réseau

Afficher les statistiques des interfaces

La commande `netstat` peut également fournir des statistiques utiles sur vos interfaces réseau. Pour afficher ces informations, utilisez :
netstat -i

Cette commande affiche une liste de toutes les interfaces réseau de votre système, avec des métriques importantes pour chacune. La sortie comprend :

  • Le nom de l'interface (par exemple, eth0, lo)
  • La taille MTU (Maximum Transmission Unit)
  • Le nombre de paquets reçus (RX) et envoyés (TX)
  • Le nombre d'erreurs de réception (RX) et de transmission (TX)
  • Le nombre de paquets reçus (RX) et envoyés (TX) abandonnés

Par exemple :

Kernel Interface table
Iface   MTU RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0   1500  1234      0      0 0         5678      0      0      0 BMRU
lo    65536   100      0      0 0          100      0      0      0 LRU

Ici, nous pouvons voir les statistiques pour les interfaces eth0 (Ethernet) et lo (loopback). Les colonnes RX montrent le nombre de paquets reçus, reçus avec des erreurs, abandonnés et surchargés. Les colonnes TX montrent les mêmes informations pour les paquets envoyés.

Surveiller ces statistiques peut vous aider à identifier des problèmes de performance ou des erreurs sur des interfaces spécifiques. Par exemple, un nombre élevé de RX-ERR ou TX-ERR pourrait indiquer un problème physique avec un câble réseau ou un port.

Afficher la table de routage du noyau

En plus des statistiques d'interface, `netstat` peut afficher la table de routage du noyau de votre système. Il s'agit d'une liste des routes réseau qui indiquent à votre système comment envoyer des paquets vers différentes destinations réseau. Pour voir la table de routage, utilisez :
netstat -r

Cette commande affiche chaque route comme une ligne avec plusieurs champs :

  • Destination : Le réseau ou l'hôte de destination
  • Passerelle : La passerelle (routeur) utilisée pour atteindre la destination
  • Genmask : Le masque de réseau pour le réseau de destination
  • Flags : Drapeaux montrant les caractéristiques de la route (par exemple, U pour up, G pour gateway)
  • MSS : La taille maximale de segment par défaut pour les connexions TCP sur cette route
  • Window : La taille de fenêtre TCP par défaut
  • irtt : Le temps de trajet aller-retour initial (irtt) pour la route

Par exemple :

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         192.168.1.1     0.0.0.0         UG        0 0          0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0

Ici, nous pouvons voir deux routes. La première est la route par défaut, qui envoie tout le trafic vers la passerelle à 192.168.1.1. La seconde est une route pour le réseau local 192.168.1.0/24, qui est directement connecté à l'interface eth0.

En examinant la table de routage, vous pouvez comprendre comment votre système dirige le trafic réseau et dépanner les problèmes de connectivité. Par exemple, si des paquets n'atteignent pas une destination spécifique, vous pourriez vérifier la table de routage pour voir s'il existe une route valide pour cette destination.

Les affichages des statistiques d'interface et de la table de routage de netstat sont des outils puissants pour surveiller les performances et la connectivité réseau de votre système Linux. En surveillant ces métriques, vous pouvez identifier et résoudre les problèmes réseau avant qu'ils n'affectent vos utilisateurs ou vos applications.

Utilisation avancée et dépannage

Surveiller l'activité réseau en continu

La commande `netstat` peut être utilisée pour surveiller l'activité réseau en temps réel de manière continue. En utilisant l'option `-c`, `netstat` rafraîchira sa sortie à intervalles réguliers, vous permettant de voir les changements dans les connexions réseau et les statistiques au fur et à mesure qu'ils se produisent.

Par exemple, en exécutant :

netstat -c

Cette commande affichera les informations réseau et les mettra à jour toutes les secondes. C'est utile pour détecter des changements soudains dans le comportement du réseau, comme une augmentation des connexions ou une baisse soudaine du débit. En surveillant la sortie au fil du temps, vous pouvez identifier des tendances et des anomalies qui pourraient indiquer un problème en développement.

Trouver les processus utilisant des ports

Lors du dépannage de problèmes réseau, il est souvent utile de savoir quels processus utilisent quels ports réseau. L'option `-p` de la commande `netstat` affiche le PID (ID de processus) et le nom du programme lié à chaque socket.

Par exemple :

netstat -p

Cette commande affichera une liste des connexions réseau actives, avec le PID et le nom du programme qui possède chaque socket. Si vous voyez un port utilisé que vous ne reconnaissez pas, vous pouvez utiliser le PID pour enquêter davantage avec des outils comme ps et lsof.

C'est particulièrement utile pour dépanner les conflits de ports. Si deux programmes essaient d'utiliser le même port, netstat -p vous montrera quels processus sont impliqués. Vous pouvez alors prendre des mesures pour reconfigurer l'un des programmes pour utiliser un port différent.

C'est aussi un outil de sécurité précieux. En vérifiant régulièrement les processus inconnus utilisant des ports réseau, vous pouvez détecter une activité suspecte qui pourrait indiquer un système piraté ou compromis.

Combiner Netstat avec Grep

La sortie de `netstat` peut être longue, surtout sur des systèmes avec de nombreuses connexions réseau. Pour faciliter la recherche des informations dont vous avez besoin, vous pouvez utiliser `grep` pour filtrer la sortie de `netstat`.

Par exemple, pour n'afficher que les connexions à un port spécifique (par exemple, 80 pour HTTP), vous pouvez utiliser :

netstat -an | grep ':80'

Cela envoie la sortie de netstat -an (qui affiche tous les sockets, sortie numérique) à grep, qui recherche les lignes contenant :80. Le résultat est une liste de toutes les connexions impliquant le port 80.

Vous pouvez utiliser une méthode similaire pour trouver les connexions à une adresse IP spécifique :

netstat -an | grep '192.168.1.100'

C'est un moyen puissant de trouver rapidement des informations pertinentes, surtout lorsque vous avez affaire à un système occupé ou à un problème réseau complexe. En combinant netstat avec grep, vous pouvez répondre à des questions comme :

  • Mon serveur web accepte-t-il des connexions sur le port 80 ?
  • Y a-t-il des connexions vers une adresse IP suspecte ?
  • Quels clients sont actuellement connectés à mon serveur de base de données ?

Avec ces techniques avancées de netstat - surveillance continue, recherche de processus et filtrage de sortie - vous pouvez améliorer vos compétences en dépannage réseau. Que vous soyez un administrateur système gérant une flotte de serveurs Linux ou un utilisateur avancé essayant d'optimiser votre propre système, netstat est un outil important à avoir dans votre boîte à outils.

Comprendre les sockets réseau

Les sockets réseau sont les éléments de base de la communication réseau sur les systèmes Linux. Un socket est un point de terminaison pour l'envoi et la réception de données à travers un réseau. C'est une combinaison d'une adresse IP et d'un numéro de port, qui identifient ensemble un service réseau ou une connexion spécifique.

Lorsque vous exécutez netstat, vous voyez une liste de tous les sockets actifs sur votre système. Chaque ligne dans la sortie montre un socket, avec des informations sur son protocole, ses adresses locales et distantes, et son état actuel.

Par exemple :

Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 localhost:6379          0.0.0.0:*               LISTEN
tcp        0      0 192.168.1.100:ssh       192.168.1.50:54321      ESTABLISHED

Dans cette sortie, la première ligne montre un socket TCP qui écoute sur localhost (127.0.0.1) port 6379. C'est une configuration typique pour un serveur Redis. La deuxième ligne montre une connexion SSH établie de 192.168.1.50 port 54321 vers 192.168.1.100 port 22 (le port SSH par défaut).

En examinant les sockets dans la sortie de netstat, vous pouvez comprendre les modèles de communication réseau de votre système. Vous pouvez voir quels services sont en cours d'exécution, quels ports ils utilisent, et qui se connecte à eux.

Ces informations sont précieuses pour résoudre les problèmes réseau. Par exemple, si vous avez des difficultés à vous connecter à un service, vous pouvez utiliser netstat pour vérifier que le service est en cours d'exécution et écoute sur le bon port. Si vous voyez de nombreuses connexions dans un état inhabituel (comme TIME_WAIT ou CLOSE_WAIT), cela pourrait indiquer un problème avec un client ou un serveur.

Vous pouvez également utiliser netstat pour détecter des problèmes de sécurité, comme des services inconnus oudes connexions suspectes. En vérifiant régulièrement la liste des sockets actifs, vous pouvez vous assurer que votre système n'exécute que les services que vous attendez, et qu'il n'est pas accédé par des clients inconnus.

En résumé, comprendre les sockets réseau est essentiel pour utiliser efficacement netstat et gérer les services réseau Linux. En sachant comment interpréter la sortie de netstat, vous pouvez identifier les problèmes, améliorer les performances et maintenir votre système sécurisé.

Analyser le trafic réseau avec Netstat

Afficher les statistiques de trafic réseau

La commande `netstat` est un outil utile pour analyser le trafic réseau sur votre système Linux. Une option particulièrement utile est `-s`, qui affiche des statistiques détaillées sur le trafic réseau géré par chaque protocole.

Pour voir ces statistiques, exécutez :

netstat -s

Cette commande imprimera un résumé des statistiques de trafic pour TCP, UDP, ICMP et d'autres protocoles. Les statistiques incluent des informations comme :

  • Segments envoyés et reçus
  • Segments retransmis
  • Erreurs reçues
  • Paquets envoyés et reçus
  • Paquets abandonnés

Par exemple, dans la section TCP, vous pourriez voir :

Tcp:
    1234 ouvertures de connexions actives
    5678 ouvertures de connexions passives
    10 tentatives de connexion échouées
    123 réinitialisations de connexion reçues
    1 connexion établie
    1234567 segments reçus
    7654321 segments envoyés
    123 segments retransmis
    0 mauvais segments reçus.
    1234 réinitialisations envoyées

Ces statistiques peuvent vous aider à identifier des problèmes de performance réseau. Un nombre élevé de segments retransmis pourrait indiquer une congestion du réseau ou une liaison réseau peu fiable. Un grand nombre de tentatives de connexion échouées pourrait pointer vers un problème avec un service ou une attaque de scanner de ports.

De même, les sections UDP et ICMP montrent des statistiques pour ces protocoles. Des niveaux élevés de messages ICMP "destination inaccessible" pourraient signifier des problèmes de routage ou une attaque DDoS.

En vérifiant régulièrement ces statistiques, vous pouvez établir une base de référence pour l'activité réseau normale de votre système. Tout changement important par rapport à cette base peut être un signe précoce d'un problème en développement.

Vérifier l'utilisation de la bande passante réseau

En plus des statistiques de protocole, `netstat` peut vous montrer combien de bande passante réseau chaque interface utilise. L'option `-i` affiche un tableau de statistiques d'interface, y compris le nombre d'octets et de paquets envoyés et reçus.

Pour voir ces informations, exécutez :

netstat -i

La sortie ressemblera à ceci :

Table d'interface du noyau
Iface   MTU RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0   1500 1234567   0      0 0      7654321    0      0      0 BMRU
lo    65536   1234   0      0 0         1234    0      0      0 LRU

Les colonnes RX-OK et TX-OK montrent le nombre total d'octets reçus et transmis par chaque interface. En vérifiant ces chiffres au fil du temps, vous pouvez voir quelles interfaces gèrent le plus de trafic et si certaines approchent de leurs limites de capacité.

Par exemple, si vous voyez que la valeur TX-OK d'une interface est constamment élevée et en croissance, cela pourrait signifier que l'interface est saturée et pourrait bénéficier d'une mise à niveau de la bande passante.

Vous pouvez également utiliser ces informations pour identifier les gros consommateurs de bande passante - applications ou utilisateurs qui utilisent une grande partie de vos ressources réseau. En faisant correspondre une utilisation élevée de la bande passante avec d'autres activités du système, vous pouvez trouver la source du trafic et prendre des mesures pour le gérer.

Les fonctionnalités de statistiques de trafic et de surveillance de la bande passante de netstat sont importantes pour tout administrateur système Linux ou gestionnaire de réseau. En surveillant ces métriques, vous pouvez vous assurer que votre réseau fonctionne bien et que vous avez la capacité de gérer votre charge de travail. Avec netstat dans votre boîte à outils, vous êtes bien équipé pour analyser et dépanner le trafic réseau Linux.

Netstat et la gestion des serveurs Linux

Surveiller les services réseau sur les serveurs Linux

Netstat est un outil utile pour gérer et sécuriser les serveurs Linux. L'une des commandes les plus utiles pour les administrateurs de serveurs est :

netstat -tulpn

Cette commande liste tous les ports TCP et UDP qui sont en écoute, ainsi que les processus associés. La sortie ressemble à ceci :

Connexions Internet actives (seulement les serveurs)
Proto Recv-Q Send-Q Adresse locale          Adresse distante         État       PID/Nom du programme
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1234/sshd       
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      5678/cupsd      
tcp6       0      0 :::80                   :::*                    LISTEN      9012/apache2

Chaque ligne montre un service réseau qui fonctionne sur le serveur, avec :

  • Le protocole (TCP ou UDP)
  • L'adresse et le port locaux
  • L'adresse et le port distants (le cas échéant)
  • L'état du socket (par exemple, LISTEN, ESTABLISHED)
  • Le PID et le nom du processus qui possède le socket

En exécutant cette commande régulièrement, vous pouvez suivre quels services réseau fonctionnent sur votre serveur. Vous pouvez vérifier que tous les services nécessaires sont opérationnels (comme SSH, HTTP et les bases de données) et qu'il n'y a pas de services inattendus en écoute.

C'est aussi une pratique de sécurité importante. En surveillant les ports en écoute, vous pouvez détecter tout service non autorisé qui aurait pu être installé par un attaquant ou une application malveillante. Si vous voyez des services ou des ports non familiers, vous pouvez utiliser le PID pour enquêter sur le processus associé.

De plus, vous pouvez utiliser netstat pour dépanner les problèmes de service. Si un service ne répond pas, vous pouvez vérifier avec netstat qu'il fonctionne et écoute sur le bon port. S'il écoute mais ne répond pas, vous devrez peut-être vérifier les logs du service ou le redémarrer.

En résumé, l'exécution de netstat -tulpn devrait faire partie de votre routine régulière de gestion de serveur Linux. C'est un moyen rapide et facile de surveiller vos services réseau, de détecter les problèmes potentiels et de maintenir vos serveurs sécurisés. Combiné à d'autres outils comme ps, lsof et la surveillance des logs, netstat est un élément clé d'une stratégie complète de gestion de serveur.

Netstat comme outil de surveillance

Utiliser Netstat avec des systèmes de surveillance

Netstat est utile pour plus que le dépannage interactif. Il peut également être intégré à des systèmes de surveillance pour une surveillance automatique du réseau. En analysant la sortie des commandes netstat, vous pouvez envoyer des données de connexion et de statistiques réseau dans des outils comme Nagios ou Prometheus.

Cela vous permet de mettre en place des vérifications et des alertes automatiques pour les problèmes réseau. Par exemple, vous pourriez créer une alerte qui se déclenche lorsque le nombre de connexions établies à un port spécifique dépasse une limite, ou lorsque le nombre de paquets UDP abandonnés par une interface augmente.

En intégrant netstat à votre système de surveillance, vous pouvez détecter et résoudre les problèmes réseau avant qu'ils n'affectent les utilisateurs. Au lieu d'exécuter manuellement netstat lorsqu'un problème est signalé, votre système de surveillance peut constamment vérifier les métriques netstat et vous alerter des problèmes potentiels.

Ce type de surveillance automatique est particulièrement utile pour les réseaux importants ou complexes, où une vérification manuelle n'est pas pratique. C'est également utile pour détecter des problèmes intermittents qui pourraient être manqués par des vérifications ponctuelles.

Scripter avec Netstat pourune surveillance automatique

Pour utiliser pleinement netstat pour la surveillance, il est souvent utile d'utiliser des scripts pour automatiser la collecte et le traitement des données netstat. Des scripts shell simples peuvent exécuter des commandes netstat selon un calendrier, analyser la sortie et envoyer les données dans un système de surveillance ou un fichier journal.

Pour un traitement plus complexe, vous pourriez utiliser un langage de script comme Python pour travailler et analyser les données netstat. Par exemple, un script Python pourrait :

  1. Exécuter netstat -i pour obtenir les statistiques d'interface
  2. Analyser la sortie pour extraire les octets envoyés et reçus pour chaque interface
  3. Calculer le changement d'octets au fil du temps pour obtenir l'utilisation de la bande passante
  4. Vérifier l'utilisation de la bande passante par rapport à des limites définies
  5. Envoyer une alerte si des limites sont dépassées

En scriptant netstat, vous pouvez créer des solutions de surveillance personnalisées adaptées aux besoins spécifiques de votre réseau. Vous pouvez définir vos propres métriques, limites et conditions d'alerte, et faire exécuter le script selon un calendrier qui convient à votre environnement.

Le scripting permet également une analyse de données plus avancée. Vous pourriez avoir un script qui combine les données netstat au fil du temps et génère des rapports sur les tendances d'utilisation du réseau à long terme. Ou vous pourriez comparer les données netstat avec d'autres métriques système pour trouver les causes profondes des problèmes de performance.

Que vous utilisiez des scripts shell simples ou des programmes Python plus avancés, le scripting est un moyen puissant d'automatiser la surveillance netstat et d'obtenir plus de valeur à partir des données netstat.

En conclusion, netstat n'est pas seulement un outil de dépannage ponctuel, mais une source de données précieuse pour la surveillance continue du réseau. En intégrant netstat à des systèmes de surveillance et en utilisant des scripts pour automatiser la collecte et l'analyse des données, vous pouvez gérer activement la santé et les performances de votre réseau. Avec un peu de configuration, netstat peut être au cœur d'une solution solide de surveillance réseau.

Netstat et la sécurité réseau

Identifier l'activité réseau suspecte

Netstat est un outil utile pour détecter l'activité réseau suspecte sur votre système Linux. En utilisant la commande `netstat -anp`, vous pouvez afficher toutes les connexions réseau actives avec les processus associés.

Cette sortie peut vous aider à identifier des connexions inhabituelles ou non autorisées qui pourraient indiquer une violation de sécurité ou une infection par un logiciel malveillant. Voici ce qu'il faut rechercher :

  • Adresses locales ou distantes non familières : Les connexions vers ou depuis des adresses IP que vous ne connaissez pas pourraient être un signe d'accès non autorisé.
  • Ports inattendus : Les connexions sur des ports inhabituels, en particulier des ports à numéros élevés, pourraient indiquer une activité malveillante ou une porte dérobée.
  • Processus inconnus : Les connexions liées à des processus non familiers pourraient signifier qu'un attaquant a installé un logiciel non autorisé.

Par exemple, si vous voyez une connexion comme celle-ci :

tcp   0   0 192.168.1.100:22 192.168.1.50:12345 ESTABLISHED 1234/sshd  

Cela montre une connexion SSH de 192.168.1.50 à votre système (192.168.1.100) sur le port 22. Si vous n'attendez pas d'accès SSH depuis cette IP, cela pourrait être une tentative de connexion non autorisée.

De même, une ligne comme celle-ci :

tcp   0   0 192.168.1.100:31337 1.2.3.4:80 ESTABLISHED 5678/processus_mystere

Pourrait être très suspecte. Elle montre une connexion sortante de votre système vers une IP non familière sur le port 31337, qui est souvent utilisé par des chevaux de Troie et des portes dérobées. Le nom de processus non familier ajoute à la préoccupation.

En vérifiant régulièrement netstat -anp, vous pouvez détecter ces types de signaux d'alerte tôt. Cela vous permet d'enquêter plus en profondeur avec des outils comme lsof, ps et l'analyse des journaux pour déterminer s'il y a un réel problème de sécurité.

Il est bon d'effectuer cette vérification régulièrement et chaque fois que vous voyez des signes d'une possible violation, comme une utilisation élevée du CPU ou des entrées de journal suspectes. En utilisant netstat pour détecter et répondre rapidement aux problèmes de sécurité, vous pouvez réduire les dommages et maintenir votre système Linux en sécurité.

Points clés à retenir

  • netstat -a affiche toutes les connexions réseau actives, donnant une image claire de l'état de votre réseau
  • Utilisez des options comme -t, -u, et -l pour filtrer les connexions TCP, UDP ou les ports en écoute
  • netstat -i affiche des statistiques précieuses sur vos interfaces réseau pour identifier les problèmes de performance
  • Surveillez l'activité réseau en temps réel avec netstat -c et trouvez quels processus utilisent quels ports avec netstat -p
  • Analysez le trafic avec netstat -s pour voir des statistiques détaillées pour chaque protocole et détecter les problèmes potentiels