La plupart des gens pensent que la vérification des ports ouverts est réservée aux experts en sécurité, jusqu'au jour où leur serveur est compromis via un port exposé dont ils ignoraient même l'existence. Sous Linux, vous pouvez vérifier les ports ouverts avec des commandes intégrées comme netstat, ss, lsof, nmap et netcat, ou effectuer un scan distant depuis des systèmes Windows via PowerShell. Chaque méthode offre un niveau de détail différent et requiert des permissions spécifiques.
La gestion des ports est plus importante que jamais. Les activités de reconnaissance automatisée ne cessent d'augmenter, et les attaquants sondent en permanence les points d'entrée vulnérables. Que vous sécurisiez des serveurs de production ou testiez des services locaux, maîtriser la sécurité des ports est indispensable pour maintenir un système fiable et sûr.
TL;DR : résumé rapide
- Utilisez ss ou netstat pour vérifier rapidement les ports en écoute, sans installer d'outils supplémentaires
- Déployez nmap lorsque vous avez besoin d'un scan complet avec détection détaillée des services
- Utilisez lsof pour identifier quel processus utilise un port précis
- Utilisez Test-NetConnection de PowerShell depuis Windows pour vérifier les ports sur des serveurs Linux distants
Qu'est-ce qu'un port, en termes simples ?

Imaginez les ports comme des portes numérotées sur votre serveur. Chaque port est un point de communication par lequel le trafic réseau entre ou sort de votre système. Les numéros de port vont de 0 à 65 535, répartis en trois catégories : les ports bien connus (0-1023), les ports enregistrés (1024-49151) et les ports dynamiques (49152-65 535).
En termes simples : quand vous naviguez sur un site web, votre navigateur frappe à la porte du port 80 pour HTTP, ou du port 443 pour HTTPS. Les serveurs de messagerie répondent sur le port 25 pour SMTP, tandis que l'accès distant SSH fonctionne sur le port 22. Ces ports en écoute servent de passerelles pour le trafic légitime, mais ils peuvent aussi devenir des points d'entrée pour les attaquants s'ils ne sont pas protégés.
Les ports fonctionnent avec deux principaux protocoles de transport : TCP pour une communication fiable et orientée connexion, et UDP pour un transfert de données plus rapide et sans connexion. Comprendre le fonctionnement des ports vous aide à décider lesquels garder ouverts et lesquels fermer pour renforcer la sécurité.
Comment vérifier les ports ouverts sous Linux

Linux propose plusieurs outils d'analyse des ports, chacun avec ses propres avantages. Certains sont préinstallés, d'autres nécessitent une installation. Le bon choix dépend de vos permissions, du niveau de détail requis et de votre cas d'usage.
Utiliser la commande netstat
La commande netstat est un outil fiable pour l'analyse réseau depuis des décennies. Pour vérifier les ports ouverts, utilisez netstat -tuln où chaque option a un rôle précis : -t affiche les connexions TCP, -u affiche les connexions UDP, -l filtre sur les ports en écoute uniquement, et -n présente les résultats en format numérique plutôt que de résoudre les noms d'hôtes.
Lorsque vous exécutez cette commande, la sortie affiche le protocole, l'adresse locale avec le numéro de port, l'adresse distante et l'état de la connexion. Par exemple, 0.0.0.0:22 indique que SSH écoute sur toutes les interfaces réseau sur le port 22. Chaque entrée offre une visibilité immédiate sur les services actifs et leur état réseau.
La Commande netstat sous Linux propose des options supplémentaires pour une analyse plus détaillée. L'option -p indique quel processus est propriétaire de chaque connexion, mais nécessite les droits root. Par exemple, sudo netstat -tulnp affiche à la fois le port et l'identifiant du processus qui l'utilise.
La commande ss
La commande ss est le remplaçant moderne de netstat : elle offre de meilleures performances et des statistiques de sockets plus détaillées. Utilisez ss -tuln avec les mêmes options que netstat pour un résultat comparable. ss traite toutefois les informations plus rapidement, en particulier sur les systèmes gérant de nombreuses connexions.
Pour vérifier les ports ouverts avec un filtrage avancé, ss propose une syntaxe puissante. La commande ss -tulnp | grep :22 n'affiche que les connexions liées à SSH. La commande ss -tn state established liste toutes les connexions TCP établies, ce qui permet de surveiller les sessions actives.
L'un des atouts de ss est sa capacité à filtrer selon des critères précis. Par exemple, ss -t '( dport = :80 or sport = :80 )' n'affiche que les connexions liées au trafic web sur le port 80. Cette précision fait de ss un outil indispensable pour diagnostiquer des problèmes sur un service spécifique.
La commande lsof
La commande lsof est particulièrement efficace pour identifier quel processus utilise un port donné. La commande sudo lsof -i -P -n affiche toutes les connexions réseau avec les détails des processus associés. L'option -i filtre les connexions Internet, -P empêche la conversion des numéros de port en noms de service, et -n désactive la résolution DNS pour des résultats plus rapides.
Pour savoir ce qui occupe un port précis, lsof donne la réponse. Par exemple, sudo lsof -i :3306 indique si MySQL est en cours d'exécution et quel identifiant de processus en est propriétaire. C'est particulièrement utile pour diagnostiquer des conflits de ports ou repérer des services non autorisés.
Vous pouvez également filtrer les résultats par application. Si vous suspectez qu'un programme écoute sur des ports inattendus, sudo lsof -i -a -p [PID] affiche toutes les connexions réseau associées à cet identifiant de processus.
Utiliser Nmap pour le scan de ports

Nmap est l'un des outils de scan de ports les plus complets disponibles. Pour commencer, installez-le avec sudo apt install nmap sur les systèmes Ubuntu ou Debian. Pour vérifier les ports en local, utilisez nmap localhost or nmap 127.0.0.1 pour un scan de base.
Pour les serveurs distants, précisez l'adresse IP : nmap 192.168.1.100. Nmap fournit des informations détaillées sur les ports ouverts, les versions des services, et même la détection du système d'exploitation avec des options avancées. La commande nmap -sV localhost effectue la détection des versions de services, révélant exactement quel logiciel tourne sur chaque port.
Les équipes de sécurité apprécient la capacité de Nmap à tester les règles de pare-feu. Lancer nmap -Pn [IP] analyse un hôte même si le ping est bloqué. Assurez-vous toujours d'avoir les autorisations nécessaires avant de scanner des serveurs distants : un scan de ports non autorisé peut enfreindre les politiques de sécurité.
Utiliser Netcat (nc) pour vérifier les ports ouverts
Netcat offre une approche simple et légère pour la vérification des ports. La commande nc -zv localhost 22-80 scanne la plage de ports 22 à 80, en affichant ceux qui acceptent des connexions. L'option -z active le mode scan sans envoi de données, tandis que -v produit une sortie détaillée.
Pour vérifier un port unique, nc -zv hostname 443 confirme rapidement si HTTPS est accessible. Cette méthode est particulièrement utile dans les scripts et les workflows d'automatisation. Vous pouvez combiner netcat avec des boucles shell pour un scan plus large : for port in {1..1000}; do nc -zv localhost $port 2>&1 | grep succeeded; done
La écouteur netcat ses fonctionnalités vont au-delà de la simple vérification de ports : elles permettent de tester des services réels et d'effectuer des transferts de données, ce qui en fait un outil polyvalent dans la boîte à outils de tout administrateur.
Vérifier les ports ouverts avec PowerShell
PowerShell permet aux utilisateurs Windows de vérifier les ports ouverts sur des serveurs Linux distants sans installer de logiciel supplémentaire. La commande Test-NetConnection -ComputerName [Linux-IP] -Port 22 vérifie l'accessibilité de SSH depuis une machine Windows.
Pour scanner plusieurs ports, créez une boucle PowerShell simple : 1..1024 | ForEach-Object { Test-NetConnection -ComputerName 192.168.1.100 -Port $_ -WarningAction SilentlyContinue } | Where-Object { $_.TcpTestSucceeded }. Cette méthode fonctionne efficacement pour vérifier les ports sur Ubuntu, Debian ou toute autre distribution Linux depuis des systèmes Windows.
L'atout de PowerShell réside dans son intégration à l'infrastructure Windows. Vous pouvez exporter les résultats en CSV, envoyer des alertes par e-mail ou déclencher des réponses automatiques selon l'état des ports, ce qui en fait un choix idéal pour surveiller les environnements hybrides.
Comparatif des méthodes de scan de ports
| Outil | Syntaxe de la commande | Idéale pour | Prérequis |
| netstat | netstat -tuln | Aperçu rapide des ports en écoute | Préinstallé sur la plupart des systèmes |
| ss | ss -tuln | Performances élevées, informations détaillées sur les sockets | Préinstallé (Linux récent) |
| lsof | sudo lsof -i -P -n | Identifier quel processus utilise un port | Accès root/sudo requis |
| nmap | nmap localhost | Scan de ports complet | À installer séparément |
| netcat | nc -zv hôte port | Tests simples de connectivité de port | Pré-installé ou installation facile |
| PowerShell | Test-NetConnection | Scan distant depuis Windows | Machine Windows requise |
Ports Linux courants et leurs services associés
| Port | Service | Protocole | Utilisation courante |
| 22 | SSH | TCP | Accès distant sécurisé via Connexion distante SSH |
| 80 | HTTP | TCP | Trafic web non chiffré |
| 443 | HTTPS | TCP | Trafic web chiffré |
| 21 | FTP | TCP | Transferts de fichiers |
| 25 | SMTP | TCP | Envoi d'e-mails |
| 3306 | MySQL | TCP | Connexions à la base de données |
| 5432 | PostgreSQL | TCP | Connexions à la base de données |
La configuration des ports nécessite une connaissance des paramètres de pare-feu et des liaisons de service. De nombreux administrateurs modifient le port SSH dans Linux du port par défaut 22 vers un port non standard, afin de réduire les tentatives d'attaques automatisées. Le Telnet vs SSH débat illustre pourquoi le port 23 (Telnet) doit rester fermé au profit du protocole chiffré SSH du port 22.
Comprendre les ports ouverts sous Linux

