15%

Économisez 15% sur tous les services d'hébergement

Testez vos compétences et obtenez Réduction sur tout plan d'hébergement

Utilisez le code :

Skills
Commencer
25.12.2024

Vérification des ports ouverts et à l’écoute sous Linux à l’aide de Netstat et SS

La surveillance des ports ouverts et à l’écoute sur un système Linux est l’une des pratiques les plus fondamentales pour maintenir la sécurité des serveurs, diagnostiquer les problèmes réseau et gérer votre infrastructure efficacement. Que vous exécutiez un serveur web de production, un environnement VPS Hosting, ou un Dedicated Server, comprendre exactement quels ports sont ouverts — et quels services y sont liés — vous donne la visibilité nécessaire pour prévenir les accès non autorisés, détecter les erreurs de configuration et éliminer les surfaces d’attaque inutiles.

Dans ce guide complet, nous vous montrerons comment utiliser les commandes netstat et ss pour vérifier les ports ouverts et à l’écoute sur n’importe quel système Linux, comparer leurs forces et présenter des outils supplémentaires tels que lsof et nmap pour une analyse réseau plus approfondie.

Pourquoi la surveillance des ports ouverts est importante

Chaque port ouvert sur votre serveur représente un point d’entrée potentiel. Les services mal configurés, obsolètes ou simplement oubliés peuvent exposer votre système à l’exploitation. L’audit régulier de vos ports à l’écoute vous permet de :

  • Identifier les services non autorisés s’exécutant sur des ports inattendus
  • Détecter les tentatives d’intrusion ou les processus compromis
  • Vérifier que les règles de pare-feu fonctionnent comme prévu
  • Confirmer que les applications nouvellement déployées se lient aux bonnes interfaces
  • Fermer les ports inutilisés pour réduire votre surface d’attaque

Ceci est particulièrement critique pour les administrateurs gérant des environnements Shared Web Hosting ou des serveurs multi-locataires où plusieurs services s’exécutent simultanément.

Comprendre les ports et leurs types

Avant de plonger dans les outils, il est important de comprendre la terminologie que vous rencontrerez dans la sortie des commandes.

TermeDescription
Port ouvertUn port sur lequel une application écoute activement les connexions entrantes
Port à l’écouteUn port lié à un service qui attend le trafic réseau
TCP (Transmission Control Protocol)Orienté connexion, fiable, utilisé par HTTP, SSH, FTP, etc.
UDP (User Datagram Protocol)Sans connexion, plus rapide mais moins fiable, utilisé par DNS, NTP, etc.

Vérification des ports avec netstat

Qu’est-ce que netstat ?

netstat (statistiques réseau) est un utilitaire classique de ligne de commande qui fournit des informations détaillées sur les connexions réseau, les tables de routage, les statistiques d’interface et les ports à l’écoute. Bien qu’il ait été officiellement déprécié en faveur de ss sur les distributions modernes, il reste largement utilisé et se trouve toujours sur de nombreux systèmes hérités.

Installation de netstat

La commande netstat fait partie du paquet net-tools, qui peut ne pas être installé par défaut sur les distributions Linux modernes.

Debian / Ubuntu :

sudo apt install net-tools

CentOS / RHEL / AlmaLinux / Rocky Linux :

sudo yum install net-tools

Utilisation de netstat pour vérifier les ports ouverts et à l’écoute

Pour afficher tous les ports TCP et UDP à l’écoute sur votre système, exécutez la commande suivante :

sudo netstat -tuln

Détail des drapeaux :

DrapeauDescription
-tAfficher les ports TCP
-uAfficher les ports UDP
-lAfficher uniquement les ports à l’écoute
-nAfficher les adresses numériques au lieu de résoudre les noms d’hôtes

Exemple de sortie

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  0.0.0.0:80        0.0.0.0:*         LISTEN
tcp6        0       0  :::443            :::*              LISTEN
udp         0       0  0.0.0.0:53        0.0.0.0:*

Comprendre les colonnes de sortie

  • Adresse locale — L’adresse IP et le numéro de port où le service écoute. 0.0.0.0 signifie que le service écoute sur toutes les interfaces disponibles.
  • Adresse distante — L’IP distante et le port pour les connexions actives. Un astérisque (*) signifie qu’aucune connexion n’est établie.
  • État — L’état de la connexion. LISTEN indique que le port est ouvert et attend les connexions entrantes.

Filtrage des ports spécifiques avec netstat

Vous pouvez rediriger la sortie via grep pour isoler un port ou un service spécifique. Par exemple, pour vérifier si quelque chose écoute sur le port 80 (HTTP) :

sudo netstat -tuln | grep ":80"

Pour vérifier le port 443 (HTTPS), qui est essentiel pour les serveurs avec SSL Certificates installés :

sudo netstat -tuln | grep ":443"

Pour afficher également le nom du processus et le PID responsables de chaque connexion, ajoutez le drapeau -p :

sudo netstat -tulnp

Vérification des ports avec ss

Qu’est-ce que ss ?

ss (statistiques de socket) est le remplaçant moderne de netstat. Il est plus rapide, plus efficace et fournit une sortie plus riche — particulièrement sur les systèmes avec un grand nombre de connexions simultanées. La commande ss est incluse par défaut sur pratiquement toutes les distributions Linux modernes et ne nécessite aucune installation supplémentaire.

