Guide complet des commandes Nmap pour débutants

Nmap est l’outil de référence pour scanner et analyser un réseau. Si tu débutes en administration système ou en cybersécurité, maîtriser Nmap est essentiel pour identifier les machines actives, détecter les ports ouverts et analyser les services. Dans cet article, tu vas découvrir toutes les commandes importantes avec des exemples concrets. À la fin, tu sauras scanner un réseau comme un pro !


Qu’est-ce que Nmap ?

Nmap (Network Mapper) est un outil open-source qui permet de scanner des réseaux et d’identifier ce qui s’y trouve. Tu peux l’utiliser pour :

  • Découvrir quelles machines sont actives sur ton réseau
  • Voir quels ports sont ouverts sur ces machines
  • Identifier les services qui tournent (Apache, SSH, MySQL…)
  • Détecter le système d’exploitation utilisé

Important : Scanner un réseau qui ne t’appartient pas sans autorisation est illégal. Utilise Nmap uniquement sur tes propres machines ou avec une permission écrite.


Installation de Nmap

Sur Linux (Debian/Ubuntu)

sudo apt update
sudo apt install nmap

Sur macOS

brew install nmap

Sur Windows

Télécharge l’installeur depuis nmap.org et suis l’assistant d’installation.

Vérifier l’installation

nmap --version

Les commandes de base

1. Scanner une seule machine

nmap 192.168.1.1

C’est la commande la plus simple. Elle scanne les 1000 ports les plus courants sur l’adresse IP indiquée.

Exemple de résultat :

PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https

Tu vois ici que cette machine a 3 ports ouverts : SSH (22), HTTP (80) et HTTPS (443).


2. Scanner tout un sous-réseau

nmap 192.168.1.0/24

Cette commande scanne toutes les IP de 192.168.1.1 à 192.168.1.254. Super pratique pour avoir une vue d’ensemble de ton réseau !

Tu peux aussi scanner une plage précise :

nmap 192.168.1.1-50

Ici, seules les adresses de 1 à 50 seront scannées.


3. Scanner un nom de domaine

nmap test.com

Nmap fonctionne aussi avec des noms de domaine, pas seulement des adresses IP.


Découvrir les machines actives

Ping Scan (sans scanner les ports)

nmap -sn 192.168.1.0/24

L’option -sn permet de découvrir uniquement quelles machines sont allumées sur le réseau, sans scanner leurs ports. C’est très rapide et pratique pour cartographier un réseau.

Quand la machine NMAP est sur le même réseau que les machines à découvrir, l’option permet de faire des requêtes ARP pour découvrir les autres machines. Si les machines sont sur un autre réseau, nmap utilise ICMP (PING) ou bien un port commun comme le 80 (HTTP).

Résultat typique :

Nmap scan report for 192.168.1.1
Host is up (0.0012s latency).

Nmap scan report for 192.168.1.15
Host is up (0.0045s latency).

Nmap scan report for 192.168.1.23
Host is up (0.0023s latency).

Scanner des ports spécifiques

Ports précis

nmap -p 22,80,443 192.168.1.1

L’option -p te permet de choisir quels ports scanner. Ici, on ne scanne que les ports 22 (SSH), 80 (HTTP) et 443 (HTTPS).

Tous les ports

nmap -p- 192.168.1.1

Le -p- scanne TOUS les ports possibles (de 1 à 65535). Attention, c’est très long !

Plage de ports

nmap -p 1-1000 192.168.1.1

Scanne uniquement les ports de 1 à 1000.


Scan rapide

nmap -F 192.168.1.1

L’option -F (Fast) ne scanne que les 100 ports les plus courants au lieu de 1000. Parfait pour un aperçu rapide.


Détecter les services et versions

Détection de services

nmap -sV 192.168.1.1

L’option -sV identifie précisément quel logiciel tourne sur chaque port ouvert.

Exemple de résultat :

PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 8.9p1 Ubuntu
80/tcp   open  http    Apache httpd 2.4.52
443/tcp  open  ssl/http nginx 1.21.6
3306/tcp open  mysql   MySQL 8.0.32

Tu vois maintenant les versions exactes des logiciels. C’est super utile pour identifier des vulnérabilités connues.


Détecter le système d’exploitation

sudo nmap -O 192.168.1.1

L’option -O tente de deviner quel système d’exploitation est utilisé. Cette commande nécessite les droits administrateur (sudo).

Résultat possible :

Running: Linux 5.10.X
OS details: Linux 5.10 - 5.15 (Ubuntu 22.04)

Scan complet (agressif)

sudo nmap -A 192.168.1.1

L’option -A combine plusieurs techniques :

  • Détection du système d’exploitation (-O)
  • Détection des versions de services (-sV)
  • Exécution de scripts de détection
  • Traceroute

C’est le scan le plus complet, mais aussi le plus visible pour les systèmes de détection d’intrusion.


Types de scan TCP

TCP SYN Scan (par défaut avec sudo)

sudo nmap -sS 192.168.1.1

Le scan SYN est le plus rapide et le plus discret. Il est aussi appelé « half-open scan » car il n’établit pas complètement la connexion TCP.

TCP Connect Scan (par défaut sans sudo)

nmap -sT 192.168.1.1

Le scan Connect établit une connexion TCP complète. Plus lent que le SYN scan, mais fonctionne sans privilèges administrateur.


Contrôler la vitesse de scan

L’option -T contrôle la vitesse du scan (de 0 à 5). Ce « timing template » ajuste plusieurs paramètres en même temps : délai entre les paquets, timeout, nombre de connexions parallèles, etc.
Par exemple, l’option T0 Envoie un seul paquet toutes les 5 minutes.

