NMAP : le guide complet pour maîtriser l'outil de scan réseau

Découvrez NMAP, l'outil incontournable pour scanner des réseaux, analyser des ports et auditer la sécurité de vos systèmes. Guide complet pour débutants.

NMAP (Network Mapper) est l'outil de référence en matière d'analyse de réseaux et d'audit de sécurité. Utilisé par les professionnels de la cybersécurité, les administrateurs systèmes et les pentesters du monde entier, NMAP permet de cartographier un réseau, identifier les machines connectées, détecter les services actifs et repérer d'éventuelles vulnérabilités.


Dans ce guide complet, vous apprendrez à installer, configurer et utiliser NMAP pour auditer vos propres systèmes de manière responsable et légale.


Qu'est-ce que NMAP ?

NMAP est un scanner de ports et de réseaux open-source et gratuit, créé en 1997 par Gordon Lyon (Fyodor). Il permet de :

  • Découvrir les hôtes actifs sur un réseau (quelles machines sont allumées).
  • Scanner les ports ouverts pour identifier les services accessibles (HTTP, SSH, FTP, etc.).
  • Détecter les systèmes d'exploitation et versions de services.
  • Identifier des vulnérabilités potentielles avec des scripts NSE (Nmap Scripting Engine).
  • Cartographier l'architecture réseau d'une organisation.

NMAP est utilisé pour des audits de sécurité légitimes : tester la sécurité de ses propres systèmes, vérifier la configuration des pare-feu, détecter des services non autorisés, etc.


Pourquoi NMAP est-il indispensable ?

  • Pour les administrateurs systèmes : surveiller les ports ouverts et détecter des services non sécurisés.
  • Pour les professionnels de la cybersécurité : auditer les infrastructures et identifier des failles avant les attaquants.
  • Pour les pentester : réaliser des tests d'intrusion autorisés dans le cadre de missions de sécurité.
  • Pour les chercheurs en sécurité : analyser des protocoles réseau et comprendre les communications entre machines.

Installation de NMAP


Sur Linux (Debian/Ubuntu)

sudo apt update
sudo apt install nmap

Sur macOS

brew install nmap

Ou téléchargez l'installateur depuis nmap.org.


Sur Windows

Téléchargez l'installateur officiel depuis nmap.org et suivez les instructions. L'interface graphique Zenmap est également disponible pour une utilisation simplifiée.


Vérifier l'installation

nmap --version

Vous devriez voir la version de NMAP installée.


Comprendre les bases : ports et services

Avant de scanner, il est essentiel de comprendre quelques concepts clés.


Qu'est-ce qu'un port ?

Un port réseau est un point d'entrée logique sur une machine permettant à des services de communiquer. Il existe 65 535 ports (de 0 à 65535) divisés en trois catégories :

  • Ports bien connus (0-1023) : réservés aux services standards (HTTP:80, HTTPS:443, SSH:22, FTP:21).
  • Ports enregistrés (1024-49151) : utilisés par des applications tierces.
  • Ports dynamiques/privés (49152-65535) : utilisés temporairement par les applications clientes.

États d'un port

NMAP peut déterminer plusieurs états pour un port :

  • Open (ouvert) : un service écoute activement sur ce port.
  • Closed (fermé) : aucun service n'écoute, mais le port est accessible.
  • Filtered (filtré) : un pare-feu ou un filtre bloque la sonde (impossible de savoir si ouvert ou fermé).
  • Open|Filtered : NMAP ne peut pas déterminer si le port est ouvert ou filtré.
  • Closed|Filtered : NMAP ne peut pas déterminer si le port est fermé ou filtré.

Commandes NMAP essentielles


1. Scanner un hôte unique

nmap 192.168.1.1

Scanne les 1000 ports les plus courants sur la machine 192.168.1.1.


2. Scanner plusieurs hôtes

nmap 192.168.1.1 192.168.1.2 192.168.1.3

Ou une plage d'adresses :

nmap 192.168.1.1-50

Ou un sous-réseau complet :

nmap 192.168.1.0/24

3. Scanner des ports spécifiques

nmap -p 80,443 192.168.1.1

Scanne uniquement les ports 80 et 443.


Scanner une plage de ports :

nmap -p 1-1000 192.168.1.1

Scanner TOUS les ports (65535) :

nmap -p- 192.168.1.1

4. Détecter le système d'exploitation

nmap -O 192.168.1.1

Nécessite les droits administrateur (sudo sur Linux/Mac).


5. Détecter les versions des services

nmap -sV 192.168.1.1

Identifie les versions exactes des services (Apache 2.4.41, OpenSSH 8.2, etc.).


6. Scan agressif complet

nmap -A 192.168.1.1

Active la détection d'OS (-O), la détection de version (-sV), le scan de scripts (-sC) et le traceroute.


7. Scan discret (SYN scan)

sudo nmap -sS 192.168.1.1

Le SYN scan (ou "half-open scan") est plus discret car il n'établit pas de connexion TCP complète. Nécessite les droits root/admin.


8. Découverte d'hôtes actifs (ping scan)

nmap -sn 192.168.1.0/24

Identifie toutes les machines actives sur le réseau sans scanner les ports.


9. Scan UDP

sudo nmap -sU 192.168.1.1

Scanne les ports UDP (plus lent que TCP). Nécessite les droits admin.


10. Utiliser des scripts NSE

NMAP intègre un moteur de scripts puissant (NSE - Nmap Scripting Engine) permettant d'automatiser des tâches avancées.


Exemple : détecter des vulnérabilités courantes :

nmap --script vuln 192.168.1.1

Scanner les vulnérabilités HTTP :

nmap --script http-vuln* 192.168.1.1

Lister tous les scripts disponibles :

ls /usr/share/nmap/scripts/

