La commande `ss` signifie “**s**ocket **s**tatistics” ou statistiques de socket en français. L'outil est conçu pour fournir des informations détaillées sur les sockets par exemple : - Vérifier que le service apache2 (serveur HTTP) est bien en écoute sur le port TCP 80. - Identifier les ports ouverts pour identifier les services actuellement installés sur la machine. > [!info] À savoir !<span style="font-weight: normal; color: var(--text-normal)"> Vous devez disposer des privilèges "*root*" avec `su` ou avec `sudo`.</span> Pour afficher tous les ports ouverts, vous pouvez exécuter : ```shell sudo ss -tulnp ``` Pour filtrer les résultats sur un port spécifique, utilisez **grep**. Par exemple pour afficher le port "**22**" SSH : ```shell sudo ss -tulnp | grep :22 ``` Voici la présentation des options utilisées et un exemple de sortie de commande : - `-t` : affiche les connexions TCP. - `-u` : affiche les connexions UDP. - `-l` : liste les ports en écoute (listening). - `-n` : force l’affichage des adresses et des ports en format numérique (pas de traduction) - `-p` : affiche le PID et le nom du processus. ![[_png-kb-lnx-lister-ports-tcp-udp-ss.png]] # Conclusion Nous vous recommandons d'utiliser la commande `ss` car cette commande est l'approche la plus moderne. En alternative, la commande `lsof` (cf. [[kb-lnx-lister-ports-tcp-udp-lsof|Lister les ports ouverts avec lsof]]) peut fournir le même résultat en s'appuyant sur l'état des fichiers ouverts. La commande `netstat` est encore utilisée, mais elle est dépréciée et à éviter (cf. [[kb-lnx-lister-ports-tcp-udp-netstat|Lister les ports ouverts avec netstat]]). ## Références - IT-CONNECT : [Lister les ports en écoute sous Linux avec lsof, netstat et ss](https://www.it-connect.fr/lister-les-ports-en-ecoute-sous-linux-avec-lsof-netstat-et-ss/). - Liste de distribution Debian : Message des développeurs [net-tools fututre](https://lists.debian.org/debian-devel/2009/03/msg00780.html) (2009).