Effectuer une découverte d'hôtes avec Nmap

NmapNmapBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, le but est d'apprendre à effectuer la découverte d'hôtes à l'aide de Nmap. Le laboratoire couvre diverses commandes Nmap pour la découverte d'hôtes, notamment l'exécution d'un scan ping sur le réseau 192.168.1.0/24 avec l'option -sn pour désactiver le scan de ports, l'utilisation du ping TCP SYN et du ping ACK, et la combinaison de différents pings. Il montre également comment afficher les hôtes actifs dans le terminal Xfce. De plus, il démontre l'exécution d'un scan ping sur l'adresse localhost tout en désactivant le scan de ports.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/host_discovery("Host Discovery Techniques") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/syn_scan("SYN Scan") nmap/NmapGroup -.-> nmap/firewall_evasion("Firewall Evasion Techniques") subgraph Lab Skills nmap/port_scanning -.-> lab-530184{{"Effectuer une découverte d'hôtes avec Nmap"}} nmap/host_discovery -.-> lab-530184{{"Effectuer une découverte d'hôtes avec Nmap"}} nmap/target_specification -.-> lab-530184{{"Effectuer une découverte d'hôtes avec Nmap"}} nmap/syn_scan -.-> lab-530184{{"Effectuer une découverte d'hôtes avec Nmap"}} nmap/firewall_evasion -.-> lab-530184{{"Effectuer une découverte d'hôtes avec Nmap"}} end

Exécuter un scan ping avec nmap -sn 192.168.1.0/24

Dans cette étape, nous allons effectuer un scan ping à l'aide de Nmap. Un scan ping, également connu sous le nom de scan de découverte d'hôtes, est une technique de base pour déterminer quels hôtes sont actifs (en ligne) sur un réseau. Nmap envoie diverses sondes à chaque adresse IP dans la plage spécifiée et analyse les réponses pour identifier les hôtes actifs. L'option -sn dans Nmap désactive le scan de ports, ce qui le rend plus rapide et moins intrusif qu'un scan complet.

192.168.1.0/24 est une notation CIDR représentant un réseau. /24 signifie que les 24 premiers bits de l'adresse IP sont fixes, définissant le réseau, et les 8 bits restants sont utilisés pour les adresses d'hôtes dans ce réseau. Cela correspond à une plage d'adresses IP allant de 192.168.1.1 à 192.168.1.254.

Pour effectuer un scan ping sur le réseau 192.168.1.0/24, exécutez la commande suivante dans votre terminal :

sudo nmap -sn 192.168.1.0/24

Cette commande indique à Nmap d'effectuer un scan ping sur toutes les adresses IP du réseau 192.168.1.0/24. sudo est requis car Nmap a souvent besoin de privilèges élevés pour envoyer certains types de paquets réseau.

La sortie liste les adresses IP des hôtes qui ont répondu aux sondes de Nmap, indiquant qu'ils sont actifs et en fonctionnement. La sortie ressemblera à ceci (les adresses IP et les noms d'hôtes spécifiques varieront selon votre réseau) :

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.00043s latency).
Nmap scan report for 192.168.1.10
Host is up (0.0023s latency).
Nmap scan report for 192.168.1.20
Host is up (0.0019s latency).
Nmap done: 256 IP addresses (3 hosts up) scanned in 2.54 seconds

Cette sortie montre que Nmap a scanné 256 adresses IP (tout le réseau 192.168.1.0/24) et a trouvé 3 hôtes actifs.

Désactiver le scan de ports avec nmap -sn 127.0.0.1

Dans cette étape, nous allons utiliser Nmap pour effectuer un scan ping sur l'adresse localhost (127.0.0.1) tout en désactivant le scan de ports. Le but principal ici est de démontrer comment utiliser l'option -sn pour effectuer spécifiquement la découverte d'hôtes sans lancer un scan de ports complet. Cela est utile lorsque vous voulez seulement vérifier si un hôte est actif et éviter les scans de ports potentiellement bruyants ou longs.

127.0.0.1 est l'adresse de bouclage, également connue sous le nom de localhost. Elle fait toujours référence à la machine actuelle. Pinguer localhost est un moyen rapide de vérifier que l'interface réseau fonctionne correctement.

Pour effectuer un scan ping sur localhost sans scanner les ports, exécutez la commande suivante dans votre terminal :

sudo nmap -sn 127.0.0.1

