Nmap, qui signifie “Network Mapper“, est l’un des meilleurs utilitaires open-source actuellement disponibles pour la découverte de réseaux et l’audit de sécurité .

Nmap envoie des paquets et analyse les réponses qu’il reçoit pour découvrir les hôtes et les services sur un réseau informatique . C’est l’ un desscanners de ports les plus utilisés aujourd’hui pour vous aider à trouver les ports ouverts et à détecter les risques de sécurité sur un réseau.

C’est la première étape pour un attaquant d’obtenir des informations sur le réseau des cibles et d’identifier un moyen potentiel de lancer une attaque. Un attaquant connaîtra les services fonctionnant sur les ports ouverts ainsi que leur version, ce qui l’aidera à déterminer les vulnérabilités de la version correspondante.

Il est communément appelé le couteau suisse de l’administrateur système en raison de sa capacité à remplir de multiples fonctions : sondage de réseaux informatiques, découverte d’hôtes, balayage de ports, détection de vulnérabilités, détection de systèmes d’exploitation, détection de versions, etc. Son utilité multiplateforme.

Si vous n’aimez pas travailler dans l’interface de ligne de commande, il est également disponible dans une interface graphique – Zenmap, l’interface graphique officielle de Nmap Security Scanner.

Installation du logiciel

Nous allons démontrer l’installation de Nmap sur deux distributions Linux couramment utilisées – CentOS et Ubuntu. Il est disponible sous forme de paquetage dans les dépôts de la plupart des distributions Linux.

Installation de Nmap sur CentOS 6/7.x

  • Pour installer le paquet Nmap sur CentOS, exécutez la commande :
sudo yum install nmap
$sudo yum install nmap
Plugins chargés : fastestmirror, security
Mise en place du processus d'installation
Chargement des vitesses du miroir à partir du fichier d'hôte mis en cache
 * base : mirror.vcu.edu
 * centos-sclo-rh : mirror.cc.columbia.edu
 * centos-sclo-sclo : mirror.rackspace.com
 * epel : reflector.westga.edu
 * extras : centos5.zswap.net
 * updates : mirror.jaleco.com
Résolution des dépendances
-->
 Vérification de la transaction en cours
--->
 Le paquet nmap.x86_64 2:5.51-6.el6 sera installé
-->
 Résolution des dépendances terminée

Dépendances résolues

======================================================================================================================================================================================================================================================
 Paquet Arch Version Taille du dépôt
======================================================================================================================================================================================================================================================
Installation :
 nmap x86_64 2:5.51-6.el6 base 2.8 M

Résumé des transactions
======================================================================================================================================================================================================================================================
Installer 1 paquet(s)

Taille totale du téléchargement : 2.8 M
Taille installée : 9.7 M
Est-ce que c'est correct [y/N] :
  • Le système vous demandera de confirmer et de terminer l’installation. Tapez y et appuyez sur Entrée
Est-ce que c'est bon [y/N] : y
Téléchargement des paquets :
nmap-5.51-6.el6.x86_64.rpm | 2.8 MB 00:00     
Exécution de rpm_check_debug
Exécution du test de transaction
Test de transaction réussi
Exécution de la transaction
  Installation : 2:nmap-5.51-6.el6.x86_64 1/1 
  Vérification : 2:nmap-5.51-6.el6.x86_64 1/1 

Installé :
  nmap.x86_64 2:5.51-6.el6            

Terminé !
$
  • Vérifiez si l’installation s’est déroulée correctement et la version installée, exécutez la commande ci-dessous.
$nmap -version

