Découverte d'hôtes avec Nmap

NmapBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, l'objectif 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, y compris l'exécution d'une balayage de ping sur le réseau 192.168.1.0/24 avec l'option -sn pour désactiver le balayage de ports, l'utilisation de ping TCP SYN et 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 comment effectuer un balayage de ping sur l'adresse localhost tout en désactivant le balayage de ports.

Exécuter un balayage ping avec Nmap

Dans cette étape, vous allez effectuer un balayage ping de base avec Nmap pour identifier les hôtes actifs sur un réseau. Un balayage ping, également appelé découverte d'hôtes, est une technique fondamentale pour déterminer quels hôtes sont en ligne. Nmap envoie différentes sondes à chaque adresse IP de la plage spécifiée et analyse les réponses pour identifier les hôtes actifs. L'option -sn dans Nmap désactive le balayage de ports, ce qui rend le balayage plus rapide et moins intrusif qu'un balayage de ports complet.

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

Pour effectuer un balayage ping sur le réseau 192.168.1.0/24, ouvrez votre terminal (si ce n'est déjà fait) et exécutez la commande suivante :

sudo nmap -sn 192.168.1.0/24

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

Dans cet environnement de laboratoire, le réseau 192.168.1.0/24 ne contient aucun hôte actif, vous verrez donc une sortie similaire à ceci :

Démarrage de Nmap 7.80 ( https://nmap.org ) le 2025-06-03 09:49 CEST

Le balayage se termine sans afficher de rapports d'hôtes, indiquant qu'aucun hôte n'a répondu aux sondes ping dans cette plage de réseau. Dans un scénario réel avec des hôtes actifs, vous verriez une sortie comme ceci :

Démarrage de Nmap 7.XX ( https://nmap.org ) le YYYY-MM-DD HH:MM ZZZ
Rapport de balayage Nmap pour 192.168.1.1
Hôte actif (latence de 0,000XXs).
Rapport de balayage Nmap pour 192.168.1.10
Hôte actif (latence de 0,002XXs).
Nmap terminé : 256 adresses IP (2 hôtes actifs) analysées en 2,XX secondes

Ensuite, vous allez effectuer un balayage ping sur l'adresse localhost (127.0.0.1) tout en désactivant le balayage de ports. Ceci démontre comment utiliser l'option -sn spécifiquement pour la découverte d'hôtes sans lancer un balayage de ports complet. Ceci est utile lorsque vous souhaitez uniquement vérifier si un hôte est actif et éviter les balayages de ports potentiellement bruyants ou longs.

127.0.0.1 est l'adresse de boucle locale, également appelée localhost. Elle fait toujours référence à la machine actuelle. Le ping sur localhost est un moyen rapide de vérifier que l'interface réseau fonctionne correctement.

Pour effectuer un balayage ping sur localhost sans balayage de ports, exécutez la commande suivante dans votre terminal :

sudo nmap -sn 127.0.0.1

Cette commande indique à Nmap d'effectuer un balayage ping sur l'adresse 127.0.0.1. L'option -sn garantit que Nmap effectue uniquement la découverte d'hôtes et n'essaie pas de scanner les ports.

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

Démarrage de Nmap 7.80 ( https://nmap.org ) le 2025-06-03 09:49 CEST
Rapport de balayage Nmap pour localhost (127.0.0.1)
Hôte actif.
Nmap terminé : 1 adresse IP (1 hôte actif) analysée en 0,00 secondes

Cette sortie confirme que le localhost (127.0.0.1) est actif. Nmap a uniquement effectué un balayage ping, comme spécifié par l'option -sn, et n'a pas analysé les ports.

Exécuter des balayages ping TCP SYN et ACK

Dans cette étape, vous utiliserez Nmap pour effectuer des balayages ping TCP SYN et ACK. Ces techniques sont souvent plus fiables que les pings ICMP, car de nombreux pare-feu bloquent le trafic ICMP mais autorisent le trafic TCP.

Tout d'abord, essayons un balayage ping TCP SYN sur 192.168.1.1 pour démontrer ce qui se passe lorsqu'un hôte n'est pas accessible. 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.

L'option -PS dans Nmap spécifie que vous souhaitez utiliser un ping TCP SYN. Par défaut, Nmap envoie le paquet SYN au port 80.

Pour effectuer un balayage 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.

Puisque 192.168.1.1 n'est pas accessible dans cet environnement de laboratoire, vous verrez une sortie similaire à ceci :

Démarrage de Nmap 7.80 ( https://nmap.org ) le 2025-06-03 09:49 CEST
Remarque : L'hôte semble inactif. S'il est vraiment actif mais bloque nos sondes ping, essayez -Pn
Nmap terminé : 1 adresse IP (0 hôtes actifs) analysées en 2,10 secondes

Cette sortie indique que Nmap n'a pas pu atteindre 192.168.1.1. Le message suggère d'utiliser -Pn si vous pensez que l'hôte est actif mais bloque les sondes ping.

Maintenant, effectuons un balayage ping TCP SYN sur localhost (127.0.0.1) pour voir comment cela fonctionne lorsque l'hôte est accessible :

sudo nmap -PS 127.0.0.1

Ceci affichera une sortie similaire à :

Démarrage de Nmap 7.80 ( https://nmap.org ) le 2025-06-03 09:50 CEST
Rapport de balayage Nmap pour localhost (127.0.0.1)
Hôte actif (latence de 0,0000070s).
Non affiché : 995 ports fermés
PORT     ÉTAT SERVICE
22/tcp   ouvert ssh
2121/tcp ouvert ccproxy-ftp
2222/tcp ouvert EtherNetIP-1
3001/tcp ouvert nessus
8080/tcp ouvert http-proxy

Nmap terminé : 1 adresse IP (1 hôte actif) analysées en 0,12 secondes

Cette sortie montre que Nmap a correctement détecté localhost comme actif et a également effectué un balayage de ports, affichant les ports ouverts du système.

Ensuite, vous effectuerez un balayage ping ACK. 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 gérer 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 vous souhaitez utiliser un ping TCP ACK. Par défaut, Nmap envoie le paquet ACK au port 80.

Tout d'abord, essayons le ping ACK sur 192.168.1.1 :

sudo nmap -PA 192.168.1.1

Comme prévu, cela indiquera que l'hôte est inactif :

Démarrage de Nmap 7.80 ( https://nmap.org ) le 2025-06-03 09:50 CEST
Remarque : L'hôte semble inactif. S'il est vraiment actif mais bloque nos sondes ping, essayez -Pn
Nmap terminé : 1 adresse IP (0 hôtes actifs) analysées en 2,11 secondes

Maintenant, effectuons un balayage ping TCP ACK sur localhost pour voir le cas réussi :

sudo nmap -PA 127.0.0.1

Ceci produira une sortie similaire à :

Démarrage de Nmap 7.80 ( https://nmap.org ) le 2025-06-03 09:50 CEST
Rapport de balayage Nmap pour localhost (127.0.0.1)
Hôte actif (latence de 0,0000040s).
Non affiché : 995 ports fermés
PORT     ÉTAT SERVICE
22/tcp   ouvert ssh
2121/tcp ouvert ccproxy-ftp
2222/tcp ouvert EtherNetIP-1
3001/tcp ouvert nessus
8080/tcp ouvert http-proxy

Nmap terminé : 1 adresse IP (1 hôte actif) analysées en 0,11 secondes

Cette sortie montre que Nmap a envoyé un paquet TCP ACK à localhost et a reçu une réponse, indiquant que l'hôte est actif. Le balayage affiche également les ports ouverts du système.

Combiner les techniques de balayage ping

Dans cette étape, vous apprendrez à combiner les balayages ping TCP SYN et ACK à l'aide de Nmap pour découvrir les hôtes actifs sur un réseau. La combinaison de différents types de pings peut améliorer 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 à la fois des paquets TCP SYN et TCP ACK à chaque hôte du réseau spécifié. Cela augmente les chances de détecter les hôtes actifs, en particulier dans les environnements avec des pare-feu restrictifs.

Tout d'abord, essayons le balayage combiné sur le réseau 192.168.1.0/24 pour démontrer ce qui se passe lorsqu'aucun hôte n'est présent :

sudo nmap -PS -PA 192.168.1.0/24

Cette commande indique à Nmap d'envoyer à la fois 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.

Puisqu'il n'y a aucun hôte actif dans cette plage de réseau dans notre environnement de laboratoire, vous verrez une sortie comme celle-ci :

Démarrage de Nmap 7.80 ( https://nmap.org ) le 2025-06-03 09:51 CEST

Le balayage se termine sans afficher de rapports d'hôtes, indiquant qu'aucun hôte n'a répondu aux sondes ping SYN ou ACK dans cette plage de réseau.

Dans un scénario réel avec des hôtes actifs, la sortie ressemblerait à ceci :

Démarrage de Nmap 7.XX ( https://nmap.org ) le YYYY-MM-DD HH:MM ZZZ
Rapport de balayage Nmap pour 192.168.1.1
Hôte actif (latence de 0,0010s).
Rapport de balayage Nmap pour 192.168.1.2
Hôte actif (latence de 0,0015s).
Rapport de balayage Nmap pour 192.168.1.10
Hôte actif (latence de 0,0012s).
Nmap terminé : 256 adresses IP (3 hôtes actifs) analysées en 2,XX secondes

Cela montrerait que Nmap a analysé le réseau 192.168.1.0/24 et trouvé trois hôtes actifs qui ont répondu aux techniques de ping combinées.

Pour démontrer la technique de ping combiné avec un exemple fonctionnel, utilisons-la sur localhost :

sudo nmap -PS -PA 127.0.0.1

Ceci produira une sortie indiquant que localhost répond aux deux types de ping :

Démarrage de Nmap 7.80 ( https://nmap.org ) le 2025-06-03 09:51 CEST
Rapport de balayage Nmap pour localhost (127.0.0.1)
Hôte actif (latence de 0,0000040s).
Non affiché : 995 ports fermés
PORT     ÉTAT SERVICE
22/tcp   ouvert ssh
2121/tcp ouvert ccproxy-ftp
2222/tcp ouvert EtherNetIP-1
3001/tcp ouvert nessus
8080/tcp ouvert http-proxy

Nmap terminé : 1 adresse IP (1 hôte actif) analysées en 0,11 secondes

Enfin, vous pouvez revoir les commandes que vous avez exécutées dans le terminal pour identifier les techniques que vous avez apprises à l'aide de Nmap. Le terminal conserve un historique des commandes que vous avez exécutées, ce qui peut être utile pour revoir votre travail et vérifier les résultats de vos analyses.

Pour afficher l'historique des commandes dans le terminal, 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.

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 balayages ping.

Par exemple, vous devriez voir des commandes comme :

  1  sudo nmap -sn 192.168.1.0/24
  2  sudo nmap -sn 127.0.0.1
  3  sudo nmap -PS 192.168.1.1
  4  sudo nmap -PS 127.0.0.1
  5  sudo nmap -PA 192.168.1.1
  6  sudo nmap -PA 127.0.0.1
  7  sudo nmap -PS -PA 192.168.1.0/24
  8  sudo nmap -PS -PA 127.0.0.1
  9  history

En examinant ces commandes et leurs sorties (que vous devriez avoir notées dans les étapes précédentes), vous pouvez confirmer les différentes techniques de ping que vous avez apprises et leur comportement avec les hôtes accessibles et inaccessibles. La commande history est un outil utile pour auditer votre travail et vous assurer que vous avez correctement effectué les étapes de ce laboratoire.

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

Résumé

Dans ce laboratoire, vous avez appris à effectuer la découverte d'hôtes à l'aide de Nmap. Vous avez commencé par effectuer un balayage ping sur le réseau 192.168.1.0/24 avec l'option -sn pour désactiver le balayage de ports, ce qui est plus rapide et moins intrusif. Vous avez également effectué un balayage ping sur l'adresse localhost 127.0.0.1 tout en désactivant le balayage de ports. De plus, vous avez exploré différents types de pings, tels que le ping TCP SYN avec -PS, le ping ACK avec -PA, et un ping combiné avec -PS -PA, pour identifier efficacement les hôtes actifs dans divers scénarios réseau. Enfin, vous avez appris à consulter l'historique de vos commandes dans le terminal pour vérifier vos actions et découvrir les hôtes.