Cette commande indique à Nmap d'effectuer un scan ping sur l'adresse 127.0.0.1. L'option -sn assure que Nmap ne fait que la découverte d'hôtes et n'essaie pas de scanner aucun port. sudo est généralement requis pour que Nmap envoie des paquets bruts, bien que dans ce cas, il peut ne pas être strictement nécessaire pour localhost.

La sortie indiquera si l'hôte est actif. Elle devrait ressembler à ceci :

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000070s latency).
Nmap done: 1 IP address (1 host up) scanned in 0.00 seconds

Cette sortie confirme que localhost (127.0.0.1) est actif et en fonctionnement. Nmap n'a effectué que le scan ping, tel que spécifié par l'option -sn, et n'a pas scanné aucun port.

Utiliser un ping TCP SYN avec nmap -PS 192.168.1.1

Dans cette étape, nous allons utiliser Nmap pour effectuer un scan de ping TCP SYN sur un hôte spécifique (192.168.1.1). Un ping TCP SYN envoie un paquet TCP SYN à l'hôte cible. Si l'hôte est actif et écoute sur le port spécifié (ou n'importe quel port par défaut), il répondra avec un paquet SYN/ACK. Nmap réinitialise ensuite la connexion en envoyant un paquet RST. Cette technique est souvent plus fiable que le ping ICMP car de nombreux pare-feu bloquent le trafic ICMP mais autorisent le trafic TCP.

L'option -PS dans Nmap spécifie que nous voulons utiliser un ping TCP SYN. Par défaut, Nmap envoie le paquet SYN au port 80. Vous pouvez également spécifier un port différent ou une liste de ports à sonder.

Pour effectuer un scan de ping TCP SYN sur 192.168.1.1, exécutez la commande suivante dans votre terminal :

sudo nmap -PS 192.168.1.1

Cette commande indique à Nmap d'envoyer un paquet TCP SYN au port 80 de l'hôte 192.168.1.1. sudo est requis car Nmap a besoin de privilèges élevés pour créer et envoyer des paquets TCP bruts.

La sortie indiquera si l'hôte est actif et écoute sur le port 80. La sortie ressemblera à ceci (si l'hôte est actif) :

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.0012s latency).
PORT   STATE    SERVICE
80/tcp filtered http

Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds

Cette sortie montre que Nmap a envoyé un paquet TCP SYN à 192.168.1.1 et reçu une réponse, indiquant que l'hôte est actif. L'état filtered pour le port 80 signifie qu'un pare-feu est probablement en train de bloquer la connexion, mais l'hôte est toujours considéré comme actif car il a répondu à la sonde SYN initiale. Si l'hôte est inactif ou inaccessible, la sortie indiquera que l'hôte est inactif.

Effectuer un ping ACK avec nmap -PA 192.168.1.1

Dans cette étape, nous allons utiliser Nmap pour effectuer un scan de ping ACK sur un hôte spécifique (192.168.1.1). Un ping ACK envoie un paquet TCP ACK à l'hôte cible. Contrairement au ping SYN, qui tente d'établir une connexion, le ping ACK envoie un paquet qui semble faire partie d'une connexion déjà établie. Les pare-feu ont souvent des règles pour traiter les paquets ACK entrants différemment des paquets SYN, ce qui rend le ping ACK utile pour contourner certaines configurations de pare-feu.

L'option -PA dans Nmap spécifie que nous voulons utiliser un ping TCP ACK. Par défaut, Nmap envoie le paquet ACK au port 80. Vous pouvez également spécifier un port différent ou une liste de ports à sonder.

Pour effectuer un scan de ping TCP ACK sur 192.168.1.1, exécutez la commande suivante dans votre terminal :

sudo nmap -PA 192.168.1.1

Cette commande indique à Nmap d'envoyer un paquet TCP ACK au port 80 de l'hôte 192.168.1.1. sudo est requis car Nmap a besoin de privilèges élevés pour créer et envoyer des paquets TCP bruts.

La sortie indiquera si l'hôte est actif. La sortie ressemblera à ceci (si l'hôte est actif) :

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.0011s latency).
PORT   STATE    SERVICE
80/tcp unfiltered http

Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds

Cette sortie montre que Nmap a envoyé un paquet TCP ACK à 192.168.1.1 et reçu une réponse, indiquant que l'hôte est actif. L'état unfiltered pour le port 80 signifie que Nmap a été capable d'envoyer le paquet ACK et de recevoir une réponse sans être entravé par un pare-feu. Si l'hôte est inactif ou inaccessible, la sortie indiquera que l'hôte est inactif.