Nmap version 5.51 ( http://nmap.org )

Installation de Nmap sur CentOS 8.x

  • Nous utiliserons DNF pour l’installation.
$sudo dnf install nmap -y
Dernière vérification de l'expiration des métadonnées : 0:58:54 il y a Fri 18 Sep 2020 07:04:54 PM UTC.
Dépendances résolues.
======================================================================================================================================================================================================================================================
 Architecture du paquet Version Taille du dépôt
======================================================================================================================================================================================================================================================
Installation :
 nmap x86_64 2:7.70-5.el8 AppStream 5.8 M
Installation des dépendances :
 nmap-ncat x86_64 2:7.70-5.el8 AppStream 237 k

Résumé des transactions
======================================================================================================================================================================================================================================================
Installation de 2 paquets

Taille totale du téléchargement : 6.1 M
Taille installée : 25 M
Téléchargement des paquets :
(1/2) : nmap-ncat-7.70-5.el8.x86_64.rpm 669 kB/s | 237 kB 00:00    
(2/2) : nmap-7.70-5.el8.x86_64.rpm 9.2 MB/s | 5.8 MB 00:00    
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 8.0 MB/s | 6.1 MB 00:00     
Vérification de la transaction
La vérification de la transaction a réussi.
Exécution du test de transaction
Le test de transaction a réussi.
Exécution de la transaction
  Préparation : 1/1 
  Installation : nmap-ncat-2:7.70-5.el8.x86_64 1/2 
  Exécution du scriptlet : nmap-ncat-2:7.70-5.el8.x86_64 1/2 
  Installation : nmap-2:7.70-5.el8.x86_64 2/2 
  Exécution du scriptlet : nmap-2:7.70-5.el8.x86_64 2/2 
  Vérification : nmap-2:7.70-5.el8.x86_64 1/2 
  Vérification : nmap-ncat-2:7.70-5.el8.x86_64 2/2 

Installé :
  nmap-2:7.70-5.el8.x86_64 nmap-ncat-2:7.70-5.el8.x86_64                             

Terminé !
$

Avec l’option -y, DNF/YUM installera le paquetage spécifié sans demander de confirmation.

DNF (Dandified Yum) est le nouveau gestionnaire de paquets de RHEL/CentOS 8 qui peut être utilisé pour installer des paquets. Il s’agit de la version de nouvelle génération de YUM (Yellowdog Updater Modified), destinée à remplacer YUM dans les systèmes basés sur des RPM.

  • Et, pour vérifier l’installation.
$nmap -version
Nmap version 7.70 ( https://nmap.org )
Plate-forme : x86_64-redhat-linux-gnu
Compilé avec : liblua-5.3.3 openssl-1.1.1 libpcre-8.42 libpcap-1.9.0-PRE-GIT nmap-libdnet-1.12 ipv6
Compilé sans : libssh2 libz
Moteurs nsock disponibles : epoll poll select

Ubuntu

  • Exécutez la commande ci-dessous pour vous assurer que tous les paquets sont à jour sur le serveur Ubuntu.
sudo apt-get update
  • Exécutez la commande suivante pour installer
$sudo apt-get install nmap -y
Lecture des listes de paquets... Terminé
Construction de l'arbre des dépendances       
Lecture des informations d'état... Terminé
Le paquet suivant a été automatiquement installé et n'est plus requis :
  libnuma1
Utilisez 'sudo apt autoremove' pour le supprimer.
Les paquets supplémentaires suivants seront installés :
  libblas3 liblinear4 liblua5.3-0 lua-lpeg nmap-common
Paquets suggérés :
  liblinear-tools liblinear-dev ncat ndiff zenmap
Les NOUVEAUX paquets suivants seront installés :
  libblas3 liblinear4 liblua5.3-0 lua-lpeg nmap-common
0 mis à jour, 6 nouvellement installés, 0 à supprimer et 30 non mis à jour.
Il faut récupérer 5669 kB d'archives.
Après cette opération, 26,8 Mo d'espace disque supplémentaire seront utilisés.
Récupérer:1 http://us-west1.gce.archive.ubuntu.com/ubuntu focal/main amd64 libblas3 amd64 3.9.0-1build1 [142 kB]
Get:2 http://us-west1.gce.archive.ubuntu.com/ubuntu focal/universe amd64 liblinear4 amd64 2.3.0 dfsg-3build1 [41.7 kB]
Get:3 http://us-west1.gce.archive.ubuntu.com/ubuntu focal/main amd64 liblua5.3-0 amd64 5.3.3-1.1ubuntu2 [116 kB]
Get:4 http://us-west1.gce.archive.ubuntu.com/ubuntu focal/universe amd64 lua-lpeg amd64 1.0.2-1 [31.4 kB]
Get:5 http://us-west1.gce.archive.ubuntu.com/ubuntu focal/universe amd64 nmap-common all 7.80 dfsg1-2build1 [3676 kB]
Get:6 http://us-west1.gce.archive.ubuntu.com/ubuntu focal/universe amd64 nmap amd64 7.80 dfsg1-2build1 [1662 kB]
Récupéré 5669 kB en 1s (7683 kB/s)
Sélection du paquet libblas3:amd64 précédemment non sélectionné.
(Lecture de la base de données ... 62831 fichiers et répertoires actuellement installés)
Préparation du déballage de .../0-libblas3_3.9.0-1build1_amd64.deb ...
Décompression de libblas3:amd64 (3.9.0-1build1) ...
Sélection du paquet non sélectionné précédemment liblinear4:amd64.
Préparation du déballage de .../1-liblinear4_2.3.0 dfsg-3build1_amd64.deb ...
Décompression de liblinear4:amd64 (2.3.0 dfsg-3build1) ...
Sélection du paquet non sélectionné précédemment liblua5.3-0:amd64.
Préparation du déballage de .../2-liblua5.3-0_5.3.3-1.1ubuntu2_amd64.deb ...
Déballage de liblua5.3-0:amd64 (5.3.3-1.1ubuntu2) ...
Sélection du paquet non sélectionné précédemment lua-lpeg:amd64.
Préparation du déballage de .../3-lua-lpeg_1.0.2-1_amd64.deb ...
Décompression de lua-lpeg:amd64 (1.0.2-1) ...
Sélection du paquetage nmap-common précédemment non sélectionné.
Préparation du déballage de .../4-nmap-common_7.80 dfsg1-2build1_all.deb ...
Décompression de nmap-common (7.80 dfsg1-2build1) ...
Sélection du paquetage nmap précédemment non sélectionné.
Préparation du déballage de .../5-nmap_7.80 dfsg1-2build1_amd64.deb ...
Décompression de nmap (7.80 dfsg1-2build1) ...
Installation de lua-lpeg:amd64 (1.0.2-1) ...
Installation de libblas3:amd64 (3.9.0-1build1) ...
update-alternatives : utilisation de /usr/lib/x86_64-linux-gnu/blas/libblas.so.3 pour fournir /usr/lib/x86_64-linux-gnu/libblas.so.3 (libblas.so.3-x86_64-linux-gnu) en mode auto
Mise en place de nmap-common (7.80 dfsg1-2build1) ...
Installation de liblua5.3-0:amd64 (5.3.3-1.1ubuntu2) ...
Installation de liblinear4:amd64 (2.3.0 dfsg-3build1) ...
Installation de nmap (7.80 dfsg1-2build1) ...
Traitement des déclencheurs pour man-db (2.9.1-1) ...
Traitement des déclencheurs pour libc-bin (2.31-0ubuntu9) ...
  • Enfin, lancez l’option -version pour vous assurer qu’il est installé.
$nmap -version
Nmap version 7.80 ( https://nmap.org )
Plate-forme : x86_64-pc-linux-gnu
Compilé avec : liblua-5.3.3 openssl-1.1.1d nmap-libssh2-1.8.2 libz-1.2.11 libpcre-8.39 libpcap-1.9.1 nmap-libdnet-1.12 ipv6
Compilé sans :
Moteurs nsock disponibles : epoll poll select

Exemple d’utilisation de Nmap en temps réel

Nous allons voir quelques exemples illustrant l’utilisation de la commande Nmap.

Recherche de ports ouverts

Syntaxe de nmap

nmap [Type(s) de balayage] [Options] {spécification de la cible}

La spécification de la cible peut être un nom d’hôte, une adresse IP, un nom de domaine, un réseau, un sous-réseau, etc.

Analyser un domaine

nmap scanme.nmap.org
$nmap scanme.nmap.org
Démarrage de Nmap 7.80 ( https://nmap.org ) à 2020-09-18 20:14 UTC
Rapport de scan Nmap pour scanme.nmap.org (45.33.32.156)
L'hôte est en ligne (0.025s de latence).
Autres adresses pour scanme.nmap.org (non scannées) : 2600:3c01::f03c:91ff:fe18:bb2f
Non affiché : 995 ports fermés
ÉTAT DU PORT SERVICE
22/tcp ouvert ssh
25/tcp filtré smtp
80/tcp ouvert http
9929/tcp ouvert nping-echo
31337/tcp ouvert Elite

Nmap terminé : 1 adresse IP (1 host up) scannée en 1.73 secondes

Sans drapeaux, Nmap va, par défaut –

  • Scanner les 1000 ports les plus utilisés (la liste de ces ports peut être modifiée dans le fichiernmap-services ).
  • Nmap tente d’établir une connexion TCP SYN avec les ports lorsqu’il est exécuté par un utilisateur privilégié.
  • Envoie des demandes d’écho ICMP aux hôtes cibles pour confirmer s’ils sont vivants ou non.
  • Effectue une recherche DNS inversée pour obtenir le nom de l’hôte.

Nous pouvons voir quatre ports ouverts, un port filtré et 995 ports fermés dans la sortie montrée ci-dessus. Un port dont Nmap ne peut déterminer s’il est ouvert ou fermé, ce qui peut être dû à un pare-feu, est filtré.

Dans l’exemple ci-dessus, nous scannons scanme.nmap.com, qui s’est autorisé à être scanné.

nmap -F scanme.nmap.org

Vous pouvez également utiliser l’option de scan rapide -F pour ne scanner que les 100 ports les plus couramment utilisés de chaque protocole demandé.

Scanner l’adresse IP

nmap 192.168.0.7
$nmap 192.168.0.7
Démarrage de Nmap 7.80 ( https://nmap.org ) à 2020-09-18 20:12 UTC
Rapport de scan Nmap pour server-1.geekflare.com/fr (192.168.0.7)
L'hôte est en ligne (latence de 0.034s).
Non montré : 999 ports fermés
ÉTAT DU PORT SERVICE
22/tcp open ssh

Nmap effectué : 1 adresse IP (1 host up) scannée en 0.62 secondes

Scannez un sous-réseau

nmap 192.168.0.0/24
$nmap 192.168.0.0/24
Démarrage de Nmap 7.80 ( https://nmap.org ) à 2020-09-18 20:15 UTC
Rapport de scan Nmap pour server-1.geekflare.com/fr (192.168.0.7)
L'hôte est en ligne (latence de 0.044s).
Non montré : 999 ports fermés
ÉTAT DU PORT SERVICE
22/tcp open ssh

Rapport de scan Nmap pour server-2.geekflare.com/fr (192.168.0.8)
L'hôte est en ligne (latence de 0.046s).
Non montré : 999 ports fermés
ÉTAT DU PORT SERVICE
22/tcp open ssh

Rapport de scan Nmap pour server-3.geekflare.com/fr (192.168.0.9)
L'hôte est en ligne (latence de 0.043s).
Non montré : 999 ports fermés
ÉTAT DU PORT SERVICE
22/tcp open ssh

Rapport de scan Nmap pour server-4.geekflare.com/fr (192.168.0.10)
L'hôte est en ligne (latence de 0.044s).
Non montré : 999 ports fermés
ÉTAT DU PORT SERVICE
22/tcp open ssh

Nmap effectué : 256 adresses IP (4 hôtes en haut) scannées en 4.67 secondes

Analyse de plusieurs hôtes

Scanner plusieurs hôtes est facile !

  • Ajoutez les noms d’hôtes ou les adresses IP que vous souhaitez analyser, l’un après l’autre, dans une rangée
nmap 192.168.0.1 192.168.0.3 192.168.0.4
  • Utilisez une virgule

La commande mentionnée ci-dessus pourrait également être écrite comme suit pour éviter de mentionner à nouveau l’adresse IP

nmap 192.168.0.1,3,4
  • Utilisez les tirets (-) pour spécifier la plage d’adresses IP, comme indiqué ci-dessous
nmap 192.168.0.1-20

La commande ci-dessus analysera les vingt premiers hôtes du sous-réseau.

  • Utilisez des caractères génériques pour analyser l’ensemble du sous-réseau –
nmap 192.168.0.*

La commande ci-dessus recherchera les 256 adresses IP du sous-réseau.

  • Lire les hôtes à partir d’un fichier

Vous pouvez spécifier tous les hôtes à analyser dans un fichier et utiliser la commande ci-dessous –

nmap -iL /tmp/fichierhôte

Exemple de fichier d’hôtes –

cat /tmp/fichierhôte

192.168.0.1,2,4

scanme.nmap.org

10.0.0-255.1-254
  • Exclure des hôtes de la recherche

Vous pouvez exclure quelques hôtes d’une recherche de groupe si vous le souhaitez.

nmap 192.168.0.* --exclure 192.168.0.2

nmap 192.168.0.1-40 --exclure 192.168.0.5,6,7

Vous pouvez également exclure des hôtes de votre recherche en utilisant l’option -excludefile

nmap 192.168.0.* --excludefile /tmp/hosts.txt

Sélection des ports par Nmap

Pour analyser des ports spécifiques sur un système, au lieu des 1000 ports les plus utilisés par défaut, vous pouvez utiliser le paramètre -p.

nmap -p 22,80,443 192.168.0.2-50
$nmap -p 22,80,443 192.168.0.2-50
Démarrage de Nmap 7.70 ( https://nmap.org ) à 2020-09-18 20:18 UTC
Rapport de scan Nmap pour server-1.geekflare.com/fr (192.168.0.7)
L'hôte est en ligne (0.00018s latence).

PORT STATE SERVICE
22/tcp ouvert ssh
80/tcp fermé http
443/tcp fermé https

Rapport de scan Nmap pour server-2.geekflare.com/fr (192.168.0.8)
L'hôte est en ligne (latence de 0.00094s).

PORT STATE SERVICE
22/tcp ouvert ssh
80/tcp fermé http
443/tcp fermé https

Rapport de scan Nmap pour server-3.geekflare.com/fr (192.168.0.9)
L'hôte est en ligne (latence de 0.00092s).

PORT STATE SERVICE
22/tcp ouvert ssh
80/tcp fermé http
443/tcp fermé https

Rapport de scan Nmap pour server-4.geekflare.com/fr (192.168.0.10)
L'hôte est en ligne (latence de 0.00089s).

PORT STATE SERVICE
22/tcp ouvert ssh
80/tcp fermé http
443/tcp fermé https

Nmap terminé : 49 adresses IP (4 hôtes en haut) scannées en 1.65 secondes

La commande ci-dessus ne scannera que les ports 22, 80, et 443 sur les adresses IP mentionnées.

nmap -p 1-500 192.168.0.2

La commande ci-dessus analysera les ports 1 à 500 sur l’hôte mentionné.

nmap -p- 192.168.0.2

L’utilisation de -p- permet de scanner les 65535 ports.

Redirection de la sortie vers un fichier

Par défaut, Nmap imprime la sortie sur le terminal, mais lorsque vous scannez un grand réseau, il est préférable de sauvegarder les résultats dans un fichier pour une meilleure analyse. Vous pouvez sauvegarder les résultats de vos analyses dans différents formats de fichiers.

Format de sortie normal [-oN]

Le mode normal vous donnera les résultats tels que vous les voyez sur votre écran.

nmap -oN /tmp/scanResult.txt 192.168.0.0/24

Format de sortie XML [-oX]

Nous pouvons exporter les résultats au format XML. Il s’agit de l’un des formats de fichier les plus utilisés, car la plupart des langages de programmation disposent de bibliothèques pour l’analyse XML.

nmap -oX /tmp/scanResult.xml 192.168.0.0/24

Format de sortie Grepable [-oG]

Nous obtenons la sortie dans un format facilement utilisable avec la commande grep. La sortie peut ensuite être transmise à des utilitaires de ligne de commande tels que awk, grep, sed pour effectuer des opérations supplémentaires selon les besoins.

nmap -oG /tmp/scanResult.txt 192.168.0.0/24

Script kiddie output [-oS]

Il utilise le “leet”, en remplaçant les lettres par leurs représentations numériques visuellement similaires. Ce format de sortie n’est utile dans aucun cas particulier et n’a été inclus qu’à titre de plaisanterie.

nmap -oS /tmp/scanResult scanme.nmap.org
$nmap -oS /tmp/scanResult scanme.nmap.org
Démarrage de Nmap 7.70 ( https://nmap.org ) à 2020-09-18 20:34 UTC
Rapport de scan Nmap pour scanme.nmap.org (45.33.32.156)
L'hôte est en ligne (0.053s latence).
Autres adresses pour scanme.nmap.org (non scannées) : 2600:3c01::f03c:91ff:fe18:bb2f
Non affiché : 995 ports fermés
ÉTAT DU PORT SERVICE
22/tcp ouvert ssh
25/tcp filtré smtp
80/tcp ouvert http
9929/tcp ouvert nping-echo
31337/tcp ouvert Elite

Nmap terminé : 1 adresse IP (1 hôte en place) analysée en 2,12 secondes
$
$cat /tmp/scanResult
$tart|Ng Nmap 7.70 ( httpz://NmAp.oRg ) aT 2020-09-18 20:34 UTc
Nmap $can rEp0rt f0r Scanm3.nmap.0rg (45.33.32.156)
L'hôte est en place (0.053s de latence).
Autres adresses pour $canm3.nmap.0Rg (pas scanN3D) : 2600:3c01::f03c:91ff:fE18:bb2f
Pas sh0wn : 995 clOs3d p0rtS
P0rT $TAT3 S3RV|C3
22/TCp op3n Ssh
25/tcp f1ltEr3d $mtp
80/tCp op3n http
9929/tcp Open Nping-ech0
31337/tCP 0pen 3litE

Nmap d0n3 : 1 Ip addRe$s (1 hO$t up) $CANN3d In 2.12 s3C0nDz

Différents types de scan Nmap

Scan de connexion TCP [-sT]

Il s’agit de la forme de base du scan TCP qui n’implique aucune furtivité. Il tente d’établir une connexion complète avec les ports de la plage spécifiée avec un échange complet de poignée de main à trois voies (SYN -> SYN/ACK -> ACK). Une connexion réussie indique un port ouvert.

C’est le type de scan par défaut que Nmap utilise lorsqu’il est exécuté par un utilisateur non privilégié.

nmap -sT 192.168.0.1
nmap -sT 192.168.0.7
Démarrage de Nmap 7.70 ( https://nmap.org ) à 2020-09-18 19:52 UTC
Rapport de scan Nmap pour server-1.geekflare.com/fr (192.168.0.7)
L'hôte est en ligne (0.00042s latence).
Non montré : 999 ports fermés
ÉTAT DU PORT SERVICE
22/tcp open ssh

Nmap effectué : 1 adresse IP (1 host up) scannée en 0.09 secondes

Scan TCP SYN [-sS]

Egalement connu sous le nom de scan semi-ouvert, il est plus furtif que le scan TCP connect car il n’établit jamais de connexion complète. Lescan TCP SYN est le type de scan par défaut lorsqu’il est exécuté en tant qu’utilisateur privilégié, et les utilisateurs non privilégiés n’auront pas la permission d’exécuter ce scan car il nécessite des privilèges pour raw socket / raw packet.

nmap -sS 192.168.0.1
$sudo nmap -sS 192.168.0.7
Démarrage de Nmap 7.70 ( https://nmap.org ) à 2020-09-18 19:51 UTC
Rapport de scan Nmap pour server-1.geekflare.com/fr (192.168.0.7)
L'hôte est en ligne (latence de 0.00022s).
Non montré : 999 ports fermés
ÉTAT DU PORT SERVICE
22/tcp open ssh

Nmap effectué : 1 adresse IP (1 hôte en place) scannée en 1.50 secondes
$nmap -sS 192.168.0.1
Vous avez demandé un type de scan qui nécessite les privilèges root.
QUITTEZ !

Comme nous pouvons le voir dans l’exemple ci-dessus, un scan SYN ne peut pas être exécuté avec des utilisateurs non privilégiés.

Analyse UDP [-sU]

Si aucun drapeau n’est spécifié, par défaut, Nmap scanne les ports TCP. Pour scanner les ports UDP, il faut utiliser l’option -sU, comme indiqué ci-dessous.

$sudo nmap -sU 192.168.0.8
Démarrage de Nmap 7.70 ( https://nmap.org ) à 2020-09-18 19:44 UTC
Rapport de scan Nmap pour server-2.geekflare.com/fr (192.168.0.8)
L'hôte est en ligne (latence de 0.00036s).
Non montré : 999 ports fermés
ÉTAT DU PORT SERVICE
5355/udp ouvert|filtré llmnr

Nmap effectué : 1 adresse IP (1 hôte disponible) analysée en 999.27 secondes

Ping Scan [-sn]

Cette fonction est très utile lorsque vous avez seulement besoin de savoir si l’hôte est vivant ou non et que vous n’avez pas besoin d’informations sur les ports ouverts sur les hôtes.

Elle est souvent appelée ‘Ping sweep’. Dans les versions précédentes de Nmap, -sn était connu sous le nom de -sP.

nmap -sn 192.168.1.0/24
$nmap -sn 192.168.1.0/24
Démarrage de Nmap 7.70 ( https://nmap.org ) à 2020-09-18 19:39 UTC
Rapport de scan Nmap pour server-7.geekflare.com/fr (192.168.1.2)
L'hôte est en ligne (0.033s latency).
Rapport de scan Nmap pour server-10.geekflare.com/fr (192.168.1.3)
L'hôte est en ligne (0.035s latency).
Rapport de scan Nmap pour server-13.geekflare.com/fr (192.168.1.4)
L'hôte est en ligne (0.10s de latence).
Nmap terminé : 256 adresses IP (3 hôtes en place) scannées en 9.85 secondes

Dans l’exemple ci-dessus, nous pouvons voir que, dans le sous-réseau cible spécifié, sur 256 adresses IP analysées, seuls trois hôtes sont actifs.

nmap -sn -n -v 192.168.0.0/24 -oG - | grep -iv down

sn –>
Scan Ping.

n –>
Ignorez la résolution DNS et accélérez le scan.

v –>
Ajoutez verbose pour obtenir plus d’informations sur le scan.

oG –>
Fournit la sortie au format grepable.

– –>
Hyphen redirige la sortie grepable vers la sortie standard, qui est ensuite acheminée vers grep.

iv –>
Ignore les lignes contenant le mot “down”.

$nmap -sn -n -v 192.168.0.0/24 -oG - | grep -iv down
# Nmap 7.70 scan initiated Fri Sep 18 19:40:17 2020 as : nmap -sn -n -v -oG - 192.168.0.0/24
# Ports scannés : TCP(0 ;) UDP(0 ;) SCTP(0 ;) PROTOCOLS(0 ;)
Hôte : 192.168.0.7 () État : Up
Hôte : 192.168.0.8 () Etat : Up
Hôte : 192.168.0.9 () Etat : Up
Hôte : 192.168.0.10 () Etat : Up
# Nmap done at Fri Sep 18 19:40:20 2020 -- 256 IP addresses (4 hosts up) scanned in 2.91 seconds

Nous pouvons voir que seulement quatre hôtes sont en vie sur les 256 adresses IP scannées dans le sous-réseau.

Détection de la version du système d’exploitation et du service

Analyse du système d’exploitation

En plus du balayage des ports et de la découverte des hôtes, Nmap peut également fournir des informations sur le système d’exploitation sous-jacent. Nmap possède l’une des plus grandes bases de données d’empreintes de systèmes d’exploitation et peut identifier les systèmes d’exploitation en analysant leur réponse aux sondes TCP/IP.

Cette fonction peut être activée à l’aide de l’option -O. Voici la commande –

nmap -O localhost
$sudo nmap -O localhost
Démarrage de Nmap 7.70 ( https://nmap.org ) à 2020-09-18 19:32 UTC
Rapport de scan Nmap pour localhost (127.0.0.1)
L'hôte est en ligne (0.000012s de latence).
Autres adresses pour localhost (non scannées) : ::1
Non montré : 999 ports fermés
ÉTAT DU PORT SERVICE
22/tcp open ssh
Type de périphérique : usage général
En cours d'exécution : Linux 3.X
OS CPE : cpe:/o:linux:linux_kernel:3
Détails du système d'exploitation : Linux 3.7 - 3.10
Distance du réseau : 0 hops

Détection du système d'exploitation effectuée. Veuillez signaler tout résultat incorrect à https://nmap.org/submit/ .
Nmap effectué : 1 adresse IP (1 hôte en place) analysée en 3,89 secondes

Version scannée

Nmap permet également de scanner les services en cours d’exécution et leurs informations de version à partir des ports ouverts. Ceci est utile pour scanner les services fonctionnant sur des versions vulnérables et qui pourraient être mis à jour pour atténuer le risque.

Il peut être activé avec -sV

nmap -sV localhost
$sudo nmap -sV localhost
Démarrage de Nmap 7.70 ( https://nmap.org ) à 2020-09-18 19:35 UTC
Rapport de scan Nmap pour localhost (127.0.0.1)
L'hôte est en ligne (0.000010s de latence).
Autres adresses pour localhost (non scannées) : ::1
Non montré : 999 ports fermés
ÉTAT DU PORT SERVICE VERSION
22/tcp open ssh OpenSSH 8.0 (protocole 2.0)

La détection du service a été effectuée. Veuillez signaler tout résultat incorrect à https://nmap.org/submit/ .
Nmap effectué : 1 adresse IP (1 hôte disponible) analysée en 1,96 secondes

Scan agressif

Nmap effectue également un scan agressif et avancé qui permet la détection du système d’exploitation -O, l’analyse des scripts -sC, l’analyse des versions -sV, et traceroute --traceroute.

Nous pouvons passer l’argument -A pour effectuer un scan agressif.

$sudo nmap -A scanme.nmap.org
Démarrage de Nmap 7.70 ( https://nmap.org ) à 2020-09-18 20:26 UTC
Rapport de scan Nmap pour scanme.nmap.org (45.33.32.156)
L'hôte est en ligne (0.051s latence).
Autres adresses pour scanme.nmap.org (non scannées) : 2600:3c01::f03c:91ff:fe18:bb2f
Non affiché : 995 ports fermés
ÉTAT DU PORT SERVICE VERSION
22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux ; protocole 2.0)
| ssh-hostkey : 
| 1024 ac:00:a0:1a:82:ff:cc:55:99:dc:67:2b:34:97:6b:75 (DSA)
| 2048 20:3d:2d:44:62:2a:b0:5a:9d:b5:b3:05:14:c2:a6:b2 (RSA)
| 256 96:02:bb:5e:57:54:1c:4e:45:2f:56:4c:4a:24:b2:57 (ECDSA)
|_ 256 33:fa:91:0f:e0:e1:7b:1f:6d:05:a2:b0:f1:54:41:56 (ED25519)
25/tcp filtré smtp
80/tcp open http Apache httpd 2.4.7 ((Ubuntu))
|_http-server-header : Apache/2.4.7 (Ubuntu)
|_http-title : Allez-y, scannez !
9929/tcp open nping-echo Nping echo
31337/tcp open tcpwrapped
Suppositions agressives du système d'exploitation : Linux 2.6.32 (94%), Linux 3.2 - 4.9 (94%), Linux 2.6.32 - 3.10 (94%), Linux 3.4 - 3.10 (93%), Linux 3.1 (92%), Linux 3.2 (92%), Linux 3.3 (92%), Synology DiskStation Manager 5.2-5644 (92%), Netgear RAIDiator 4.2.28 (92%), Caméra réseau AXIS 210A ou 211 (Linux 2.6.17) (92%)
Aucun système d'exploitation ne correspond exactement à l'hôte (les conditions de test ne sont pas idéales).
Distance du réseau : 7 sauts
Informations sur le service : OS : Linux ; CPE : cpe:/o:linux:linux_kernel

TRACEROUTE (utilisant le port 143/tcp)
HOP RTT ADRESSE
1 48.15 ms 72.14.239.197
2 52,74 ms 209.85.253.9
3 49,54 ms 142.250.234.59
4 49,99 ms 108.170.242.251
5 50,70 ms 213.52.131.176
6 50,85 ms 173.230.159.71
7 53,40 ms scanme.nmap.org (45.33.32.156)

La détection du système d'exploitation et des services a été effectuée. Veuillez signaler tout résultat incorrect à https://nmap.org/submit/ .
Nmap effectué : 1 adresse IP (1 hôte en place) analysée en 259.05 secondes
$$sudo nmap -A scanme.nmap.org
Démarrage de Nmap 7.70 ( https://nmap.org ) à 2020-09-18 20:33 UTC
Stats : 0:00:00 écoulé ; 0 hôtes complétés (0 up), 0 en cours de Script Pre-Scan
NSE Timing : Environ 0.00% terminé

Questions juridiques concernant le balayage des ports

Il est toujours conseillé d’obtenir une autorisation écrite du propriétaire du réseau cible avant d’initialiser un scan.

Par exemple, http://scanme.nmap.org/ s’est autorisé à être scanné. Vous pouvez lire les détails sur le site officiel.

Quelle est la prochaine étape ?

Découvrez comment installer Nmap sur Windows.