Utiliser nmap pour découvrir les hôtes actifs, scanner les ports ouverts et identifier les services sur un réseau.
Debian avec accès root ou sudo. Connaître les bases de l'adressage IP et des ports TCP/UDP.
sudo apt install nmap -y nmap --version
nmap [options] [cible]
# Cibles possibles :
nmap 192.168.1.1 # une IP
nmap 192.168.1.1-50 # plage d'IPs
nmap 192.168.1.0/24 # réseau entier
nmap scanme.nmap.org # nom de domaine
nmap 192.168.1.1 192.168.1.2 # plusieurs IPs
| Option | Description | Exemple |
|---|---|---|
| -sn | Ping scan — découverte sans scan de ports (rapide) | nmap -sn 192.168.1.0/24 |
| -Pn | Pas de ping — considère tous les hôtes comme actifs | nmap -Pn 192.168.1.1 |
| -PR | Ping ARP — très efficace sur réseau local | sudo nmap -PR 192.168.1.0/24 |
# Lister tous les hôtes actifs sur le réseau local sudo nmap -sn 192.168.1.0/24 # Résultat typique : # Nmap scan report for 192.168.1.1 # Host is up (0.0010s latency). # MAC Address: AA:BB:CC:DD:EE:FF (Cisco)
| Option | Type de scan | Description |
|---|---|---|
| -sS | TCP SYN (stealth) | Scan furtif — envoie un SYN, n'établit pas la connexion. Nécessite root. |
| -sT | TCP Connect | Connexion TCP complète. Ne nécessite pas root mais laisse des traces. |
| -sU | UDP | Scan des ports UDP (plus lent). Services : DNS 53, DHCP 67, SNMP 161. |
| -sA | TCP ACK | Détecte les règles de pare-feu (ports filtrés vs fermés). |
| -F | Fast scan | Scan des 100 ports les plus courants (rapide). |
| -p | Ports spécifiques | -p 80,443 ou -p 1-1024 ou -p- (tous les ports) |
| --top-ports | Top N ports | --top-ports 20 : scan des 20 ports les plus courants |
# Scan SYN des 1000 ports les plus courants (rapide, root requis) sudo nmap -sS 192.168.1.1 # Scan des ports 1 à 65535 sudo nmap -sS -p- 192.168.1.1 # Scan UDP des ports courants sudo nmap -sU --top-ports 20 192.168.1.1 # Scan rapide des 100 ports les plus communs nmap -F 192.168.1.0/24
| Option | Description | Exemple |
|---|---|---|
| -sV | Détecte les versions des services | nmap -sV 192.168.1.1 |
| -O | Détecte l'OS (fingerprinting) | sudo nmap -O 192.168.1.1 |
| -A | Mode agressif : OS + version + scripts + traceroute | sudo nmap -A 192.168.1.1 |
| --version-intensity | Intensité de détection (0-9) | nmap -sV --version-intensity 5 192.168.1.1 |
# Scan complet avec détection de version et OS sudo nmap -sS -sV -O 192.168.1.1 # Résultat typique : # PORT STATE SERVICE VERSION # 22/tcp open ssh OpenSSH 9.2 (Debian) # 80/tcp open http Apache httpd 2.4.57 # 443/tcp open ssl/http Apache httpd 2.4.57
nmap intègre des scripts pour des tests de sécurité avancés :
# Lancer les scripts par défaut (safe) nmap -sC 192.168.1.1 # Script spécifique : détecter les vulnérabilités SMB sudo nmap --script smb-vuln-ms17-010 192.168.1.1 # Vérifier les certificats SSL nmap --script ssl-cert -p 443 192.168.1.1 # Énumérer les partages HTTP nmap --script http-enum -p 80,443 192.168.1.1 # Combinaison recommandée pour un audit sudo nmap -sS -sV -sC -O -p- 192.168.1.1
| Option | Description |
|---|---|
| -oN fichier | Sauvegarde le résultat en texte normal |
| -oX fichier | Sauvegarde en XML (exploitable par d'autres outils) |
| -oG fichier | Sauvegarde en format grepable |
| -oA fichier | Sauvegarde dans tous les formats |
| -v / -vv | Mode verbeux (affiche plus d'informations) |
| -T0 à -T5 | Vitesse du scan (T0=paranoïaque, T3=normal, T4=agressif, T5=insensé) |
| --open | N'affiche que les ports ouverts |
# Scan complet avec sauvegarde du résultat sudo nmap -sS -sV -A -T4 --open 192.168.1.0/24 -oA /tmp/scan-reseau # Scan discret et lent (évite de déclencher les IDS) sudo nmap -sS -T1 -p 22,80,443 192.168.1.1
✅ Réponse : -sn
✅ Réponse : TCP SYN (-sS)
✅ Réponse : -sV
✅ Réponse : Scanner tous les ports (1 à 65535)
✅ Réponse : Illégal — article 323-1 du Code pénal