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 ✅
- Toujours avoir une autorisation écrite avant de scanner un réseau
- Documenter tes scans : date, raison, résultats
- Utiliser des timing modérés (
-T2ou-T3) en production - Tester sur ton propre réseau d’abord pour apprendre
- Sauvegarder les résultats pour comparaison future
À ÉVITER ❌
- Scanner des réseaux externes sans permission (c’est illégal !)
- Utiliser
-T5en production (trop agressif) - Lancer des scans massifs aux heures de pointe
- Oublier de documenter tes actions
- Scanner des infrastructures critiques sans planification
Tableau récapitulatif des commandes
| Commande | Description | Vitesse |
|---|---|---|
nmap 192.168.1.1 | Scan basique | Moyenne |
nmap -sn 192.168.1.0/24 | Découverte d’hôtes | Rapide |
nmap -F 192.168.1.1 | Scan rapide | Très rapide |
nmap -p- 192.168.1.1 | Tous les ports | Très lent |
nmap -sV 192.168.1.1 | Détection de services | Lent |
nmap -O 192.168.1.1 | Détection OS | Moyenne |
nmap -A 192.168.1.1 | Scan complet | Lent |
nmap -T4 192.168.1.1 | Scan 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
- Site officiel : https://nmap.org
- Documentation complète : https://nmap.org/book/
- Liste des scripts NSE : https://nmap.org/nsedoc/
- Cheat sheet : https://nmap.org/docs.html
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 !
Laisser un commentaire