nmap -T4 192.168.1.1

L’option -T contrôle la vitesse du scan (de 0 à 5) :

  • T0 : Paranoïaque (ultra lent, discret)
  • T1 : Sournois (très lent)
  • T2 : Poli (lent, peu intrusif)
  • T3 : Normal (vitesse par défaut)
  • T4 : Agressif (rapide, recommandé)
  • T5 : Insane (très rapide mais peut rater des ports)

Pour un usage quotidien, -T4 est un bon compromis entre rapidité et fiabilité.


Sauvegarder les résultats

Format normal (lisible)

nmap -A 192.168.1.1 -oN rapport.txt

Sauvegarde les résultats dans un fichier texte facile à lire.

Format XML

nmap -A 192.168.1.1 -oX rapport.xml

Utile pour importer les résultats dans d’autres outils.

Format grepable

nmap -A 192.168.1.1 -oG rapport.grep

Format optimisé pour être analysé avec des scripts ou la commande grep.

Tous les formats en même temps

nmap -A 192.168.1.1 -oA rapport

L’option -oA crée trois fichiers : rapport.nmap, rapport.xml et rapport.gnmap.


Exemple pratique : Auditer un réseau

Imaginons que tu arrives dans une nouvelle entreprise et tu dois auditer le réseau local 192.168.1.0/24. Voici les étapes :

Étape 1 : Découvrir les machines actives

nmap -sn 192.168.1.0/24

Tu obtiens la liste de toutes les machines allumées.

Étape 2 : Scanner une machine intéressante

sudo nmap -A -T4 192.168.1.50

Tu fais un scan complet de la machine 192.168.1.50 avec une vitesse accélérée.

Étape 3 : Sauvegarder le rapport

sudo nmap -A -T4 192.168.1.50 -oA audit_192.168.1.50

Tu sauvegardes tout dans des fichiers pour documentation.

Étape 4 : Analyser les résultats

Tu regardes :

  • Quels ports sont ouverts ?
  • Quels services tournent ?
  • Les versions sont-elles à jour ?
  • Y a-t-il des services inutiles exposés ?

Les bonnes pratiques

À FAIRE ✅

  1. Toujours avoir une autorisation écrite avant de scanner un réseau
  2. Documenter tes scans : date, raison, résultats
  3. Utiliser des timing modérés (-T2 ou -T3) en production
  4. Tester sur ton propre réseau d’abord pour apprendre
  5. Sauvegarder les résultats pour comparaison future

À ÉVITER ❌

  1. Scanner des réseaux externes sans permission (c’est illégal !)
  2. Utiliser -T5 en production (trop agressif)
  3. Lancer des scans massifs aux heures de pointe
  4. Oublier de documenter tes actions
  5. Scanner des infrastructures critiques sans planification

Tableau récapitulatif des commandes

CommandeDescriptionVitesse
nmap 192.168.1.1Scan basiqueMoyenne
nmap -sn 192.168.1.0/24Découverte d’hôtesRapide
nmap -F 192.168.1.1Scan rapideTrès rapide
nmap -p- 192.168.1.1Tous les portsTrès lent
nmap -sV 192.168.1.1Détection de servicesLent
nmap -O 192.168.1.1Détection OSMoyenne
nmap -A 192.168.1.1Scan completLent
nmap -T4 192.168.1.1Scan accéléréRapide

Options combinées utiles

Tu peux combiner plusieurs options pour des scans personnalisés :

# Scan rapide avec détection de services
nmap -F -sV 192.168.1.1

# Scan complet sur des ports spécifiques
nmap -A -p 80,443 192.168.1.1

# Découverte rapide du réseau avec vitesse accélérée
nmap -sn -T4 192.168.1.0/24

# Scan de tous les ports avec sauvegarde
nmap -p- -oN scan_complet.txt 192.168.1.1

Comprendre les états des ports

Quand Nmap scanne un port, il peut indiquer plusieurs états :

  • open : Un service écoute sur ce port et accepte les connexions
  • closed : Le port est accessible mais aucun service n’écoute
  • filtered : Nmap ne peut pas déterminer si le port est ouvert (probablement bloqué par un pare-feu)
  • unfiltered : Le port est accessible mais Nmap ne sait pas s’il est ouvert ou fermé
  • open|filtered : Nmap ne peut pas déterminer l’état exact
  • closed|filtered : Nmap ne peut pas déterminer si le port est fermé ou filtré

Aller plus loin avec les scripts NSE

Nmap inclut des centaines de scripts (Nmap Scripting Engine) pour des tests avancés :

# Exécuter les scripts par défaut
nmap -sC 192.168.1.1

# Utiliser un script spécifique
nmap --script http-title 192.168.1.1

# Voir la liste des scripts disponibles
ls /usr/share/nmap/scripts/

Les scripts NSE peuvent détecter des vulnérabilités, énumérer des utilisateurs, tester des mots de passe faibles, et bien plus encore. C’est un sujet avancé qu’on couvrira dans un prochain article !


Ressources pour approfondir


Conclusion

Tu connais maintenant les commandes Nmap essentielles pour scanner et analyser un réseau. Commence par les commandes simples sur ton propre réseau pour te familiariser avec l’outil. N’oublie jamais l’aspect légal : scanne uniquement des réseaux dont tu as la responsabilité ou pour lesquels tu as une autorisation écrite. Avec de la pratique, Nmap deviendra ton meilleur allié pour l’administration système et la sécurité réseau !


/


Article rédigé avec l’aide de l’IA mais avec la relecture d’un humain.
N’hésites pas à laisser un commentaire !

Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *