Spécification des cibles

Tout ce qui n'est pas une option (ou l'argument d'une option) dans la ligne de commande de Nmap est considéré comme une spécification d'hôte cible. Le cas le plus simple est de spécifier une adresse IP cible ou un nom d'hôte à scanner.

  Si vous désirez scanner un réseau entier d'hôtes consécutifs, Nmap supporte l'adressage du style CIDR. Vous pouvez ajouter / <numbits> à une adresse IP ou à un nom d'hôte de référence et Nmap scannera toutes les adresses IP dont les <numbits> bits de poids fort sont les mêmes que la cible de référence. Par exemple, 192.168.10.0/24 scannerait les 256 hôtes entre 192.168.10.0 (en binaire: 11000000 10101000 00001010 00000000) et 192.168.10.255 (en binaire:11000000 10101000 00001010 11111111) inclusivement. 192.168.10.40/24 ferait donc aussi la même chose. Étant donné que l'hôte scanme.nmap.org est à l'adresse IP 205.217.153.62, scanme.nmap.org/16 scannerait les 65 536 adresses IP entre 205.217.0.0 et 205.217.255.255. La plus petite valeur autorisée est /1 qui scanne la moitié d'Internet. La plus grande valeur autorisée est 32, ainsi Nmap ne scanne que la cible de référence car tous les bits de l'adresse sont fixés.

La notation CIDR est concise mais pas toujours des plus pratiques. Par exemple, vous voudriez scanner 192.168.0.0/16 mais éviter toutes les adresses se terminant par .0 ou .255 car se sont souvent des adresses de diffusion (broadcast). Nmap permet de le faire grâce à l'adressage par intervalles. Plutôt que de spécifier une adresse IP normale, vous pouvez spécifier pour chaque octet de l'IP une liste d'intervalles séparés par des virgules. Par exemple, 192.168.0-255.1-254 évitera toutes les adresses se terminant par .0 ou .255. Les intervalles ne sont pas limités aux octets finals: 0-255.0-255.13.37 exécutera un scan de toutes les adresses IP se terminant par 137.37. Ce genre de spécifications peut s'avérer utile pour des statistiques sur Internet ou pour les chercheurs.

Les adresses IPv6 ne peuvent être spécifiées que par une adresse IPv6 pleinement qualifiée ou un nom d'hôte. L'adressage CIDR ou par intervalles n'est pas géré avec IPv6 car les adresses ne sont que rarement utiles.

Nmap accepte les spécifications de plusieurs hôtes à la ligne de commande, sans qu'elles soient nécessairement de même type. La commande nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.0-255 fait donc ce à quoi vous vous attendez.

Même si les cibles sont souvent spécifiées dans les lignes de commandes, les options suivantes sont également disponibles pour sélectionner des cibles :

-iL <inputfilename>(Lit la liste des hôtes/réseaux cibles depuis le fichier)

Lit les spécifications des cibles depuis le fichier <inputfilename>. Il est souvent maladroit de passer une longue liste d'hôtes à la ligne de commande. Par exemple, votre serveur DHCP pourrait fournir une liste de 10 000 baux que vous souhaiteriez scanner. Ou alors voudriez scanner toutes les adresses IP sauf celles des baux DHCP pour identifier les hôtes qui utilisent des adresses IP statiques non-autorisées. Générez simplement la liste des hôtes à scanner et passez ce fichier comme argument de l'option -iL. Les entrées peuvent être spécifiées dans n'importe quel des formats acceptés par la ligne de commande de Nmap (adresses IP, noms d'hôtes, CIDR, IPv6 ou par intervalles). Les entrées doivent être séparées par un ou plusieurs espaces, tabulations ou retours chariot. Vous pouvez utiliser un tiret (-) comme nom de fichier si vous souhaitez que Nmap lise les hôtes depuis l'entrée standard.

-iR <num hosts>(Choisit des cibles au hasard)

Pour des études à l'échelle d'Internet ou autres, vous pourriez désirer de choisir vos cibles au hasard. L'argument  <num hosts> indique à Nmap combien d'IPs il doit générer. Les IPs à éviter, comme les plages d'adresses privées, multicast ou non allouées sont automatiquement évitées. On peut aussi utiliser l'argument 0 pour effectuer un scan sans fin. Rappelez-vous bien que certains administrateurs de réseau s'irritent lorsqu'on scanne leur réseau sans permission et peuvent porter plainte. Utilisez cette option à vos risques et périls! Un jour de pluie où vous ne savez pas quoi faire, essayez la commande nmap -sS -PS80 -iR 0 -p 80 pour trouver des serveurs Web au hasard sur lesquels fureter.

--exclude <host1[,host2][,host3],...> (Exclut des hôtes/des réseaux des cibles)

Spécifie une liste de cibles séparées par des virgules à exclure du scan, même si elles font partie de la plage réseau que vous avez spécifiée. La liste que vous donnez en entrée utilise la syntaxe Nmap habituelle, elle peut donc inclure des noms d'hôtes, des blocs CIDR, des intervalles, etc. Ceci peut être utile quand le réseau que vous voulez scanner comprend des serveurs à haute disponibilité, des systèmes reconnus pour réagir défavorablement aux scans de ports ou des sous-réseaux administrés par d'autres personnes.

--excludefile <exclude_file> (Exclut des hôtes/des réseaux des cibles depuis le fichier)

Cette option offre les mêmes fonctionnalités que l'option --exclude, à la différence qu'ici les cibles à exclure sont spécifiées dans le fichier <exclude_file> au lieu de la ligne de commande. Les cibles sont séparées entre elles dans le fichier par des retours chariot, des espaces ou des tabulations.