Combiner des pings avec nmap -PS -PA 192.168.1.0/24

Dans cette étape, nous allons combiner des scans de ping TCP SYN et ACK à l'aide de Nmap pour découvrir les hôtes actifs sur le réseau 192.168.1.0/24. La combinaison de différents types de ping peut augmenter la fiabilité de la découverte d'hôtes, car certains hôtes peuvent répondre à un type de ping mais pas à un autre en raison de règles de pare-feu ou de configurations réseau.

En utilisant les options -PS et -PA, Nmap enverra des paquets TCP SYN et TCP ACK à chaque hôte du réseau spécifié. Cela augmente les chances de détecter des hôtes actifs, en particulier dans des environnements avec des pare-feu restrictifs.

Pour effectuer un scan de ping TCP SYN et ACK combiné sur le réseau 192.168.1.0/24, exécutez la commande suivante dans votre terminal :

sudo nmap -PS -PA 192.168.1.0/24

Cette commande indique à Nmap d'envoyer des paquets TCP SYN et TCP ACK au port 80 de chaque hôte du réseau 192.168.1.0/24. sudo est requis car Nmap a besoin de privilèges élevés pour créer et envoyer des paquets TCP bruts.

La sortie listera les hôtes actifs trouvés sur le réseau. La sortie ressemblera à ceci (la sortie réelle dépendra des hôtes présents sur votre réseau) :

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.0010s latency).
Nmap scan report for 192.168.1.2
Host is up (0.0015s latency).
Nmap scan report for 192.168.1.10
Host is up (0.0012s latency).
Nmap done: 256 IP addresses (3 hosts up) scanned in 2.56 seconds

Cette sortie montre que Nmap a scanné le réseau 192.168.1.0/24 et a trouvé trois hôtes actifs : 192.168.1.1, 192.168.1.2 et 192.168.1.10.

Voir les hôtes actifs dans le terminal Xfce

Dans cette étape, nous allons réviser les commandes que nous avons exécutées dans le terminal Xfce pour identifier les hôtes actifs que nous avons découverts à l'aide de Nmap. Le terminal Xfce conserve l'historique des commandes que vous avez exécutées, ce qui peut être utile pour réviser votre travail et vérifier les résultats de vos scans.

Pour afficher l'historique des commandes dans le terminal Xfce, vous pouvez utiliser la commande history. Cette commande affichera une liste numérotée des commandes que vous avez exécutées précédemment.

Ouvrez une nouvelle fenêtre de terminal dans Xfce (si vous n'en avez pas déjà une ouverte). Ensuite, tapez la commande suivante et appuyez sur Entrée :

history

Cela affichera une liste de vos commandes récentes. Faites défiler la liste pour trouver les commandes Nmap que vous avez utilisées dans les étapes précédentes, en particulier les commandes utilisant -sn, -PS et -PA pour effectuer des scans de ping.

Par exemple, vous devriez voir des commandes comme :

sudo nmap -sn 192.168.1.0/24
sudo nmap -sn 127.0.0.1
sudo nmap -PS 192.168.1.1
sudo nmap -PA 192.168.1.1
sudo nmap -PS -PA 192.168.1.0/24

En révisant ces commandes et leur sortie (que vous devriez avoir notée dans les étapes précédentes), vous pouvez confirmer les hôtes actifs qui ont été découverts sur le réseau. La commande history est un outil utile pour vérifier votre travail et vous assurer que vous avez correctement effectué les étapes de ce laboratoire.

Note : La sortie exacte de la commande history dépendra des commandes que vous avez exécutées dans votre session de terminal.

Sommaire

Dans ce laboratoire, les participants apprennent à effectuer la découverte d'hôtes à l'aide de Nmap. Ils commencent par effectuer un scan de ping sur le réseau 192.168.1.0/24 avec l'option -sn pour désactiver le scan de ports, ce qui est plus rapide et moins intrusif. La commande sudo est utilisée pour obtenir des privilèges élevés pour envoyer des paquets réseau. Ils apprennent également à effectuer un scan de ping sur l'adresse localhost 127.0.0.1 tout en désactivant le scan de ports. De plus, ils explorent différents types de ping, tels que le ping TCP SYN avec -PS, le ping ACK avec -PA et un ping combiné avec -PS -PA, et voient les hôtes actifs dans le terminal Xfce.