Skip to content

Vérifier quels ports sont ouverts (Windows, Linux)

Vérifiez les ports ouverts et en écoute sous Windows, Linux et macOS, associez un PID à son processus et scannez un hôte distant avec Nmap. Commandes prêtes à copier.

Publié le 3 min de lecture

Quand une connexion échoue, qu'un port est déjà pris ou que vous suspectez un service inattendu exposé, la première étape est de voir quels ports sont ouverts. Ce guide montre comment lister les ports en écoute sur votre propre machine sous Windows, Linux et macOS, comment associer un port au processus qui le possède, et comment scanner un hôte distant. Partout, remplacez <target> par un hôte que vous êtes autorisé à tester.

Ports en écoute vs ports accessibles

Il y a deux questions à bien distinguer. Qu'est-ce qui écoute sur cette machine ? se répond localement avec les outils intégrés. Que peut réellement atteindre le monde extérieur ? dépend des pare-feux et du NAT, et se répond en scannant depuis une autre machine. Un service lié au port 3306 (MySQL) peut être en écoute tout en étant coupé d'Internet par un pare-feu. Vérifiez les deux points de vue.

Windows

Ouvrez une Invite de commandes ou PowerShell en mode administrateur pour voir les propriétaires de processus.

# Tous les ports TCP/UDP en écoute avec le PID propriétaire
netstat -ano | findstr LISTENING

# Filtrer sur un port, par ex. RDP sur 3389
netstat -ano | findstr :3389

La dernière colonne est le PID. Associez-le à un programme :

tasklist /FI "PID eq 1234"

PowerShell offre une vue plus propre, orientée objet :

# Sockets TCP en écoute, API la plus récente
Get-NetTCPConnection -State Listen | Sort-Object LocalPort

# Joindre le port à un nom de processus
Get-NetTCPConnection -State Listen |
  Select-Object LocalPort, OwningProcess,
  @{Name='Process';Expression={(Get-Process -Id $_.OwningProcess).ProcessName}}

Sous Windows, vous verrez couramment en écoute le port 135 (RPC), le port 139 et le port 445 (SMB), le port 3389 (RDP) et le port 5985 (WinRM).

Linux

ss est le remplaçant moderne de netstat et est préinstallé sur la plupart des distributions.

# TCP + UDP, en écoute uniquement, numérique, avec le processus (sudo pour les noms)
sudo ss -tulpn

Les indicateurs se lisent tcp, udp, listening (en écoute), numérique, processus. Si ss n'est pas disponible, la commande classique est équivalente :

sudo netstat -tulpn

Pour savoir exactement ce qui maintient un port ouvert, utilisez lsof :

# Qui écoute sur le port 22 ?
sudo lsof -i :22

# Tout ce qu'un PID donné a ouvert
sudo lsof -p 1234

Un serveur Linux typique montre le port 22 (SSH), le port 80 (HTTP), le port 443 (HTTPS), et parfois le port 5432 (PostgreSQL) ou le port 6379 (Redis).

macOS

macOS est livré avec lsof, qui est le moyen le plus fiable de lister les sockets en écoute. Le netstat de macOS n'affiche pas les PID, préférez donc lsof.

# Tous les ports TCP/UDP en écoute avec noms de processus et ports numériques
sudo lsof -i -P -n | grep LISTEN

# Un seul port
sudo lsof -i :5900 -P -n

L'option -P garde les ports en numérique et -n saute les résolutions DNS, pour une sortie rapide et sans ambiguïté. Sur un Mac, vous pourriez repérer le port 5900 (VNC/partage d'écran) ou le port 631 (impression CUPS).

Associer un PID à un processus

Le PID est le pont entre un port et un programme. Une fois qu'une commande ci-dessus vous a donné le PID, retrouvez le nom :

# Linux / macOS
ps -p 1234 -o pid,comm,args
# Windows
tasklist /FI "PID eq 1234"

Si vous ne reconnaissez pas le service, recherchez le port. Par exemple, un service inattendu en écoute sur le port 23 (Telnet) ou le port 1433 (SQL Server) mérite enquête, et le port 161 (SNMP) exposé à Internet est une erreur de configuration classique.

Scanner un hôte distant

Les outils locaux ne montrent que ce qu'une machine croit écouter. Pour savoir ce qui est accessible, scannez depuis ailleurs avec Nmap :

# Ports TCP courants sur un hôte que vous possédez
nmap <target>

# Ports spécifiques, par ex. les piles mail et web
nmap -p 25,143,443,8080 <target>

C'est ainsi que vous confirmez si le port 25 (SMTP), le port 143 (IMAP) ou le port 8080 (HTTP alt) sont réellement ouverts sur le réseau plutôt que simplement en écoute en local.

Une note sur la légalité

Ne scannez que les systèmes que vous possédez ou que vous êtes explicitement autorisé par écrit à tester. Un scan non autorisé peut enfreindre les lois sur la fraude informatique et déclencher les systèmes de détection d'intrusion. Lister les ports de votre propre machine est toujours permis ; scanner celle d'autrui ne l'est pas.

Conclusion

Utilisez netstat -ano ou Get-NetTCPConnection sous Windows, ss -tulpn ou lsof -i sous Linux, et lsof -i -P sous macOS pour voir ce qui écoute, puis associez le PID à un processus pour savoir exactement à quoi appartient chaque port. Scannez avec Nmap pour confirmer ce qui est accessible de l'extérieur. Pour identifier n'importe quel numéro que vous trouvez, parcourez tous les ports sur ProtocolPorts.

Articles liés

Ports liés aux chevaux de Troie, backdoors et C2 — NetBus, Back Orifice, ingreslock, Meterpreter et services légitimes détournés — et comment détecter une compromission.
Une fiche de référence des ports TCP et UDP courants regroupés par usage — web, messagerie, transfert de fichiers, accès distant, bases de données et infrastructure.
Apprenez à fermer un port correctement : arrêter le service vs le bloquer au pare-feu. Couvre le pare-feu Windows, ufw, firewalld, iptables et la désactivation des services.