Chaque port ouvert représente un point d'entrée potentiel dans votre système. Les risques se sont accentués : l'activité de scan de ports automatisé a bondi de 16,7 % à l'échelle mondiale, les acteurs malveillants sondant en permanence les points d'entrée vulnérables. Ces activités de reconnaissance analysent des milliards de ports chaque mois, à la recherche de services mal configurés ou de logiciels obsolètes.
C'est une réalité, mais que se passe-t-il concrètement quand des attaquants trouvent un port ouvert ? Les états de port racontent l'histoire. Un port en état LISTEN accepte les connexions entrantes, ESTABLISHED indique un transfert de données actif, et TIME_WAIT signale une connexion récemment fermée mais encore suivie. Les attaquants exploitent les ports ouverts par différentes méthodes : attaques par force brute sur SSH (port 22), injection SQL via les ports web (80/443), et exécution de code à distance via des services vulnérables.
Ouvrir des ports en toute sécurité demande une approche défense en profondeur. Commencez par une politique de pare-feu avec refus par défaut. Vérifiez votre configuration avec afficher les règles iptables. N'ouvrez que les ports des services que vous utilisez activement, et fermez-les dès qu'ils ne sont plus nécessaires. Envisagez de changer les ports par défaut des services courants pour limiter l'efficacité des scans automatisés.
L'écosystème Linux a fait face à d'importants défis de sécurité, avec des centaines de vulnérabilités à corriger. Un audit régulier des ports vous permet de détecter les services non autorisés avant les attaquants. Utilisez des outils de transfert de fichiers qui respectent les périmètres de sécurité, comme le transfert de fichiers via SSH plutôt que le protocole non chiffré FTP. Pour déplacer des fichiers entre systèmes, SCP pour copier des fichiers d'un système distant vers un système local garantit un transfert chiffré via le canal sécurisé de SSH.
Les bonnes pratiques incluent la mise en place du port knocking pour les services sensibles, l'utilisation de fail2ban pour bloquer les échecs d'authentification répétés, et la conservation de journaux détaillés des tentatives de connexion. Planifiez des audits de sécurité réguliers pour vérifier quels ports restent ouverts et s'ils servent toujours un usage légitime.
Comment le VPS Linux de Cloudzy simplifie la gestion des ports
La gestion des ports devient bien plus simple avec une infrastructure bien configurée. Les Linux VPS solutions de Cloudzy proposent des paramètres de sécurité préconfigurés, notamment des règles de pare-feu intelligentes et une gestion simplifiée des ports via un panneau de contrôle intuitif. Avec un accès root complet, vous gardez le contrôle total sur les ports à ouvrir ou fermer.
Obtenez un Linux VPS économique ou premium pour héberger votre site web ou votre bureau à distance, au meilleur prix du marché. VPS fonctionne sur Linux KVM pour une meilleure efficacité, sur du matériel performant avec stockage NVMe SSD pour des vitesses accrues.
Lire la suiteLes performances comptent lors de la vérification et de la gestion des ports. Le stockage NVMe de Cloudzy garantit que vos outils de scan de ports fonctionnent efficacement, tandis que des connexions jusqu'à 10 Gbps absorbent un trafic important sans congestion. L'infrastructure tire parti du fait que Linux alimente une part significative des serveurs mondiaux, ce qui rend ces configurations optimisées éprouvées et fiables.
À partir de 3,96 $ par mois, vous disposez d'un environnement professionnel idéal pour pratiquer les techniques de gestion des ports. Plusieurs emplacements de centres de données vous permettent de tester des configurations géo-distribuées, tandis que le support 24h/24 et 7j/7 vous accompagne sur les configurations de pare-feu complexes ou les problèmes liés aux ports. Que vous appreniez à vérifier les ports ouverts sous Linux ou que vous déployiez des services en production, un environnement VPS flexible accélère la mise en œuvre de votre sécurité.
Conclusion
Alors, quelle est la meilleure façon de vérifier les ports ouverts ? Pour être direct : il n'y en a pas une seule. Pour des vérifications locales rapides, ss ou netstat font le travail sans chichis. Pour des audits de sécurité complets, Nmap révèle tout. Pour identifier quel processus utilise un port, lsof vous évite des heures de tâtonnement. PowerShell fait le lien entre Windows et Linux quand vous avez besoin d'une vérification à distance.
La vraie leçon ici n'est pas de mémoriser des commandes. C'est de faire de l'audit des ports une routine, et non une réaction de panique. Planifiez des scans hebdomadaires, fermez les ports inutilisés dès que vous les repérez, et documentez quels services nécessitent quels ports. Cette approche transforme la vérification des ports : vous passez d'une défense réactive à une défense proactive.