Scénarios d'utilisation pratiques


Scénario 1 : Auditer son propre serveur web

Vous avez un serveur web et souhaitez vérifier quels ports sont exposés publiquement.

nmap -sV -p 1-10000 monserveur.com

Résultat attendu : seuls les ports 80 (HTTP) et 443 (HTTPS) devraient être ouverts. Si d'autres ports apparaissent (22-SSH, 3306-MySQL, 5432-PostgreSQL), c'est potentiellement un risque de sécurité.


Scénario 2 : Identifier des machines sur son réseau local

Vous souhaitez savoir quels appareils sont connectés à votre réseau domestique.

nmap -sn 192.168.1.0/24

NMAP vous retournera une liste de toutes les machines actives avec leurs adresses IP et (parfois) leur nom d'hôte.


Scénario 3 : Vérifier si un pare-feu est bien configuré

Vous avez configuré un pare-feu pour bloquer tous les ports sauf 80 et 443. Vérifiez avec :

nmap -p 1-65535 monserveur.com

Si d'autres ports apparaissent comme "open" ou "open|filtered", votre pare-feu n'est pas correctement configuré.


Scénario 4 : Détecter des services obsolètes

nmap -sV --script banner 192.168.1.10

Permet de récupérer les bannières des services et d'identifier des versions obsolètes potentiellement vulnérables (ex: Apache 2.2 avec des CVE connues).


Options avancées et optimisation


Accélérer les scans

NMAP propose des templates de vitesse :

nmap -T4 192.168.1.1

Les niveaux vont de T0 (paranoid, très lent) à T5 (insane, très rapide mais détectable).

  • T0-T2 : scans discrets pour éviter la détection.
  • T3 : vitesse par défaut (équilibrée).
  • T4 : recommandé pour des scans rapides sur réseaux fiables.
  • T5 : très rapide mais peut perdre en précision.

Sauvegarder les résultats

Enregistrer le résultat dans un fichier texte :

nmap -oN resultat.txt 192.168.1.1

Format XML (pour traitement automatisé) :

nmap -oX resultat.xml 192.168.1.1

Format "grepable" (pour filtrage avec grep) :

nmap -oG resultat.gnmap 192.168.1.1

Tous les formats en une commande :

nmap -oA scan_complet 192.168.1.1

Éviter la détection (stealthscan)

Combiner plusieurs techniques pour rester discret :

sudo nmap -sS -T2 -f --data-length 20 -D RND:10 192.168.1.1
  • -sS : SYN scan
  • -T2 : vitesse lente
  • -f : fragmentation des paquets
  • --data-length 20 : ajoute des données aléatoires
  • -D RND:10 : utilise 10 leurres (decoys) pour masquer l'origine

Bonnes pratiques et éthique


N'utilisez NMAP que légalement

Scanner un réseau ou une machine sans autorisation explicite est illégal dans la plupart des pays et peut être assimilé à une tentative d'intrusion informatique.


Cas d'usage légitimes :

  • Auditer vos propres systèmes et réseaux.
  • Missions de pentest avec contrat écrit et autorisation signée.
  • Recherche académique sur des environnements de test isolés.
  • CTF (Capture The Flag) et environnements de formation (HackTheBox, TryHackMe, etc.).

Cas illégaux :

  • Scanner des réseaux d'entreprises sans permission.
  • Scanner des serveurs publics pour trouver des vulnérabilités à exploiter.
  • Réaliser des scans de masse sur Internet (certains pays interdisent même les scans passifs).

Respecter les systèmes

  • Ne surchargez pas les systèmes avec des scans trop agressifs (-T5 sur des serveurs en production).
  • Informez toujours les propriétaires avant de scanner leurs infrastructures.
  • Documentez vos scans et conservez les autorisations écrites.

Ressources pour aller plus loin

  • Documentation officielle : nmap.org/book
  • Scripts NSE : explorez les centaines de scripts disponibles dans /usr/share/nmap/scripts/
  • Zenmap : interface graphique pour visualiser les scans de manière plus intuitive.
  • Plateformes d'entraînement : HackTheBox, TryHackMe, PentesterLab pour pratiquer en environnement légal.

Conclusion

NMAP est un outil extrêmement puissant qui, utilisé de manière responsable, permet d'améliorer considérablement la sécurité de vos systèmes. Que vous soyez administrateur système, professionnel de la cybersécurité ou simple curieux, maîtriser NMAP est une compétence essentielle.


Pratiquez sur vos propres machines, documentez-vous continuellement et respectez toujours le cadre légal. La cybersécurité responsable commence par l'éthique et le respect des systèmes d'autrui.




⚠️ Avertissement et clause de non-responsabilité

Cet article est publié à des fins purement éducatives et informatives.


L'utilisation de NMAP ou de tout autre outil de scan réseau sur des systèmes, réseaux ou infrastructures dont vous n'êtes pas propriétaire ou pour lesquels vous n'avez pas reçu d'autorisation écrite explicite est strictement interdite et peut constituer une infraction pénale dans de nombreux pays (France, Union Européenne, États-Unis, etc.).


Je ne peux en aucun cas être tenu responsable de l'utilisation abusive, illégale ou malveillante des informations contenues dans cet article. Toute action que vous entreprenez avec les connaissances acquises ici relève de votre seule responsabilité.


Utilisez NMAP uniquement pour :

  • Auditer vos propres systèmes et réseaux.
  • Réaliser des tests de sécurité dans le cadre de missions autorisées (pentest, audit) avec autorisation écrite.
  • Vous former sur des environnements de test légaux (machines virtuelles personnelles, plateformes CTF autorisées).

En appliquant les techniques décrites dans cet article, vous acceptez d'agir de manière éthique, responsable et dans le strict respect des lois en vigueur.