Introduction
Véritable référence pour l’audit de sécurité et le diagnostic d’infrastructure, Nmap constitue un composant incontournable de la boîte à outils de tout administrateur sous Ubuntu. Ce tutoriel détaille la mise en place de la solution ainsi que ses commandes fondamentales, en décryptant concrètement le comportement des ports réseau et les signatures de services détectés au fil des scans.
Déploiement de Nmap et mise en place du banc d’essai local
Avant de lancer nos investigations réseau, nous préparons l’environnement Ubuntu en déployant simultanément le scanner et l’interpréteur Python via la commande apt-get update -qq && apt-get install -y nmap python3.

Conçu pour cartographier les réseaux et évaluer leur niveau de durcissement, l’utilitaire nmap sonde l’état d’écoute des sockets et identifie les démons actifs.
Pour s’assurer du bon fonctionnement du binaire et passer en revue ses capacités embarquées, on interroge la version installée avec nmap --version.
⚙️ [Paramètres essentiels]
-p : Cible un numéro ou un intervalle spécifique de ports réseau.-sS : Déclenche un balayage TCP SYN discret (« stealth scan ») sans finaliser l’établissement de la session TCP.-sT : Initialise une poignée de main complète (3-way handshake) via l’appel système de connexion TCP.-sU : Examine les ports associés aux protocoles orientés datagramme (UDP).-sV : Interroge les bannières applicatives pour déterminer avec précision le nom et la révision logicielle du service.-O : Procède à l’identification par empreinte (« fingerprinting ») du système d’exploitation sous-jacent.-A : Enclenche un diagnostic approfondi combinant empreinte d’OS, analyse de versions, scripts NSE et traceroute.-v : Accroît la verbosité dans la console afin de suivre l’avancement des sondes en temps réel.

Afin de disposer d’une cible concrète et reproductible sans perturber de services critiques, lançons en arrière-plan un serveur HTTP minimaliste écoutant sur le port 8080 à l’aide de python3 -m http.server 8080 > /dev/null 2>&1 &.

Une brève temporisation d’une seconde orchestrée par sleep 1 garantit que le socket TCP 8080 est parfaitement initialisé et prêt à répondre avant toute tentative de connexion.

Balayage initial et vérification de la disponibilité de la machine
L’audit de la boucle locale s’initie tout simplement en pointant l’outil sur l’adresse loopback via nmap 127.0.0.1.
Sans argument complémentaire, le programme ausculte automatiquement les 1 000 ports TCP les plus fréquents. Le rapport met immédiatement en évidence la présence du démon SSH sur le port 22 ainsi que notre instance HTTP sur le port 8080.

Lorsque la réactivité prime, l’exécution de nmap -F 127.0.0.1 restreint la portée du diagnostic aux 100 ports les plus conventionnels.
Ce mode rapide activé par -F (Fast scan) allège considérablement la charge réseau tout en fournissant une vue d’ensemble instantanée des services majeurs exposés.

Ciblage granulaire de ports et détection des versions logicielles
Pour éviter de sonder l’intégralité de la pile réseau lorsque seul un service donné vous intéresse, ciblez-le directement avec nmap -p 8080 127.0.0.1.
Cette approche ciblée confirme sans délai que la porte d’entrée 8080 se trouve bel et bien dans l’état accessible (open).

Pour aller au-delà du simple état d’ouverture et identifier le processus exact qui traite les requêtes, lancez l’inspection avec nmap -sV -p 8080 127.0.0.1.
L’indicateur -sV procède à l’analyse protocolaire fine du service, révélant formellement l’empreinte de la pile Python (SimpleHTTPServer 0.6, Python 3.12.3) derrière ce port 8080.

Exportation des résultats et nettoyage de l’environnement de test
Dans un contexte professionnel, la traçabilité des vérifications est primordiale ; enregistrez la sortie d’analyse au format texte standard grâce à nmap -p 8080 -oN scan_report.txt 127.0.0.1.
Le commutateur -oN duplique le flux affiché dans le terminal vers le fichier désigné (scan_report.txt), facilitant l’archivage historique des audits et la rédaction de bilans techniques.

Pour contrôler l’intégrité des informations consignées sur le disque, examinez le rapport généré à l’aide de cat scan_report.txt.
Le document consigne l’horodatage exact de l’opération, la ligne de commande invoquée, l’état de l’hôte distant ainsi que le statut détaillé du socket 8080.

Une fois l’exercice achevé, libérez les ressources allouées en stoppant le processus Python résiduel au moyen de pkill -f 'http.server 8080'.

Ce tour d’horizon vous offre les bases nécessaires pour maîtriser le scan de ports et interpréter avec discernement les données remontées par Nmap sur vos serveurs Ubuntu.
En intégrant régulièrement ces commandes dans vos routines d’administration, vous réduirez la surface d’attaque en fermant sans tarder tout accès réseau superflu.