Quand on doit découvrir les machines actives sur un réseau, identifier les ports ouverts sur un serveur, ou auditer la sécurité d'une infrastructure, nmap est l'outil de référence. Créé en 1997 par Gordon Lyon (Fyodor), ce scanner réseau open source (version 7.99 en 2026) permet d'explorer, analyser et sécuriser des infrastructures de toute taille.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Découvrir les hôtes actifs sur un réseau
- Scanner les ports et identifier les services
- Détecter le système d'exploitation des cibles
- Utiliser les scripts NSE pour l'audit de sécurité
- Exporter les résultats pour documentation et comparaison
Rappel légal important
Section intitulée « Rappel légal important »Un scan de ports laisse des traces : il apparaît dans les journaux de la cible et déclenche les systèmes de détection d'intrusion. Contrairement à une simple consultation de site web, il constitue une tentative caractérisée d'obtenir des informations sur un système. Lisez l'encadré ci-dessous avant la première commande, il conditionne tout l'usage de cet outil.
La commande nmap dans l'écosystème sécurité
Section intitulée « La commande nmap dans l'écosystème sécurité »nmap fait partie des outils de reconnaissance réseau, ceux qui construisent une cartographie avant toute analyse plus fine. Il occupe une position particulière : assez rapide pour balayer un sous-réseau entier, assez détaillé pour identifier une version de service précise. Les outils du tableau ne le remplacent pas, ils prennent le relais à un autre moment de l'enquête, une fois que vous savez quoi regarder.
| Outil | Spécialité | Quand l'utiliser |
|---|---|---|
nmap | Découverte hôtes/ports/services | Cartographie réseau, audit sécurité |
masscan | Scan très rapide | Grands réseaux (millions d'IP) |
netcat | Connexion manuelle | Test ponctuel d'un service |
tcpdump | Capture de paquets | Analyse du trafic en temps réel |
wireshark | Analyse protocolaire | Débogage réseau approfondi |
nikto | Scan vulnérabilités web | Audit serveurs HTTP |
Quand utiliser nmap vs masscan ?
| Situation | nmap | masscan |
|---|---|---|
| Scan d'un serveur | ✅ Détails complets | Overkill |
| Scan réseau /24 | ✅ Parfait | ✅ |
| Scan Internet entier | ❌ Trop lent | ✅ Conçu pour |
| Détection de services | ✅ -sV | ❌ Limité |
| Scripts personnalisés | ✅ NSE | ❌ |
| Détection d'OS | ✅ -O | ❌ |
Workflow typique d'audit :
# 1. Découverte des hôtes actifs (rapide)nmap -sn 192.168.1.0/24
# 2. Scan des ports courants sur les hôtes trouvésnmap -F -oA scan-initial 192.168.1.10-50
# 3. Scan approfondi sur les cibles intéressantesnmap -sV -sC -O -oA scan-detail 192.168.1.42
# 4. Recherche de vulnérabilitésnmap --script vuln -p 80,443 192.168.1.42Comprendre la commande nmap en 2 min
Section intitulée « Comprendre la commande nmap en 2 min »Tout le fonctionnement de nmap tient dans un principe unique : il envoie des paquets réseau vers les cibles, observe les réponses ou leur absence, et en déduit l'état des ports. Un port qui répond SYN-ACK est ouvert, un port qui répond RST est fermé, un port qui ne répond rien est déclaré filtered. Cette troisième catégorie est la source de la plupart des mauvaises interprétations.
🧠 Modèle mental — Comment fonctionne nmap
nmap = Définir la cible → Choisir le type de scan → Analyser les résultats
Points clés
- nmap envoie des paquets réseau pour découvrir hôtes, ports et services
- Le scan SYN (-sS) est le plus courant : rapide et discret
- Le scan TCP Connect (-sT) complète la connexion : plus visible mais fiable
- Le scan UDP (-sU) est lent mais détecte DNS, DHCP, SNMP
- L'option -A combine : détection OS, services, scripts et traceroute
- -T0 à -T5 contrôle la vitesse (T4 = bon compromis rapidité/discrétion)
Règles d'or
Vocabulaire essentiel
- -sS
- Scan SYN (semi-ouvert, rapide)
- -sT
- Scan TCP Connect (complet)
- -sU
- Scan UDP
- -p 22,80,443
- Ports spécifiques
- -p-
- Tous les 65535 ports
- -A
- Scan agressif (OS + services + scripts)
📚 Pour aller plus loin — 6 options avancées
- -sV
- Détection des versions de services
- -O
- Détection du système d'exploitation
- -sn
- Ping scan (découverte hôtes sans scan ports)
- --script
- Exécuter des scripts NSE
- -T4
- Timing agressif (rapide)
- -oA
- Exporter dans tous les formats
Syntaxe minimale
Section intitulée « Syntaxe minimale »Toutes les commandes de ce guide découlent de cette forme. Les options se placent avant la cible, et la cible peut être une adresse IP, un nom d'hôte, une plage ou un fichier.
nmap [OPTIONS] [CIBLE]Les types de scans principaux
Section intitulée « Les types de scans principaux »Le type de scan détermine quels paquets sont envoyés, donc à la fois la vitesse, la discrétion et les droits requis. Retenez surtout que -sS et -sU fabriquent leurs paquets eux-mêmes et exigent donc sudo, là où -sT s'appuie sur la pile TCP du système et fonctionne sans privilège.
| Scan | Option | Usage | Vitesse |
|---|---|---|---|
| SYN | -sS | Scan standard (semi-ouvert) | Rapide |
| TCP Connect | -sT | Connexion complète | Moyen |
| UDP | -sU | Services UDP (DNS, DHCP) | Lent |
| Ping | -sn | Découverte hôtes uniquement | Très rapide |
Scan SYN vs TCP Connect
Section intitulée « Scan SYN vs TCP Connect »Le scan SYN (-sS) est le plus utilisé parce qu'il ne va jamais au bout de la connexion : il envoie le premier paquet, lit la réponse, puis coupe. La cible n'établit donc pas de session applicative et, historiquement, n'inscrivait rien dans les journaux du service concerné. Les pare-feu et systèmes de détection modernes repèrent malgré tout ce comportement, la discrétion est relative.
# Scan SYN (nécessite root) - rapide et discretsudo nmap -sS 192.168.1.100
# Scan TCP Connect - pas besoin de root, mais plus lentnmap -sT 192.168.1.100Différence technique :
- SYN : envoie SYN, reçoit SYN-ACK, envoie RST (pas de connexion complète)
- TCP Connect : établit une vraie connexion TCP (3-way handshake complet)
Spécifier les ports
Section intitulée « Spécifier les ports »Sans option -p, nmap ne scanne pas tout : il se limite aux 1000 ports les plus courants de sa base interne. Un service qui écoute sur un port exotique passe donc inaperçu, d'où l'intérêt de -p- sur une cible unique quand l'exhaustivité compte.
| Syntaxe | Signification | Exemple |
|---|---|---|
-p N | Port N seul | -p 22 → port SSH |
-p N,M,P | Ports N, M et P | -p 22,80,443 |
-p N-M | De N à M | -p 1-1024 → ports privilégiés |
-p- | Tous les 65535 ports | Exhaustif mais lent |
-F | Fast (100 ports courants) | Rapide |
Détection avancée
Section intitulée « Détection avancée »Ces trois options vont au-delà du simple état des ports et coûtent bien plus cher en temps et en bruit réseau. -A ne fait rien de nouveau : il active en une fois -sV, -O, les scripts par défaut et le traceroute, ce qui en fait l'option la plus facilement repérée par un système de détection.
# Détection des versions de servicesnmap -sV 192.168.1.100
# Détection du système d'exploitationsudo nmap -O 192.168.1.100
# Scan "agressif" : OS + services + scripts + traceroutesudo nmap -A 192.168.1.100Contrôle de la vitesse
Section intitulée « Contrôle de la vitesse »L'option -T ne se contente pas d'accélérer : elle ajuste les délais d'attente entre les paquets et le nombre de sondes envoyées en parallèle. Aller trop vite a un coût de fiabilité, car un port dont la réponse arrive après l'expiration du délai sera compté comme filtré. La valeur par défaut est -T3.
| Niveau | Nom | Usage |
|---|---|---|
-T0 | Paranoid | Évitement IDS extrême |
-T1 | Sneaky | Évitement IDS |
-T2 | Polite | Charge réseau réduite |
-T3 | Normal | Par défaut |
-T4 | Aggressive | Réseaux rapides et fiables |
-T5 | Insane | Très rapide, risque de rater des ports |
Recommandation : -T4 pour les audits internes, -T2 ou -T3 pour rester discret.
Export des résultats
Section intitulée « Export des résultats »Sans export, un scan n'existe que dans le terminal, ce qui interdit toute comparaison ultérieure. Le format XML est celui que consomment les outils d'analyse et de reporting ; le format grepable tient une ligne par hôte, exploitable par un script shell. En pratique, -oA évite d'avoir à choisir.
# Format normal (lisible)nmap -oN scan.txt 192.168.1.100
# Format XML (pour outils d'analyse)nmap -oX scan.xml 192.168.1.100
# Format grepable (pour scripts)nmap -oG scan.gnmap 192.168.1.100
# Tous les formats en une foisnmap -oA scan-2026-01-28 192.168.1.100Installation
Section intitulée « Installation »nmap est packagé par toutes les distributions, la version des dépôts suffit pour les usages de ce guide. Vérifiez systématiquement le numéro obtenu avec nmap --version : les scripts NSE évoluent d'une version à l'autre, et une version ancienne peut ne pas connaître un script cité ici.
sudo apt update && sudo apt install nmapnmap --versionsudo dnf install nmapnmap --versionbrew install nmapnmap --versionTéléchargez l'installateur depuis nmap.org/download.
L'installation inclut Zenmap (interface graphique) et Npcap (driver de capture).
Les scripts NSE (Nmap Scripting Engine)
Section intitulée « Les scripts NSE (Nmap Scripting Engine) »Le NSE permet d'automatiser des tâches avancées grâce à des scripts écrits en Lua, livrés avec l'outil. C'est ce qui fait passer nmap du statut de scanner de ports à celui d'outil d'audit : un script interroge le service découvert, teste une configuration, ou vérifie une vulnérabilité connue. La contrepartie est le niveau d'intrusion, très variable d'un script à l'autre, qui doit être évalué avant chaque exécution.
Catégories de scripts
Section intitulée « Catégories de scripts »Chaque script appartient à une ou plusieurs catégories, et c'est la colonne « Risque » qui doit guider votre choix. Les catégories brute, exploit, dos et fuzzer modifient l'état de la cible ou peuvent l'interrompre : elles n'ont leur place que sur un système dont vous êtes propriétaire, jamais sur une production.
| Catégorie | Usage | Risque |
|---|---|---|
safe | Scripts non intrusifs | Aucun |
default | Exécutés avec -sC | Faible |
discovery | Collecte d'informations | Faible |
version | Détection de versions | Faible |
auth | Tests d'authentification | Moyen |
vuln | Détection de vulnérabilités | Moyen |
brute | Force brute | Élevé |
exploit | Exploitation | Très élevé |
intrusive | Scripts potentiellement disruptifs | Élevé |
malware | Détection de backdoors | Faible |
broadcast | Découverte par broadcast | Faible |
fuzzer | Envoi de paquets malformés | Élevé |
dos | Test de déni de service | Très élevé |
external | Requêtes vers des services tiers | Moyen |
Utilisation des scripts
Section intitulée « Utilisation des scripts »L'option --script accepte un nom de script, un nom de catégorie ou un motif avec *, ce qui explique la variété des formes ci-dessous. Pensez aux guillemets dès qu'un motif contient une étoile, sinon le shell l'interprète comme un nom de fichier avant même que nmap la reçoive.
# Scripts par défaut (safe + version)nmap -sC 192.168.1.100
# Scripts d'une catégorienmap --script discovery 192.168.1.100
# Script spécifiquenmap --script http-title -p 80 192.168.1.100
# Plusieurs scriptsnmap --script "http-*" -p 80,443 192.168.1.100
# Scripts avec argumentsnmap --script http-brute --script-args userdb=users.txt -p 80 192.168.1.100Scripts utiles pour l'audit
Section intitulée « Scripts utiles pour l'audit »Ces cinq commandes couvrent les vérifications les plus demandées lors d'un audit : vulnérabilités connues, contenu exposé par un serveur web, qualité de la configuration TLS et méthodes d'authentification SSH acceptées. La dernière ne scanne rien, elle affiche la documentation d'un script avant que vous ne le lanciez.
# Recherche de vulnérabilitésnmap --script vuln -p 80,443 192.168.1.100
# Énumération HTTPnmap --script http-enum -p 80,443 192.168.1.100
# Détection SSL/TLSnmap --script ssl-enum-ciphers -p 443 192.168.1.100
# Informations SSHnmap --script ssh-auth-methods -p 22 192.168.1.100
# Découvrir les scripts disponiblesnmap --script-help "*ssh*"Les modèles de scans courants
Section intitulée « Les modèles de scans courants »Ces patterns couvrent la grande majorité des scans réalisés au quotidien, de la simple découverte d'hôtes à l'audit de vulnérabilités. Chacun associe une formule générique et un exemple concret à adapter à votre cible autorisée.
Scan basique
Section intitulée « Scan basique »Découvrir les ports ouverts sur une cible, le point de départ de toute analyse.
# Formulenmap <cible>
# Exemplenmap 192.168.1.100cible: adresse IP, nom d'hôte ou plage CIDR.
Ports spécifiques
Section intitulée « Ports spécifiques »Scanner uniquement certains ports pour un résultat rapide et ciblé.
# Formulenmap -p <ports> <cible>
# Exemplenmap -p 22,80,443,8080 192.168.1.100-p: liste ou plage de ports à scanner.
Tous les ports
Section intitulée « Tous les ports »Scanner les 65535 ports pour ne rien manquer.
# Formulenmap -p- <cible>
# Exemplenmap -p- -T4 192.168.1.100Très long sur un réseau complet : commencez plutôt par -F (fast scan) avant de cibler.
Détection de services
Section intitulée « Détection de services »Identifier les versions exactes des services exposés.
# Formulenmap -sV <cible>
# Exemplenmap -sV -p 22,80 192.168.1.100-sV: interroge chaque service pour déterminer sa version, c'est la base du banner grabbing.
Détection d'OS
Section intitulée « Détection d'OS »Identifier le système d'exploitation de la cible par empreinte TCP/IP.
# Formulenmap -O <cible>
# Exemplesudo nmap -O 192.168.1.100-O nécessite les droits root pour accéder aux raw sockets.
Scan agressif
Section intitulée « Scan agressif »Collecter le maximum d'informations en une seule passe : OS, services, scripts, traceroute.
# Formulenmap -A <cible>
# Exemplesudo nmap -A -T4 192.168.1.100Bruyant et facilement détecté : commencez par un scan léger avant d'y recourir.
Scan furtif SYN
Section intitulée « Scan furtif SYN »Scanner discrètement sans compléter les connexions TCP.
# Formulesudo nmap -sS <cible>
# Exemplesudo nmap -sS -T2 192.168.1.100-sS: scan SYN, semi-ouvert, rapide et plus discret qu'un scan complet.
Scan UDP
Section intitulée « Scan UDP »Découvrir les services UDP : DNS, DHCP, SNMP.
# Formulesudo nmap -sU <cible>
# Exemplesudo nmap -sU -p 53,67,161 192.168.1.100Très lent : ciblez toujours les ports UDP courants plutôt que de tout scanner.
Découverte réseau
Section intitulée « Découverte réseau »Trouver les hôtes actifs sans scanner les ports.
# Formulenmap -sn <réseau>
# Exemplenmap -sn 192.168.1.0/24-sn: ping scan, découverte d'hôtes uniquement, rapide et non intrusif.
Scan de vulnérabilités
Section intitulée « Scan de vulnérabilités »Détecter les vulnérabilités connues via les scripts NSE.
# Formulenmap --script vuln <cible>
# Exemplenmap --script vuln -p 22,80,443 192.168.1.100Intrusif : à réserver strictement à vos propres systèmes.
Export multi-format
Section intitulée « Export multi-format »Sauvegarder les résultats pour analyse et comparaison dans le temps.
# Formulenmap -oA <prefix> <cible>
# Exemplenmap -oA scan-2025-01-28 192.168.1.100-oA: génère les formats Normal, XML et Grepable en une passe.
Contrôle de timing
Section intitulée « Contrôle de timing »Ajuster la vitesse du scan selon le contexte.
# Formulenmap -T<0-5> <cible>
# Exemplenmap -T4 192.168.1.100-T0à-T5: deparanoid(0) àinsane(5).-T4est le bon compromis rapidité/discrétion.
Les pièges à éviter
Section intitulée « Les pièges à éviter »Ces erreurs reviennent constamment et peuvent avoir des conséquences juridiques ou rendre un scan inexploitable. Les connaître protège autant votre temps que votre responsabilité.
Scanner sans autorisation
Section intitulée « Scanner sans autorisation »C'est le seul piège de cette liste dont les conséquences ne sont pas techniques. La commande ci-dessous n'a rien d'agressif en apparence, elle suffit pourtant à vous exposer.
nmap entreprise-externe.comSymptôme : alerte de sécurité, plainte juridique, blocage de votre IP.
Cause : scanner un réseau sans autorisation est illégal et assimilable à une attaque. Obtenez toujours une autorisation écrite avant de scanner quoi que ce soit.
Scan SYN sans droits root
Section intitulée « Scan SYN sans droits root »Le piège est sournois : selon la version et les capacités du binaire, la commande peut ne pas échouer du tout et basculer discrètement sur un autre type de scan. Vous croyez alors avoir fait un scan furtif.
nmap -sS 192.168.1.100Symptôme : erreur requires root privileges, ou bascule silencieuse vers un scan TCP Connect.
Cause : le scan SYN a besoin d'un accès aux raw sockets, réservé à root.
sudo nmap -sS 192.168.1.100Scan -p- sur un grand réseau
Section intitulée « Scan -p- sur un grand réseau »Deux options anodines prises séparément deviennent ingérables combinées. Un /16 représente 65 534 hôtes possibles, à multiplier par le nombre de ports.
nmap -p- 192.168.0.0/16Symptôme : un scan qui dure des heures, voire des jours.
Cause : 65535 ports multipliés par des milliers d'hôtes représentent des millions de tests.
nmap -sn 192.168.0.0/16 | grep "up" && nmap -F <cibles>Scan UDP sans cibler les ports
Section intitulée « Scan UDP sans cibler les ports »Le scan UDP est d'une autre nature que le TCP, et l'oublier coûte des heures. Un port UDP fermé renvoie un message ICMP, mais un port ouvert reste le plus souvent muet, ce qui oblige nmap à attendre.
nmap -sU 192.168.1.100Symptôme : un scan extrêmement lent, qui se compte en heures.
Cause : UDP ne renvoie pas d'ACK ; nmap attend l'expiration de chaque timeout.
sudo nmap -sU -p 53,67,123,161 192.168.1.100Interpréter « filtered » comme « fermé »
Section intitulée « Interpréter « filtered » comme « fermé » »Vous ignorez les ports marqués filtered.
Symptôme : vous manquez des services actifs situés derrière un pare-feu.
Cause : filtered signifie « pas de réponse » (filtrage), ce qui n'équivaut pas à un port fermé. Utilisez --reason pour comprendre, et recoupez avec différents types de scans.
nmap --reason -sS -sA 192.168.1.100Le scan -A déclenche les alertes
Section intitulée « Le scan -A déclenche les alertes »Cumuler l'option la plus bavarde et le rythme le plus rapide revient à annoncer le scan à toute l'infrastructure de surveillance. C'est la combinaison qui fait bannir une adresse IP en quelques secondes.
nmap -A -T5 cible.comSymptôme : IP bloquée, alertes IDS/IPS, scan interrompu.
Cause : -A est bruyant (scripts, OS, traceroute) et -T5 est très rapide.
nmap -sV -T3 cible.comLa résolution DNS ralentit le scan
Section intitulée « La résolution DNS ralentit le scan »Le temps perdu ici n'a rien à voir avec le scan lui-même, il vient d'une étape préalable presque invisible. Sur un réseau sans serveur DNS interne réactif, chaque adresse déclenche une résolution inverse qui doit expirer.
nmap 192.168.1.0/24Symptôme : un scan lent à démarrer sur un grand réseau.
Cause : nmap tente de résoudre chaque IP en nom d'hôte.
nmap -n 192.168.1.0/24Versions de services incorrectes
Section intitulée « Versions de services incorrectes »Vous vous fiez aveuglément à la sortie de -sV.
Symptôme : la version affichée ne correspond pas à la réalité.
Cause : un service peut masquer ou modifier sa bannière. Recoupez toujours avec d'autres outils comme telnet, curl ou nc.
Travaux pratiques
Section intitulée « Travaux pratiques »Ce lab vous fait manipuler nmap sur des cibles autorisées (localhost et votre propre réseau). Comptez 20 minutes.
Préparer le terrain
Section intitulée « Préparer le terrain »Le script suivant vérifie l'installation de nmap et prépare un dossier de résultats :
# Scanner uniquement votre propre réseau
# Vérifier si nmap est installéwhich nmap || echo "Installez nmap : sudo apt install nmap"
# Créer un dossier pour les résultatsmkdir -p ~/nmap-lab/resultscd ~/nmap-lab
# Vérifier les services locaux actifsecho "=== Services locaux actifs ==="ss -tlnp 2>/dev/null | head -20
echo "Lab prêt dans ~/nmap-lab"Pour tout nettoyer à la fin : rm -rf ~/nmap-lab.
Les 5 étapes du lab
Section intitulée « Les 5 étapes du lab »Suivez-les dans l'ordre : chacune ajoute une option à la précédente, du scan le plus simple à l'export exploitable. Comparez systématiquement la sortie de nmap avec celle de ss -tlnp obtenue plus haut, c'est le meilleur moyen de vérifier que vous lisez correctement les résultats.
-
Scan basique d'un hôte, découvrez les ports ouverts de localhost :
nmap localhost. Sans options, nmap scanne les 1000 ports les plus courants. Pour plus de détails :nmap -v localhost. -
Scan de ports spécifiques, ciblez uniquement 22, 80 et 443 :
nmap -p 22,80,443 localhost. Cibler des ports précis réduit fortement le temps de scan. -
Détection des versions de services, identifiez les versions :
nmap -sV localhost. Chaque port ouvert s'affiche avec son service et sa version exacte (ex.OpenSSH 9.6p1). -
Scan de découverte réseau, listez les hôtes actifs sans scanner les ports :
nmap -sn 192.168.1.0/24. Adaptez la notation CIDR à votre réseau. Avec résolution DNS :nmap -sn -R 192.168.1.0/24. -
Exporter les résultats, scannez et archivez dans tous les formats :
nmap -oA ~/nmap-lab/results/localhost localhost. Trois fichiers sont créés :.nmap,.xml,.gnmap.
Exercices progressifs
Section intitulée « Exercices progressifs »Ces exercices vont du premier scan à l'audit de vulnérabilités. Toutes les cibles sont localhost ou votre réseau. Lisez l'énoncé, cherchez la commande, puis dépliez la solution.
Niveau fondations
Section intitulée « Niveau fondations »Les trois premiers exercices portent sur la forme de base de la commande et sur les deux options que vous utiliserez le plus souvent, -p et -sV.
Exercice 1, Scan basique. Scannez localhost pour découvrir les ports ouverts.
Indice : la commande la plus simple, nmap <cible>.
Voir la solution
nmap localhostSans options, nmap scanne les 1000 ports TCP les plus courants.
Exercice 2, Ports spécifiques. Scannez uniquement les ports 80, 443 et 8080 sur localhost.
Indice : -p suivi des numéros séparés par des virgules.
Voir la solution
nmap -p 80,443,8080 localhost-p cible des ports précis pour un scan rapide.
Exercice 3, Détection de services. Identifiez les versions des services sur les ports ouverts de localhost.
Indice : -sV interroge les services pour leur version.
Voir la solution
nmap -sV localhost-sV envoie des probes spécifiques pour identifier la version de chaque service.
Niveau composition
Section intitulée « Niveau composition »On passe de l'hôte unique au réseau, et du résultat affiché au résultat archivé. Ces trois exercices combinent plusieurs options dans une même commande.
Exercice 4, Découverte réseau. Listez tous les hôtes actifs de votre réseau local, sans scanner les ports.
Indice : -sn réalise un ping scan.
Voir la solution
nmap -sn 192.168.1.0/24-sn est rapide et non intrusif, idéal pour cartographier un réseau.
Exercice 5, Export multi-format. Scannez localhost et exportez dans les formats normal, XML et grepable.
Indice : -oA génère trois fichiers avec le même préfixe.
Voir la solution
nmap -oA scan-localhost localhost-oA (All outputs) est pratique pour archiver et analyser les scans.
Exercice 6, Scan complet avec timing. Scannez tous les ports de localhost avec un timing agressif.
Indice : -p- pour tous les ports, -T4 pour le timing.
Voir la solution
nmap -p- -T4 localhost-p- est exhaustif mais long ; -T4 accélère sans être trop bruyant.
Niveau industrialisation
Section intitulée « Niveau industrialisation »Ces deux exercices demandent des privilèges élevés ou activent des scripts. Ils produisent beaucoup plus de trafic que les précédents, d'où l'importance de rester sur localhost.
Exercice 7, Détection d'OS. Identifiez le système d'exploitation de localhost.
Indice : -O nécessite sudo pour les raw sockets.
Voir la solution
sudo nmap -O localhost-O utilise des signatures TCP/IP pour identifier l'OS.
Exercice 8, Scripts NSE de découverte. Utilisez les scripts NSE de découverte sur les ports 22 et 80 de localhost.
Indice : --script discovery lance les scripts de collecte d'informations.
Voir la solution
nmap --script discovery -p 22,80 localhostLes scripts NSE automatisent la collecte d'informations sur les services.
Niveau sécurité
Section intitulée « Niveau sécurité »Dernier exercice, et le plus intrusif du lot. La catégorie vuln teste réellement des failles connues : ne la lancez que sur votre propre machine, jamais sur un serveur partagé même interne.
Exercice 9, Audit de vulnérabilités. Recherchez les vulnérabilités connues sur les ports web de localhost.
Indice : --script vuln lance les scripts de détection de vulnérabilités.
Voir la solution
nmap --script vuln -p 80,443,8080 localhostLes scripts vuln testent les CVE connues sur les services exposés.
Dépannage
Section intitulée « Dépannage »Quand un scan échoue ou se comporte mal, ces méthodes de diagnostic et ces erreurs fréquentes couvrent la grande majorité des cas.
Méthodes de diagnostic
Section intitulée « Méthodes de diagnostic »Ces options ne changent rien au scan lui-même, elles changent ce que nmap vous montre de son travail. --reason est la plus utile au quotidien : elle indique quel paquet a conduit à classer un port open, closed ou filtered, ce qui transforme un résultat en information exploitable.
# Mode verbeux : progression en temps réelnmap -v <cible>
# Mode très verbeux : détails complets de chaque étapenmap -vv <cible>
# Comprendre pourquoi un port est open/closed/filterednmap --reason <cible>
# Voir les paquets envoyés et reçusnmap -d <cible>
# Déboguer un script NSEnmap --script-trace --script <script> <cible>Erreurs fréquentes
Section intitulée « Erreurs fréquentes »Ces quatre messages couvrent l'essentiel du support autour de nmap. Attention au deuxième : -Pn fait disparaître le symptôme en supposant l'hôte actif, mais il allonge d'autant le scan puisque tous les ports seront testés, y compris sur une machine réellement éteinte.
| Erreur | Cause probable | Solution |
|---|---|---|
You requested a scan type which requires root privileges | Scan SYN (-sS), OS (-O) ou UDP (-sU) sans sudo | Ajouter sudo devant la commande |
Host seems down | Pare-feu bloquant l'ICMP, hôte éteint, ou mauvaise IP | Forcer le scan avec -Pn pour ignorer le ping |
All 1000 scanned ports are filtered | Pare-feu strict, hôte protégé, ou mauvais réseau | Essayer un ACK scan -sA ou ajuster --scan-delay |
Scan taking too long | Réseau trop grand, timing trop lent, trop de ports | Réduire le périmètre, augmenter le timing, utiliser -F |
Aide-mémoire nmap
Section intitulée « Aide-mémoire nmap »À garder sous la main : la syntaxe générale, la sélection de ports, les types de scans et les options d'export les plus utilisées.
Syntaxe générale
Section intitulée « Syntaxe générale »Trois façons de désigner ce qu'on scanne, de l'hôte unique au fichier de cibles. -iL accepte un mélange d'IP, de plages et de noms d'hôtes, à raison d'une entrée par ligne.
| Syntaxe | Signification | Exemple |
|---|---|---|
nmap <cible> | Scan basique des 1000 ports courants | nmap 192.168.1.100 |
nmap <réseau>/24 | Scanner tout un sous-réseau | nmap 192.168.1.0/24 |
nmap -iL fichier.txt | Lire les cibles depuis un fichier | nmap -iL hosts.txt |
Sélection de ports
Section intitulée « Sélection de ports »Ces quatre formes se combinent avec n'importe quel type de scan. -F et -p- sont les deux extrêmes : 100 ports d'un côté, la totalité des 65535 de l'autre.
| Syntaxe | Signification | Exemple |
|---|---|---|
-p <ports> | Ports spécifiques | -p 22,80,443 |
-p <debut>-<fin> | Plage de ports | -p 1-1024 |
-p- | Tous les 65535 ports | nmap -p- localhost |
-F | Fast scan (100 ports) | nmap -F localhost |
Types de scans
Section intitulée « Types de scans »Un seul type de scan par commande. Repérez le sudo dans les exemples : il signale les modes qui fabriquent leurs propres paquets et exigent donc les privilèges nécessaires aux raw sockets.
| Syntaxe | Signification | Exemple |
|---|---|---|
-sS | Scan SYN (semi-ouvert, rapide) | sudo nmap -sS localhost |
-sT | Scan TCP Connect (complet) | nmap -sT localhost |
-sU | Scan UDP | sudo nmap -sU -p 53 localhost |
-sn | Ping scan (découverte d'hôtes) | nmap -sn 192.168.1.0/24 |
Détection
Section intitulée « Détection »Ces options s'ajoutent à un type de scan, elles ne le remplacent pas. Elles allongent toutes la durée d'exécution, -A étant la plus coûteuse puisqu'elle active d'un coup la détection de version, celle de l'OS, les scripts par défaut et le traceroute.
| Syntaxe | Signification | Exemple |
|---|---|---|
-sV | Détection des versions de services | nmap -sV localhost |
-O | Détection du système d'exploitation | sudo nmap -O localhost |
-A | Scan agressif (OS + services + scripts) | sudo nmap -A localhost |
--script <nom> | Exécuter un script NSE | --script http-title |
--script <catégorie> | Scripts d'une catégorie | --script vuln |
Timing, export et divers
Section intitulée « Timing, export et divers »Les options les plus utiles au quotidien se trouvent ici. Deux d'entre elles font gagner un temps considérable sur un grand réseau : -n supprime la résolution DNS inverse, -Pn saute la phase de découverte d'hôtes quand vous savez déjà que la cible répond.
| Syntaxe | Signification | Exemple |
|---|---|---|
-T<0-5> | Niveau de timing | -T4 (agressif) |
-n | Pas de résolution DNS | nmap -n 192.168.1.0/24 |
--min-rate | Paquets par seconde minimum | --min-rate 1000 |
-oN <fichier> | Export au format normal | -oN scan.txt |
-oX <fichier> | Export au format XML | -oX scan.xml |
-oA <prefix> | Export dans tous les formats | -oA scan-2025 |
-Pn | Ignorer le ping (hôte « down ») | nmap -Pn localhost |
--reason | Afficher la raison du résultat | nmap --reason localhost |
Checklist de maîtrise
Section intitulée « Checklist de maîtrise »Vous maîtrisez nmap quand vous pouvez cocher chacun de ces points sans hésiter :
- Je sais scanner un hôte ou un réseau.
- Je sais cibler des ports spécifiques.
- Je sais détecter les versions de services.
- Je sais détecter le système d'exploitation.
- Je sais utiliser les scripts NSE.
- Je sais exporter et documenter mes scans.
- Je sais ajuster le timing selon le contexte.
Contrôle de connaissances
Section intitulée « Contrôle de connaissances »Les questions portent uniquement sur ce qui vient d'être expliqué : types de scans, sélection de ports, catégories NSE et interprétation des résultats.
Contrôle de connaissances
Validez vos connaissances avec ce quiz interactif
Informations
- Le chronomètre démarre au clic sur Démarrer
- Questions à choix multiples, vrai/faux et réponses courtes
- Vous pouvez naviguer entre les questions
- Les résultats détaillés sont affichés à la fin
Lance le quiz et démarre le chronomètre
Vérification
(0/0)Profil de compétences
Quoi faire maintenant
Ressources pour progresser
Des indices pour retenter votre chance ?
Nouveau quiz complet avec des questions aléatoires
Retravailler uniquement les questions ratées
Retour à la liste des certifications
FAQ : questions fréquentes
Section intitulée « FAQ : questions fréquentes »Les questions ci-dessous reviennent souvent sur nmap, en particulier autour du cadre légal, de la différence entre les états closed et filtered, et du choix du type de scan.
nmap <cible> (scanne les 1000 ports les plus courants). Ajoutez -sV pour la détection de version des services, -p- pour tous les ports, et -A pour un scan agressif (OS, versions, scripts par défaut). Combinez avec -Pn si l'hôte bloque le ping.--script (par catégorie, ex. --script vuln, ou par nom). À utiliser avec discernement (certains sont intrusifs).-T4 (au lieu du défaut -T3), limitez la portée avec --top-ports 100 ou une liste -p précise, et évitez -p- sur de grandes plages. Le -A et les scripts NSE ralentissent beaucoup : réservez-les à des cibles ciblées.Conclusion
Section intitulée « Conclusion »Nmap couvre à lui seul l'essentiel de la découverte réseau et de l'audit de sécurité : scans TCP et UDP, détection des services et du système, et plusieurs centaines de scripts NSE. Cette étendue a une contrepartie, chaque option choisie déplace le curseur entre exhaustivité, vitesse et discrétion, et c'est cet arbitrage qui distingue un scan utile d'un scan qui vous fait remarquer.
Points clés à retenir :
- Toujours avoir une autorisation avant de scanner
- Commencer simple (
-sn,-F) puis approfondir - -sV pour les services, -O pour l'OS, -A pour tout
- -T4 pour la rapidité, -T2 pour la discrétion
- -oA pour exporter dans tous les formats
- --script vuln pour l'audit de vulnérabilités