Vérifier les ports ouverts et à l’écoute sous Linux à l’aide de netstat et ss
La surveillance des ports ouverts et en écoute sur un système Linux est essentielle pour la sécurité, le dépannage du réseau et l’administration du système. Savoir quels ports sont utilisés et par quels services peut aider à détecter des vulnérabilités potentielles ou des accès non autorisés. Deux outils couramment utilisés à cette fin sont netstat et ss.
Dans cet article, nous verrons comment utiliser les commandes netstat et ss pour vérifier les ports ouverts et en écoute sur un système Linux.
1. Comprendre les ports et leurs types
Avant de nous plonger dans les outils, il est important de comprendre les principaux types de ports que vous pouvez rencontrer :
- Ports ouverts: Il s’agit des ports sur lesquels les applications écoutent activement les connexions.
- Ports en écoute: Il s’agit de ports sur lesquels un service ou une application s’est connecté et attend activement le trafic réseau entrant.
- Protocoles courants:
- TCP: Transmission Control Protocol (fiable, basé sur des connexions).
- UDP: User Datagram Protocol (sans connexion, moins fiable, mais plus rapide).
2. Vérification des ports avec netstat
Qu’est-ce que netstat ?
netstat est un outil de ligne de commande classique qui fournit des statistiques réseau et des informations sur les connexions réseau, y compris les ports ouverts et les ports d’écoute. Bien qu’il ait été abandonné au profit d’outils plus récents comme ss, il est encore largement utilisé.
Installation de netstat
netstat fait partie du paquetage net-tools. Sur les distributions Linux modernes, il se peut que vous deviez l’installer manuellement :
- Debian/Ubuntu:
- CentOS/RHEL:
Utilisation de netstat pour vérifier les ports ouverts et en écoute
Pour vérifier tous les ports d’écoute de votre système, y compris TCP et UDP, utilisez la commande suivante :
- –t: Affiche les ports TCP.
- –u: Affiche les ports UDP.
- –l: Affiche uniquement les ports d’écoute.
- –n: Affiche les adresses numériques au lieu de résoudre les noms d’hôtes et les services.
Exemple de sortie:
- Adresse locale: L’IP et le port sur lesquels le service est à l’écoute.
- Adresse étrangère: L’adresse IP et le port du client distant (pour les connexions actives).
- State (État): L’état de la connexion (par exemple, LISTEN pour les ports ouverts).
Filtrage de ports ou de services spécifiques avec netstat
Vous pouvez filtrer la sortie pour vous concentrer sur des ports ou des services spécifiques. Par exemple, pour vérifier les ports liés à HTTP (port 80):
Cela affichera tous les services écoutant sur le port 80.
3. Vérifier les ports avec ss
Qu’est-ce que ss ?
ss est un utilitaire moderne qui a remplacé netstat sur de nombreuses distributions Linux. Il est plus rapide et plus efficace que netstat, en particulier lorsqu’il s’agit de traiter un grand nombre de connexions. ss peut afficher les ports ouverts, des informations sur les sockets réseau, etc.
Utilisation de ss pour vérifier les ports ouverts et à l’écoute
La syntaxe de ss est assez similaire à celle de netstat. Pour vérifier tous les ports TCP et UDP en écoute, utilisez :
- –t: Affiche les sockets TCP.
- –u: Affiche les sockets UDP.
- –l: Affiche uniquement les sockets en écoute.
- –n: Affiche les adresses numériques (ne résout pas les noms d’hôtes).
Exemple de sortie:
Cette sortie montre tous les ports en écoute et leur état (similaire à netstat).
Utilisation avancée des ss
ss propose des options plus avancées pour filtrer et afficher les connexions en fonction de différents critères.
Afficher uniquement les ports TCP en écoute:
Affiche uniquement les ports UDP en écoute :
Affiche les ports d’écoute par ID de processus (PID):
Pour voir quel processus est associé à un port d’écoute, utilisez :
L’option p indique le processus qui utilise le port, ce qui est utile pour le dépannage.
4. Comparaison entre netstat et ss
Les fonctions de netstat et de ss sont similaires, mais il existe des différences qui méritent d’être soulignées :
- Vitesse et efficacité: ss est plus rapide que netstat et consomme moins de ressources. Il peut gérer un grand nombre de connexions de manière plus efficace.
- Disponibilité: ss est inclus par défaut dans la plupart des distributions Linux modernes, alors que netstat nécessite l’installation du paquetage net-tools sur certains systèmes.
- Format de sortie: Les deux fournissent des informations détaillées sur les ports et les connexions, mais ss dispose de plus d’options pour filtrer et afficher des informations spécifiques.
Quand utiliser netstat?
- Lorsque vous travaillez sur des systèmes Linux plus anciens.
- Lorsque vous êtes familier avec la syntaxe de netstat et que vous ne voulez pas changer.
Quand utiliser ss :
- Lorsque vous avez besoin de meilleures performances, en particulier sur les systèmes comportant un grand nombre de connexions.
- Pour un filtrage et une analyse de réseau plus avancés.
5. Autres outils de vérification des ports ouverts
Outre netstat et ss, il existe d’autres outils que vous pouvez utiliser pour vérifier les ports ouverts et en écoute sous Linux :
lsof liste les fichiers ouverts, ce qui peut inclure les sockets réseau. Vous pouvez l’utiliser pour vérifier quel processus écoute sur un port spécifique
Ceci montre les processus utilisant le port 80.
nmap est un outil d’analyse du réseau qui peut être utilisé pour vérifier les ports ouverts sur un système.
Cette commande analyse les ports TCP sur l’hôte local.
Conclusion
La surveillance des ports ouverts et à l’écoute est une tâche essentielle pour les administrateurs système, et des outils comme netstat et ss facilitent cette tâche. Bien que netstat soit encore utilisé sur les systèmes plus anciens, ss est devenu l’outil préféré en raison de sa rapidité et de son efficacité. Que vous dépanniez des problèmes de réseau ou que vous sécurisiez votre serveur Linux, ces outils vous aideront à suivre les services actifs et à vous assurer que vos ports sont correctement gérés.
Utilisez netstat si vous êtes plus familier avec, ou passez à ss pour une surveillance plus rapide et plus efficace des ports ouverts et à l’écoute de votre système.
N’hésitez pas à me contacter si vous avez besoin de précisions ou d’aide !