Pourquoi Nmap reste l’outil n°1 d’audit réseau ?
Depuis 1997, Nmap est le standard absolu pour cartographier un réseau. Gratuit, open source, présent sur tous les Kali Linux, il fait ce qu’aucun outil GUI ne fait aussi rapidement : vous donner en 2 minutes la liste exacte des ports ouverts, services et versions sur 254 machines. Apprendre 10 commandes Nmap permet à un admin sénégalais de détecter 80 % des erreurs courantes (ports oubliés ouverts sur Internet, services obsolètes, partages SMB exposés, certificats SSL expirés) sans aucun outil payant.
Nmap : l’outil incontournable du scanner de vulnerabilites
Nmap (Network Mapper) est l’outil de scan réseau le plus utilise au monde par les professionnels de la sécurité. Gratuit et open source, il permet de découvrir les hotes actifs, les ports ouverts, les services en cours d’exécution et les vulnerabilites potentielles sur un réseau. Que vous securisiez le réseau d’une PME a Dakar ou que vous auditiez un serveur VPS hebergeant votre site WordPress, Nmap est votre premier outil de diagnostic.
Important : ne scannez JAMAIS un réseau ou un système sans autorisation ecrite prealable. Le scan non autorise est illegal au Sénégal (loi 2008-11 sur la cybercriminalite). Ce guide est destiné aux administrateurs système et professionnels de sécurité travaillant sur leurs propres infrastructures.
Installation de Nmap
Sur Windows
# Télécharger l'installateur depuis nmap.org
# L'installation inclut Zenmap (interface graphique) et Npcap
# Vérifier l'installation
nmap --version
# Nmap 7.94 ( https://nmap.org )
Sur Linux (Kali, Ubuntu, Debian)
# Sur Ubuntu/Debian
sudo apt update && sudo apt install nmap -y
# Sur Kali Linux (pre-installé)
nmap --version
# Installer les scripts NSE supplementaires
sudo apt install nmap-scripts -y
Les types de scan fondamentaux
Scan de découverte d’hotes (Ping Scan)
Identifiez quels appareils sont actifs sur votre réseau local :
# Découvrir tous les hotes actifs sur le réseau local
nmap -sn 192.168.1.0/24
# Résultat type :
# Nmap scan report for 192.168.1.1 (routeur)
# Host is up (0.0010s latency).
# Nmap scan report for 192.168.1.15 (PC comptable)
# Host is up (0.0030s latency).
# Nmap scan report for 192.168.1.42 (imprimante)
# Host is up (0.0050s latency).
# Découverte avec ARP (plus fiable sur réseau local)
nmap -sn -PR 192.168.1.0/24
# Sauvegarder l'inventaire en fichier
nmap -sn 192.168.1.0/24 -oN inventaire-reseau.txt
Scan de ports TCP (SYN Scan)
Le scan le plus courant. Rapide et discret, il identifie les ports ouverts sans établir de connexion complété :
# Scan SYN des 1000 ports les plus courants
sudo nmap -sS 192.168.1.1
# Scan de tous les 65535 ports TCP
sudo nmap -sS -p- 192.168.1.1
# Scan de ports spécifiques
sudo nmap -sS -p 22,80,443,3306,8080 192.168.1.1
# Scan d'une plage de ports
sudo nmap -sS -p 1-1024 192.168.1.1
Scan TCP Connect (sans privileges root)
# Si vous n'avez pas les droits root
nmap -sT 192.168.1.1
# Plus lent que SYN mais ne nécessité pas de privileges
Scan UDP
# Scanner les ports UDP (DNS, SNMP, DHCP)
sudo nmap -sU --top-ports 100 192.168.1.1
# Scan UDP spécifique
sudo nmap -sU -p 53,67,68,69,123,161,162,514 192.168.1.1
# Note : le scan UDP est beaucoup plus lent que TCP
Détection de services et versions
Savoir quel port est ouvert ne suffit pas. Il faut identifier le service exact et sa version pour trouver des vulnerabilites :
# Détection de version des services
nmap -sV 192.168.1.1
# Résultat type :
# 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 Apache httpd 2.4.52
# 3306/tcp open mysql MySQL 8.0.33
# Détection agressive (plus precise mais plus lente)
nmap -sV --version-intensity 5 192.168.1.1
# Détection OS + services + scripts + traceroute
nmap -A 192.168.1.1
# Détection du système d'exploitation
sudo nmap -O 192.168.1.1
Scripts NSE (Nmap Scripting Engine)
Les scripts NSE sont la fonctionnalité la plus puissante de Nmap. Ils automatisent la détection de vulnerabilites :
Catégories de scripts
| Catégorie | Usage | Commande |
|---|---|---|
| vuln | Détection de vulnerabilites connues | --script vuln |
| auth | Test d’authentification faible | --script auth |
| default | Scripts de base surs | -sC |
| discovery | Découverte d’informations | --script discovery |
| brute | Tests de force brute | --script brute |
| safe | Scripts sans risque | --script safe |
Scripts de vulnerabilite essentiels
# Scanner toutes les vulnerabilites connues
nmap --script vuln 192.168.1.1
# Vérifier les vulnerabilites SSL/TLS
nmap --script ssl-enum-ciphers -p 443 monsite.sn
# Détecter Heartbleed
nmap --script ssl-heartbleed -p 443 monsite.sn
# Vérifier les vulnerabilites SMB (WannaCry, EternalBlue)
nmap --script "smb-vuln*" -p 445 192.168.1.0/24
# Tester les credentials par défaut
nmap --script http-default-accounts -p 80,8080 192.168.1.1
# Enumerer les utilisateurs
nmap --script smb-enum-users -p 445 192.168.1.1
Scripts pour serveurs web (WordPress, Apache, Nginx)
# Enumeration de répertoires web
nmap --script http-enum -p 80,443 monsite.sn
# Détecter le CMS (WordPress, Joomla, etc.)
nmap --script http-generator -p 80,443 monsite.sn
# Vérifier les méthodes HTTP dangereuses
nmap --script http-methods -p 80,443 monsite.sn
# Détecter un WAF (Web Application Firewall)
nmap --script http-waf-detect -p 80,443 monsite.sn
# Headers de sécurité
nmap --script http-security-headers -p 80,443 monsite.sn
# Vulnerabilites WordPress spécifiques
nmap --script http-wordpress-enum -p 80,443 monsite.sn
Cas pratiques pour le Sénégal
Cas 1 : Auditer le réseau d’une PME
# Étape 1 : Inventaire complet du réseau
nmap -sn 192.168.1.0/24 -oN inventaire.txt
# Étape 2 : Scanner les ports ouverts sur chaque hote
nmap -sS -sV --top-ports 1000 192.168.1.0/24 -oN ports-ouverts.txt
# Étape 3 : Identifier les services vulnerables
nmap --script vuln 192.168.1.0/24 -oN vulnerabilites.txt
# Étape 4 : Vérifier les partages réseau non sécurisés
nmap --script smb-enum-shares -p 445 192.168.1.0/24
# Points d'attention :
# - Imprimantes avec interface web sans mot de passe (port 80/443)
# - NAS ou serveurs de fichiers avec SMB ouvert
# - Cameras IP avec credentials par défaut
# - Routeur avec interface d'administration accessible
Cas 2 : Auditer un serveur VPS (site WordPress)
# Scan complet du serveur
nmap -sS -sV -sC -O -p- votre-serveur.sn -oN audit-vps.txt
# Vérifier la configuration SSL
nmap --script ssl-enum-ciphers,ssl-cert -p 443 votre-serveur.sn
# Vérifier que seuls les ports nécessaires sont ouverts
# Ports attendus pour un serveur WordPress :
# 22 (SSH), 80 (HTTP), 443 (HTTPS)
# Tout autre port ouvert doit être justifie
# Tester la sécurité SSH
nmap --script ssh-auth-methods,ssh2-enum-algos -p 22 votre-serveur.sn
Cas 3 : Vérifier un réseau WiFi d’entreprise
# Scanner les appareils connectés au WiFi
nmap -sn 10.0.0.0/24
# Identifier les appareils non autorises
# Comparer avec votre inventaire connu
# Vérifier si des appareils exposent des services dangereux
nmap -sS -p 445,3389,23,21 10.0.0.0/24
# 445 : partage fichiers (risque si ouvert)
# 3389 : bureau a distance (ne devrait pas être accessible)
# 23 : Telnet (jamais acceptable)
# 21 : FTP (préférer SFTP)
Formats de sortie et rapports
# Sortie normale (lisible)
nmap -sV 192.168.1.1 -oN rapport-normal.txt
# Sortie XML (pour traitement automatise)
nmap -sV 192.168.1.1 -oX rapport.xml
# Sortie Grepable (pour filtrage avec grep)
nmap -sV 192.168.1.1 -oG rapport-grep.txt
# Tous les formats en même temps
nmap -sV 192.168.1.1 -oA rapport-complet
# Produit : rapport-complet.nmap, rapport-complet.xml, rapport-complet.gnmap
# Filtrer les résultats grepable
grep "open" rapport-grep.txt
grep "/tcp.*open" rapport-grep.txt | awk '{print $2, $3}'
Optimisation des scans
Gérer la vitesse
# Templates de timing (T0 a T5)
nmap -T0 192.168.1.1 # Paranoiaque (très lent, discret)
nmap -T1 192.168.1.1 # Sournois
nmap -T2 192.168.1.1 # Poli
nmap -T3 192.168.1.1 # Normal (défaut)
nmap -T4 192.168.1.1 # Agressif (recommande en LAN)
nmap -T5 192.168.1.1 # Dement (risque de rater des ports)
# Pour un réseau local au Sénégal, T4 est ideal
# Pour un scan distant sur connexion 3G/4G, restez sur T3
# Limiter le debit pour ne pas saturer une connexion lente
nmap --max-rate 100 192.168.1.0/24
Techniques d’evasion (pour tests de pénétration autorises)
# Fragmentation des paquets
nmap -f 192.168.1.1
# Decoy scan (masquer votre IP parmi des leurres)
nmap -D RND:5 192.168.1.1
# Changer le port source
nmap --source-port 53 192.168.1.1
# Scan idle (utiliser un zombie)
nmap -sI zombie-ip 192.168.1.1
Automatisation avec des scripts Bash
#!/bin/bash
# Script d'audit réseau automatise
TARGET="192.168.1.0/24"
DATE=$(date +%Y-%m-%d)
OUTPUT_DIR="audit-$DATE"
mkdir -p "$OUTPUT_DIR"
echo "[1/4] Découverte des hotes..."
nmap -sn $TARGET -oG "$OUTPUT_DIR/hotes.gnmap"
HOSTS=$(grep "Up" "$OUTPUT_DIR/hotes.gnmap" | awk '{print $2}')
echo "Hotes trouves : $(echo "$HOSTS" | wc -l)"
echo "[2/4] Scan des ports et services..."
nmap -sS -sV --top-ports 1000 -T4 $TARGET -oN "$OUTPUT_DIR/services.txt" -oX "$OUTPUT_DIR/services.xml"
echo "[3/4] Scan de vulnerabilites..."
nmap --script vuln $TARGET -oN "$OUTPUT_DIR/vulns.txt"
echo "[4/4] Vérification SSL..."
for host in $HOSTS; do
nmap --script ssl-enum-ciphers -p 443 $host >> "$OUTPUT_DIR/ssl.txt"
done
echo "Audit terminé. Résultats dans $OUTPUT_DIR/"
Complements a Nmap : outils associés
| Outil | Rôle | Quand l’utiliser |
|---|---|---|
| Zenmap | Interface graphique Nmap | Pour les debutants ou la visualisation réseau |
| Masscan | Scan de ports ultra-rapide | Scanner des plages IP très larges |
| Nikto | Scanner de vulnerabilites web | Après avoir identifie un serveur web avec Nmap |
| OpenVAS | Scanner de vulnerabilites complet | Audits de sécurité approfondis |
| WPScan | Scanner WordPress | Auditer un site WordPress specifiquement |
Erreurs fréquentes
1. Scanner Internet sans autorisation explicite
Cause : on lance nmap -sS -p- 196.0.0.0/8 « pour s’entraîner » depuis chez soi. Outre l’illégalité (loi 2008-11), votre FAI (Sonatel, Free) détecte le scan massif et peut suspendre votre ligne.
Solution : entraînez-vous sur scanme.nmap.org (autorisé par les auteurs de Nmap), votre LAN 192.168.x.x, ou des plateformes type TryHackMe/HackTheBox.
2. Scan trop agressif qui crash le service
Cause : nmap -T5 -A --script vuln -p- target.sn sur un serveur de production peut saturer la base de données, déclencher des alertes WAF (Cloudflare, Wordfence) ou faire crasher des applications anciennes.
Solution : commencez doucement : -T3 (normal) ou -T2 (poli) sur la production. Limitez le débit avec --max-rate 100. Et toujours en fenêtre maintenance autorisée.
3. Confondre « port ouvert » et « vulnérabilité »
Cause : on rapporte les 12 ports ouverts comme autant de vulnérabilités. Un port 443 (HTTPS) ouvert est normal, c’est la version du service qui peut être obsolète.
Solution : couplez systématiquement -sV (détection version) avec --script vuln. La vraie vulnérabilité est : « Apache 2.4.49 sur le port 80 vulnérable à CVE-2021-41773 ».
4. nmap -sS sans sudo
Cause : le SYN scan nécessite des paquets bruts (raw sockets) — donc des privilèges root. Sans sudo, Nmap retombe silencieusement sur -sT (TCP Connect), beaucoup plus lent et plus visible.
Solution : utilisez sudo nmap -sS ou installez les capabilities : sudo setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip $(which nmap).
5. --script vuln sans relecture
Cause : on prend les résultats --script vuln au pied de la lettre. Beaucoup de scripts NSE produisent des false positives (CVE annoncées par signature de version mais le patch est appliqué).
Solution : validez chaque vulnérabilité signalée avec une seconde source : NVD, CVEDetails, ou un PoC manuel. Une CVE flag par Nmap n’est pas une certitude, c’est une piste.
Checklist audit réseau avec Nmap
- Autorisation ecrite obtenue avant tout scan
- Inventaire des hotes actifs réalisé (
nmap -sn) - Ports ouverts identifies sur chaque hote (
nmap -sS -sV) - Services et versions detectes (
nmap -sV) - Scripts de vulnerabilite executes (
--script vuln) - Configuration SSL/TLS verifiee (
ssl-enum-ciphers) - Ports inutiles identifies pour fermeture
- Rapport genere et sauvegarde en XML et texte
- Résultats communiques au responsable IT
- Plan de remediation etabli pour chaque vulnerabilite trouvee
Pour explorer plus loin
- Utiliser Kali Linux pour les débutants — l’OS qui inclut Nmap pré-configuré.
- Introduction au pentesting éthique — la méthodologie qui structure l’usage de Nmap.
- Sécuriser votre site WordPress — pour traiter les résultats Nmap côté défense.
- Créer une politique de sécurité informatique — Nmap fait partie des outils standards d’audit.
- Référence officielle : Nmap Network Scanning (livre gratuit en ligne) et NSE Documentation.
- Lab légal : scanme.nmap.org — cible autorisée pour s’entraîner.
Un hébergeur abordable pour vos projets
Hostinger combine prix raisonnable et stabilité. Lien partenaire — pas de surcoût pour vous.
Lien d affiliation. Si vous achetez via ce lien, le blog reçoit une petite commission sans surcoût pour vous.