Utilisation de ss pour vérifier les ports ouverts et à l’écoute

La syntaxe de ss ressemble étroitement à celle de netstat, ce qui rend la transition simple :

ss -tuln

Détail des drapeaux :

DrapeauDescription
-tAfficher les sockets TCP
-uAfficher les sockets UDP
-lAfficher uniquement les sockets à l’écoute
-nAfficher les adresses numériques

Exemple de sortie

Netid  State   Recv-Q  Send-Q  Local Address:Port   Peer Address:Port
tcp    LISTEN  0       128     0.0.0.0:22            0.0.0.0:*
tcp    LISTEN  0       511     0.0.0.0:80            0.0.0.0:*
tcp    LISTEN  0       511        [::]:443             [::]:*
udp    UNCONN  0       0       0.0.0.0:53            0.0.0.0:*

Utilisation avancée de ss

La commande ss offre une gamme d’options de filtrage et d’affichage avancées qui vont bien au-delà de ce que netstat peut fournir.

Afficher uniquement les ports TCP à l’écoute

ss -tl

Afficher uniquement les ports UDP à l’écoute

ss -ul

Afficher les noms de processus et les PIDs

Pour identifier exactement quel processus utilise un port spécifique, utilisez le drapeau -p :

ss -tulnp

C’est l’une des commandes les plus utiles pour le dépannage — elle affiche le nom du processus et le PID à côté de chaque socket à l’écoute, ce qui rend immédiatement clair quelle application possède quel port.

Exemple de sortie avec le drapeau -p

Netid  State   Local Address:Port   Process
tcp    LISTEN  0.0.0.0:80           users:(("nginx",pid=1234,fd=6))
tcp    LISTEN  0.0.0.0:22           users:(("sshd",pid=987,fd=3))
tcp    LISTEN  0.0.0.0:3306         users:(("mysqld",pid=2345,fd=21))

Filtrer par un port spécifique

Pour vérifier quel processus écoute sur le port 8080 :

ss -tulnp | grep ":8080"

Afficher toutes les connexions TCP établies

ss -tn state established

Afficher les statistiques récapitulatives

ss -s

Cela fournit un résumé rapide des sockets totaux par type et état — utile pour détecter les volumes de connexion inhabituels.

netstat vs. ss : Une comparaison directe

Fonctionnalité`netstat``ss`
PerformancePlus lent sur les systèmes chargésSignificativement plus rapide
Disponibilité par défautNécessite le paquet net-toolsPré-installé sur les distributions modernes
Options de filtrageBasique (grep requis)Filtres avancés intégrés
Informations sur le processusDisponible avec -pDisponible avec -p
Détail de la sortieStandardInformations de socket plus détaillées
Recommandé pourSystèmes hérités, familiaritéEnvironnements Linux modernes

Quand utiliser netstat

  • Sur les anciens systèmes Linux où ss n’est pas disponible
  • Lors du travail avec des scripts ou de la documentation écrite autour de la syntaxe netstat
  • Pour les vérifications rapides sur les systèmes où net-tools est déjà installé

Quand utiliser ss

  • Sur n’importe quelle distribution Linux moderne (Ubuntu 20.04+, CentOS 8+, Debian 10+, etc.)
  • Quand vous avez besoin d’une sortie plus rapide sur les serveurs à fort trafic
  • Pour le filtrage avancé et l’analyse détaillée des sockets

Outils supplémentaires pour l’audit des ports

Au-delà de netstat et ss, plusieurs autres utilitaires sont précieux pour un audit complet des ports.

Utilisation de lsof

lsof (lister les fichiers ouverts) traite les sockets réseau comme des fichiers, ce qui en fait un autre moyen puissant d’identifier quel processus utilise un port donné.

Pour vérifier quel processus est lié au port 80 :

sudo lsof -i :80

Pour vérifier tous les ports à l’écoute :

sudo lsof -i -P -n | grep LISTEN

Exemple de sortie :

COMMAND   PID     USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
nginx    1234     root   6u  IPv4   23456      0t0  TCP *:80 (LISTEN)
sshd      987     root   3u  IPv4   12345      0t0  TCP *:22 (LISTEN)

Utilisation de nmap

nmap est un outil puissant d’analyse réseau qui peut détecter les ports ouverts à la fois localement et sur les hôtes distants. Il est particulièrement utile pour vérifier votre configuration de pare-feu d’une perspective externe.

Installez nmap s’il n’est pas déjà présent :

sudo apt install nmap       # Debian/Ubuntu
sudo yum install nmap       # CentOS/RHEL

Analysez tous les ports TCP sur la machine locale :

sudo nmap -sT localhost

Analysez les ports ouverts sur une adresse IP spécifique :

sudo nmap -sV 192.168.1.100

Le drapeau -sV tente également de détecter la version du service s’exécutant sur chaque port ouvert, ce qui est inestimable pour identifier les logiciels obsolètes ou vulnérables.

> Note de sécurité : Exécutez uniquement les analyses nmap sur les systèmes que vous possédez ou pour lesquels vous avez une permission explicite.

Flux de travail pratique de sécurité : Audit des ports de votre serveur

Voici un flux de travail étape par étape recommandé pour auditer les ports ouverts sur un serveur Linux

15%

Économisez 15% sur tous les services d'hébergement

Testez vos compétences et obtenez Réduction sur tout plan d'hébergement

Utilisez le code :

Skills
Commencer