Référence des ports
Port 8000 (TCP) – HTTP alternatif / Serveur de dev
HTTP alternatif — souvent un serveur web de développement (Django runserver, Python http.server), pas de service fixe.
En bref
- Transport
- tcp
- Catégorie
- Registered
- Niveau de risque
- Élevé
Souvent ciblé — limitez l'exposition et durcissez-le.
État par défaut
Ouvert lorsqu'un serveur de dev ou d'applications tourne. Souvent en HTTP simple et lié à toutes les interfaces par erreur.
À quoi sert le port 8000 ?
Le port 8000 est un port HTTP alternatif populaire, le plus souvent utilisé par les serveurs web de développement locaux. C'est le port par défaut de runserver de Django, du module http.server intégré de Python, d'Uvicorn et de nombreux autres frameworks et outils. Aucun service fixe ne lui est associé : sur une machine donnée, il peut s'agir d'un partage de fichiers rapide ou d'une application complète en cours de développement. Il sert généralement du HTTP simple sans chiffrement.
Quand faut-il l'ouvrir ?
Ouvrez le 8000 lorsque vous voulez accéder à un serveur de développement depuis un autre appareil de votre réseau local, par exemple pour tester un site depuis votre téléphone. Pour du trafic de production réel, utilisez un vrai serveur web derrière une configuration HTTP/HTTPS standard plutôt que d'exposer le 8000 directement.
Est-ce risqué de l'ouvrir ?
Les serveurs de développement sont conçus pour la commodité, pas pour l'exposition, et divulguent souvent des informations de débogage, alors gardez le 8000 sur localhost ou votre réseau privé. Consultez les notes de sécurité ci-dessous.
Comment vérifier si ce port est ouvert
ss -tulpn | grep :8000
nmap -p 8000 <target>netstat -ano | findstr :8000
Test-NetConnection <host> -Port 8000lsof -i :8000
nmap -p 8000 <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 :
- Ouvrez la page d'administration de votre box (souvent http://192.168.1.1 ou http://192.168.0.1) et connectez-vous.
- Trouvez la section « Redirection de ports » — parfois appelée NAT, Serveur virtuel ou NAT/PAT.
- Ajoutez une règle redirigeant le port externe 8000 vers l'IP locale de votre appareil, port interne 8000, protocole TCP.
- 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
sudo ufw allow 8000/tcpsudo firewall-cmd --permanent --add-port=8000/tcp
sudo firewall-cmd --reloadsudo iptables -A INPUT -p tcp --dport 8000 -j ACCEPTNew-NetFirewallRule -DisplayName "Allow 8000" -Direction Inbound -Protocol TCP -LocalPort 8000 -Action AllowSécurité et risques
Attaques courantes
- Serveurs de débogage/développement exposés par accident avec traces complètes
- Interception en clair (généralement du HTTP simple, pas du TLS)
- Listing de répertoires et divulgation de source via http.server
- RCE en mode débogage du framework et fuite d'informations
Durcissement
- Ne jamais exécuter un serveur de dev sur le 8000 en production ou sur une interface publique
- Lier à 127.0.0.1 et accéder via un proxy inverse TLS avec authentification
- Désactiver le mode débogage du framework (ex. Django DEBUG=False) si joignable
- Restreindre par liste d'IP / VPN et ajouter une authentification
- Journaliser les accès et corriger le serveur d'applications
Comment bloquer ce port
sudo ufw deny 8000/tcpsudo firewall-cmd --permanent --remove-port=8000/tcp
sudo firewall-cmd --reloadsudo iptables -A INPUT -p tcp --dport 8000 -j DROPNew-NetFirewallRule -DisplayName "Block 8000" -Direction Inbound -Protocol TCP -LocalPort 8000 -Action BlockCommande nmap
nmap -p8000 --script http-title,http-headers,http-enum <target>Remplacez <target> par l’hôte ou la plage que vous êtes autorisé à scanner.
Ports liés
Questions fréquentes
- À quoi sert le port 8000 ?
- C'est un port HTTP alternatif courant, le plus souvent un serveur web de développement comme runserver de Django ou http.server de Python. Il n'y a pas de service fixe unique, donc identifiez toujours ce qui écoute réellement.
- Est-il sûr d'exposer le port 8000 à Internet ?
- Non. Les serveurs de dev sur le 8000 sont mono-thread, non durcis, et tournent souvent en mode débogage, exposant des traces et parfois permettant l'exécution de code. Liez-le à localhost et placez-le derrière un proxy TLS authentifié.