Nmap (Network Mapper) est un utilitaire opensource pour faire un scan et balayages de ports.
Il est capable de explorer et découvrir des machines sur le réseau et énumérer les services réseaux présents sur un PC distant.
Pour cela, nmap trouve les ports d’une machine distants.
Dans ce tutoriel, vous trouverez plusieurs exemples de commandes Nmap.

Table des matières
- 1 Introduction
- 2 10 exemples de commandes nmap
- 2.1 Analyser un hôte ou réseau distant
- 2.2 Scanner une liste d’hôte à partir d’un fichier
- 2.3 Exclure IP / Hôtes / Réseaux de Nmap Scan
- 2.4 Enumérer les ports TCP / UDP
- 2.5 Effectuer une analyse rapide
- 2.6 Rechercher les numéros de version des services hôte
- 2.7 Analyser les informations du système d’exploitation et Traceroute
- 2.8 Désactiver la découverte d’hôte (pas de ping) ou résolution DNS
- 2.9 Effectuer des scans pour tromper un pare-feu
- 2.10 Changer le type de scan
- 2.11 Scanner de vulnérabilités Nmap
- 2.12 Lancer une attaque bruteforce
- 2.13 Enregistrer le résultat du scan dans un fichier
- 3 Liste des options Nmap
- 4 Liens
Introduction
Nmap est disponible sur Linux ou Windows.
Sur Windows, il se présente sous la forme graphique afin de modéliser l’architecture du réseau après la découverte de host.
sudo apt-get install nmap #Pour les distributions basés sur Debian
yum install nmap #Pour les distributions basés sur Redhat
Pour Windows :
10 exemples de commandes nmap
Voici la syntaxe par défaut de nmap :
nmap [Type de Scans] [Options] {Host cible}
Analyser un hôte ou réseau distant
Pour analyser une machine distante :
nmap 192.168.1.1
nmap www.host.tld
Ou encore pour scanner plusieurs hôtes :
nmap 192.168.1.1 192.168.1.2 192.168.1.3
Pour scanner un réseau entier, on peut spécifier un masque de sous réseau :
nmap 192.168.1.0/24
nmap 192.168.1.*
Mais on peut aussi analyser un intervalle de machines comme ceci :
nmap 192.168.1.0-200
Pour afficher des détails, on ajoute les options -v ou -vv pour le mode bavard :
nmap -v 192.168.1.1
nmap -vv 192.168.1.1
Scanner une liste d’hôte à partir d’un fichier
Pour scanner des hôtes depuis un fichier :
nmap -iL /tmp/listehote.txt
Exclure IP / Hôtes / Réseaux de Nmap Scan
Pour exclure des hôtes d’une analyse :
nmap 192.168.1.0/24 --exclude 192.168.1.1
nmap 192.168.1.0/24 --exclude 192.168.1.1 192.168.1.5
nmap 192.168.1.0/24 --exclude 192.168.1.1,2,3
Ou encore exclure des hôtes depuis un fichier :
nmap 192.168.1.0/24 --excludefile exclusion.txt
Enumérer les ports TCP / UDP
Scanner tous les ports TCP :
nmap -sT 192.168.1.1
Scanner tous les ports UDP :
nmap -sU 192.168.1.1
Scanner un port TCP en particulier :
nmap -p T:80 192.168.1.1
Scanner un port UDP :
nmap -p U:53 192.168.1.1
Pour scanner un intervalle de ports :
nmap -p T:1-1024 192.168.1.1
Pour combiner plusieurs scans de ports réseaux spécifiques :
nmap -p U:53,9,113,T:21-25,80,443,8080 192.168.1.1
Effectuer une analyse rapide
Le scan rapide rechercher les ports répertoriés dans les fichiers nmap-services, cela permet de recenser les principaux services réseaux.
Pour cela, on utilise l’option -F de Nmap :
nmap -F 192.168.1.1
Rechercher les numéros de version des services hôte
Nous pouvons trouver les versions du service qui s’exécutent sur des hôtes distants avec l’option -sV :
nmap -sV 192.168.1.1
Analyser les informations du système d’exploitation et Traceroute
Nmap est aussi capable de détecter le système d’exploitation et la version en cours d’exécution sur l’hôte distant.
Pour activer la détection du système d’exploitation et de la version, l’analyse des scripts et le traceroute, nous pouvons utiliser l’option -A :
Nmap effectue un TCP/IP fingerprint et affiche le traceroute.
Si vous désirez n’avoir que la détection de l’OS, il faut utiliser l’option -O :
nmap -O 192.168.1.1
Désactiver la découverte d’hôte (pas de ping) ou résolution DNS
Ne pas envoyer de requête ping à l’hôte avant la numérisation avec l’option -Pn :
nmap -Pn 192.168.1.1
Pour désactiver la résolution DNS, utilisez l’option -n :
nmap -n 192.168.1.1
Effectuer des scans pour tromper un pare-feu
TCP Null Scan – Ne définissez aucun bit (l’en-tête de l’indicateur TCP est 0).
nmap -sN 192.168.1.1
TCP Fin Scan – Définissez uniquement le bit TCP FIN.
nmap -sF 192.168.1.1
TCP Xmas Scan – Définissez les drapeaux FIN, PSH et URG (allumant le paquet comme un arbre de Noël).
nmap -sX 192.168.1.1
Changer le type de scan
L’option -P permet de changer le type de scan :
- -Pn: Traitez tous les hôtes comme en ligne – ignorez la découverte des hôtes
- -PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP découverte vers des ports donnés
- -PE / PP / PM: sondes de découverte d’écho, d’horodatage et de demande de masque de réseau ICMP
- -PO [liste de protocoles]: Ping de protocole IP
Analyser les hôtes distants à l’aide de TCP ACK (PA) et TCP Syn (PS) :
nmap -PS 192.168.1.1
Analyser l’hôte distant pour des ports spécifiques avec TCP ACK :
nmap -PA -p 22,80 192.168.1.1
Analyser l’hôte distant pour des ports spécifiques avec TCP Syn :
nmap -PS -p 22,80 192.168.1.1
Effectuer une analyse furtive (TCP SYN Scan) :
nmap -sS 192.168.0.101
Scanner de vulnérabilités Nmap
Il existe un script prédéfini présent dans la commande dans Nmap qui permet aux utilisateurs d’exécuter un scan de vulnérabilités. Cela est donc très pratique pour s’assurer que votre système est à jour et non vulnérable.
On peut utiliser ces scripts prédéfinis ou posséder leur langage de programmation Lua pour dériver une fonctionnalité spécifique qui peut aider à la détection CVE.
Pour cela, on utilise l’option -script vuln :
nmap -Pn –script vuln 192.168.1.1
Vous pouvez simplement utiliser le vérificateur de logiciels malveillants Google SafeBrowsing par la commande:
nmap -p80 –script http-google-malware www.malekal.com
Lancer une attaque bruteforce
Vous pouvez également utiliser Nmap pour lancer une attaque par bruteforce.
Là aussi, on utilise l’option -script pour spécifier le type d’attaque.
nmap -sV –script http-wordpress-brute –script-args ‘userdb=users.txt,passdb=passwds.txt,http-wordpress-brute.hostname=domain.com, http-wordpress-brute.threads=3,brute.firstonly=true’ 192.168.1.1
Brute force attack against MS-SQL:
nmap -p 1433 –script ms-sql-brute –script-args userdb=customuser.txt,passdb=custompass.txt 192.168.1.105
Brute force attack against FTP:
nmap –script ftp-brute -p 21 192.168.1.105
Enregistrer le résultat du scan dans un fichier
L’option -oN permet d’enregistrer le résultat du portscan dans un fichier au format texte :
nmap -oN output.txt 192.168.1.1
Pour enregistrer le résultat du scan de port dans un fichier au format XML :
nmap -oX output.xml 192.168.1.1
Liste des options Nmap
Options | Commandes |
–exclude | Exclure des hôtes du scan |
-n | Désactiver la résolution DNS |
–open | Afficher que les ports ouverts |
-oN | Enregistrer le résultat du scan dans un fichier au formate texte |
-oX | Enregistrer le résultat du scan dans un fichier au formate XML |
-p | Spécifier les ports réseaux à scanner |
-Pn | Désactiver la découverte d’hôte |
-r | Analyser les ports consécutivement |
-sT | Faire un scan de port TCP |
-sU | Faire un scan de port UDP |
-sV | Trouver les versions du service |
-script | Utilise un script interne à nmap pour scan de vulnérabilité, bruteforce, etc |
-v -vv | Mode bavard |
Liens
- Mesurer le débit et lister les connexions réseaux
- Comment configurer une adresse IP sur Ubuntu
- Comment configurer le réseau sur Linux
- Comment changer la configuration des serveurs DNS sur Linux
- Comment changer la passerelle par défaut sur Linux
- Netstat sur Linux : utilisations et exemples
- Comment utiliser la commande ss sur Linux avec des exemples
- 15 commandes ifconfig pour configurer une interface réseau sous Linux
- 10 commandes “IP” utiles pour configurer les interfaces réseau sur Linux
- 6 outils pour tester la vitesse de la connexion internet sur Linux en ligne de commandes
- Nmap : exemples et utilisations
- TCPDump : capturer et analyser le trafic réseau sur Linux
- 25+ exemples de la commande Hping3
- iperf : tester la vitesse et bande passante entre deux hôtes
- Comment utiliser la commande traceroute sur Linux avec des exemples
- Comment utiliser wget avec 14 exemples
- 16 exemples de la commande CURL
- 6 commandes pour télécharger des fichiers en ligne de commandes sur Linux
- Les commandes Linux réseaux
- Unix socket : fonctionnement et utilisations
- Liste de toutes les commandes Linux