Skip to content

Référence des ports

Port 5000 (TCP) – UPnP / serveur de développement courant

Un port très surchargé utilisé par les points de contrôle UPnP, le serveur de dev Flask, le registre Docker et AirPlay de macOS (Centre de contrôle).

tcpRegistered

En bref

Transport
tcp
Catégorie
Registered
Niveau de risque
Élevé

Souvent ciblé — limitez l'exposition et durcissez-le.

État par défaut

Variable selon le service. Le serveur de dev Flask et le registre Docker s'y lient à l'exécution ; sur macOS, le récepteur AirPlay écoute sur le 5000. Souvent ouvert involontairement pendant le développement.

À quoi sert le port 5000 ?

Le port 5000 est utilisé par de nombreux programmes différents, donc ce qui tourne dépend de l'hôte. C'est le port par défaut du serveur de développement web Flask/Werkzeug, du registre Docker auto-hébergé, des points de contrôle UPnP et — sur macOS moderne — du récepteur AirPlay (raison pour laquelle les Mac affichent souvent le 5000 occupé). Les développeurs le rencontrent surtout comme l'adresse locale (localhost:5000) où tourne une application Flask ou .NET en développement.

Quand faut-il l'ouvrir ?

Ouvrez ou redirigez le port 5000 si vous exécutez délibérément un service dessus — par exemple un registre Docker auto-hébergé ou une petite application web — et qu'il doit être joignable depuis d'autres machines. Pour le développement local, vous ne l'ouvrez généralement pas au-delà de votre propre ordinateur.

Est-ce risqué de l'ouvrir ?

Un serveur de dev Flask en mode debug, ou un registre Docker non authentifié, sont risqués à exposer. N'exécutez pas de serveurs de dev en production, exigez authentification et TLS sur tout registre, et placez les applications publiques derrière un reverse proxy. Voir les notes de sécurité ci-dessous.

Comment vérifier si ce port est ouvert

Linux
ss -tulpn | grep :5000
nmap -p 5000 <target>
Windows
netstat -ano | findstr :5000
Test-NetConnection <host> -Port 5000
macOS
lsof -i :5000
nmap -p 5000 <target>

Comment ouvrir ce port sur votre box/routeur

Pour joindre ce service depuis l'extérieur de votre réseau, redirigez le port sur votre box :

  1. Ouvrez la page d'administration de votre box (souvent http://192.168.1.1 ou http://192.168.0.1) et connectez-vous.
  2. Trouvez la section « Redirection de ports » — parfois appelée NAT, Serveur virtuel ou NAT/PAT.
  3. Ajoutez une règle redirigeant le port externe 5000 vers l'IP locale de votre appareil, port interne 5000, protocole TCP.
  4. Enregistrez, redémarrez la box si demandé, puis testez le port depuis l'extérieur de votre réseau.

Ne redirigez que des ports que vous maîtrisez — cela expose l'appareil à Internet. Pour un accès distant d'administration, un VPN est plus sûr que la redirection de port.

Autoriser ce port dans le pare-feu

Linux (ufw)
sudo ufw allow 5000/tcp
Linux (firewalld)
sudo firewall-cmd --permanent --add-port=5000/tcp
sudo firewall-cmd --reload
Linux (iptables)
sudo iptables -A INPUT -p tcp --dport 5000 -j ACCEPT
Windows
New-NetFirewallRule -DisplayName "Allow 5000" -Direction Inbound -Protocol TCP -LocalPort 5000 -Action Allow

Sécurité et risques

Attaques courantes

  • Atteindre un débogueur Flask/Werkzeug exposé pour une exécution de code à distance
  • Pousser ou tirer des images depuis un registre Docker non authentifié
  • Abus d'UPnP pour mapper des ports ou atteindre des services internes (pivots de type SSRF)
  • Divulgation d'informations via les pages de debug et les erreurs verboses de l'application

Durcissement

  • Ne jamais exécuter un serveur de développement (debug Flask/Werkzeug) en production
  • Lier les services de dev et de registre à localhost, pas à 0.0.0.0
  • Exiger authentification et TLS sur tout registre Docker exposé
  • Désactiver l'UPnP sur les passerelles exposées à Internet et segmenter les appareils IoT
  • Filtrer le 5000 et placer les applications de production derrière un reverse proxy durci

Comment bloquer ce port

Linux (ufw)
sudo ufw deny 5000/tcp
Linux (firewalld)
sudo firewall-cmd --permanent --remove-port=5000/tcp
sudo firewall-cmd --reload
Linux (iptables)
sudo iptables -A INPUT -p tcp --dport 5000 -j DROP
Windows
New-NetFirewallRule -DisplayName "Block 5000" -Direction Inbound -Protocol TCP -LocalPort 5000 -Action Block

Commande nmap

nmap -p5000 --script http-title <target>

Remplacez <target> par l’hôte ou la plage que vous êtes autorisé à scanner.

Ports liés

Questions fréquentes

Pourquoi le port 5000 est-il associé à autant de services ?
C'est un défaut populaire. Le contrôle UPnP, le serveur de dev Flask/Werkzeug, le registre Docker et le récepteur AirPlay de macOS utilisent tous le 5000, donc ce que l'on y trouve dépend entièrement de l'hôte.
Quel est le danger d'une application Flask exposée sur le 5000 ?
Si le débogueur Werkzeug est activé, un attaquant peut ouvrir une console interactive et exécuter du Python arbitraire — une RCE complète. Les serveurs de développement divulguent aussi des traces de pile et ne sont pas conçus pour résister à un trafic hostile.

Guides associés