Sunteți pe pagina 1din 41

NMAP(1)

[FIXME: manual]

NMAP(1)

NAME
nmap Outil d'exploration rseau et scanneur de ports/scurit

SYNOPSIS
nmap [Types de scans...] [Options] {spcifications des cibles}

DESCRIPTION
Nmap (Network Mapper) est un outil open source d'exploration rseau et d'audit de scurit. Il a t
conu pour rapidement scanner de grands rseaux, mais il fonctionne aussi trs bien sur une cible unique.
Nmap innove en utilisant des paquets IP bruts (raw packets) pour dterminer quels sont les htes actifs sur
le rseau, quels services (y compris le nom de l'application et la version) ces htes offrent, quels systmes
d'exploitation (et leurs versions) ils utilisent, quels types de dispositifs de filtrage/parefeux sont utiliss,
ainsi que des douzaines d'autres caractristiques. Nmap est gnralement utilis pour les audits de scurit
mais de nombreux gestionnaires des systmes et de rseau l'apprcient pour des tches de routine comme
les inventaires de rseau, la gestion des mises jour planifies ou la surveillance des htes et des services
actifs.
Le rapport de sortie de Nmap est une liste des cibles scannes ainsi que des informations complmentaires
en fonction des options utilises. L'information centrale de la sortie est la table des ports intressants.
Cette table liste le numro de port et le protocole, le nom du service et son tat. L'tat est soit ouvert (open),
filtr (filtered), ferm (closed) ou nonfiltr (unfiltered). Ouvert indique que l'application de la machine
cible est en coute de paquets/connexions sur ce port. Filtr indique qu'un parefeu, un dispositif de filtrage
ou un autre obstacle rseau bloque ce port, empchant ainsi Nmap de dterminer s'il s'agit d'un port ouvert
ou ferm. Les ports ferms n'ont pas d'application en coute, bien qu'ils puissent quand mme s'ouvrir
n'importe quand. Les ports sont considrs comme nonfiltrs lorsqu'ils rpondent aux paquets de tests
(probes) de Nmap, mais Nmap ne peut dterminer s'ils sont ouverts ou ferms. Nmap renvoie galement les
combinaisons d'tats ouverts|filtr et ferms|filtr lorsqu'il n'arrive pas dterminer dans lequel des deux
tats possibles se trouve le port. La table des ports peut aussi comprendre des dtails sur les versions des
logiciels si la dtection des services est demande. Quand un scan du protocole IP est demand (sO),
Nmap fournit des informations sur les protocoles IP supports au lieu de la liste des ports en coute.
En plus de la table des ports intressants, Nmap peut aussi fournir de plus amples informations sur les
cibles comme les noms DNS (reverse DNS), deviner les systmes d'exploitation utiliss, obtenir le type de
matriel ou les adresses MAC.
Un scan classique avec Nmap est prsent dans Example 1, Un scan Nmap reprsentatif . Les seuls
arguments de Nmap utiliss dans cet exemple sont A , qui permet la dtection des OS et versions de
logiciels utiliss, T4 pour une excution plus rapide, et les noms d'hte des cibles.
Example 1. Un scan Nmap reprsentatif
# nmap A T4 scanme.nmap.org playground
Starting nmap ( http://www.insecure.org/nmap/ )
Interesting ports on scanme.nmap.org (205.217.153.62):
(The 1663 ports scanned but not shown below are in state: filtered)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99)
53/tcp open domain
70/tcp closed gopher
80/tcp open http Apache httpd 2.0.52 ((Fedora))
113/tcp closed auth
Device type: general purpose
Running: Linux 2.4.X|2.5.X|2.6.X
OS details: Linux 2.4.7 2.6.11, Linux 2.6.0 2.6.11
Uptime 33.908 days (since Thu Jul 21 03:38:03 2005)
Interesting ports on playground.nmap.org (192.168.0.40):

[FIXME: source]

11/11/2013

NMAP(1)

[FIXME: manual]

NMAP(1)

(The 1659 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
VERSION
135/tcp open msrpc
Microsoft Windows RPC
139/tcp open netbiosssn
389/tcp open ldap?
445/tcp open microsoftds Microsoft Windows XP microsoftds
1002/tcp open windowsicfw?
1025/tcp open msrpc
Microsoft Windows RPC
1720/tcp open H.323/Q.931 CompTek AquaGateKeeper
5800/tcp open vnchttp
RealVNC 4.0 (Resolution 400x250; VNC TCP port: 5900)
5900/tcp open vnc
VNC (protocol 3.8)
MAC Address: 00:A0:CC:63:85:4B (Liteon Communications)
Device type: general purpose
Running: Microsoft Windows NT/2K/XP
OS details: Microsoft Windows XP Pro RC1+ through final release
Service Info: OSs: Windows, Windows XP
Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds
La plus rcente version de Nmap peut tre obtenue l'url http://www.insecure.org/nmap/ . La plus rcente
version du manuel est disponible http://www.insecure.org/nmap/man/ .

NOTES DE TRADUCTION
Cette dition Francaise du Guide de rfrence de Nmap a t traduite partir de la version [2991] de la
version originale en Anglais[1] par Romuald THION <romuald.thion@insalyon.fr> et 4N9e Gutek
<4n9e@futurezone.biz>. Elle a t relue et corrige par Ghislaine Landry <glandry@rogers.com>. Ce
travail peut tre modifi et redistribu selon les termes de la license Creative Commons Attribution
License[2].
Mise a jour au 19 dec 2007.

RSUM DES OPTIONS


Ce rsum des options est affich quand Nmap est excut sans aucun argument; la plus rcente version est
toujours disponible sur http://www.insecure.org/nmap/data/nmap.usage.txt . Il sert d'aidemmoire des
options les plus frquemment utilises, mais ne remplace pas la documentation bien plus dtaille de la
suite de ce manuel. Les options obscures n'y sont pas incluses.
Nmap 4.50 (insecure.org)
Utilisation: nmap [Type(s) de scan] [Options] {spcifications des cibles}
SPCIFICATIONS DES CIBLES:
Les cibles peuvent tre spcifies par des noms d'htes, des adresses IP, des adresses de rseaux, etc.
Exemple: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0255.0255.1254
iL <inputfilename>: Lit la liste des htes/rseaux cibles partir du fichier
iR <num hosts>: Choisit les cibles au hasard
exclude <host1[,host2][,host3],...>: Exclut des htes/rseaux du scan
excludefile <exclude_file>: Exclut des htes/rseaux des cibles partir du fichier

DCOUVERTE DES HTES:


sL: List Scan Liste simplement les cibles scanner
sP: Ping Scan Ne fait que dterminer si les htes sont en ligne P0: Considre que tous les htes sont en ligne vite la d
PN: Considrer tous les htes comme tant connects saute l'tape de dcouverte des htes
PS/PA/PU [portlist]: Dcouverte TCP SYN/ACK ou UDP des ports en paramtre
PE/PP/PM: Dcouverte de type requte ICMP echo, timestamp ou netmask
PO [num de protocole]: Ping IP (par type)
n/R: Ne jamais rsoudre les noms DNS/Toujours rsoudre [rsout les cibles actives par dfaut]
dnsservers <serv1[,serv2],...>: Spcifier des serveurs DNS particuliers

[FIXME: source]

11/11/2013

NMAP(1)

[FIXME: manual]

NMAP(1)

TECHNIQUES DE SCAN:
sS/sT/sA/sW/sM: Scans TCP SYN/Connect()/ACK/Window/Maimon
sN/sF/sX: Scans TCP Null, FIN et Xmas
sU: Scan UDP
scanflags <flags>: Personnalise les flags des scans TCP
sI <zombie host[:probeport]>: Idlescan (scan passif)
sO: Scan des protocoles supports par la couche IP
b <ftp relay host>: Scan par rebond FTP
traceroute: Dtermine une route vers chaque hte
reason: Donne la raison pour laquelle tel port apparait tel tat
SPCIFICATIONS DES PORTS ET ORDRE DE SCAN:
p <plage de ports>: Ne scanne que les ports spcifis
Exemple: p22; p165535; pU:53,111,137,T:2125,80,139,8080
F: Fast Ne scanne que les ports lists dans le fichier nmapservices
r: Scan squentiel des ports, ne mlange pas leur ordre
topports <nombre>: Scan <nombre> de ports parmis les plus courants
portratio <ratio>: Scan <ratio> pourcent des ports les plus courants
DTECTION DE SERVICE/VERSION:
sV: Teste les ports ouverts pour dterminer le service en coute et sa version
versionlight: Limite les tests aux plus probables pour une identification plus rapide
versionintensity <niveau>: De 0 (lger) 9 (tout essayer)
versionall: Essaie un un tous les tests possibles pour la dtection des versions
versiontrace: Affiche des informations dtailles du scan de versions (pour dbogage)
SCRIPT SCAN:
sC: quivalent de script=safe,intrusive
script=<lua scripts>: <lua scripts> est une liste de rpertoires ou de scripts spars par des virgules
scriptargs=<n1=v1,[n2=v2,...]>: passer des arguments aux scripts
scripttrace: Montre toutes les donnes envoyes ou recues
scriptupdatedb: Met jour la base de donnes des scripts. Seulement fait si sC ou script a t aussi donn.
DTECTION DE SYSTME D'EXPLOITATION:
O: Active la dtection d'OS
osscanlimit: Limite la dtection aux cibles promteuses osscanguess: Dtecte l'OS de faon plus agressive
osscanguess: Devine l'OS de facon plus agressive
TEMPORISATION ET PERFORMANCE:
Les options qui prennent un argument de temps sont en milisecondes a moins que vous ne spcifiiez 's'
(secondes), 'm' (minutes), ou 'h' (heures) la valeur (e.g. 30m).

T[05]: Choisit une politique de temporisation (plus leve, plus rapide)


minhostgroup/maxhostgroup <msec>: Tailles des groupes d'htes scanner en parallle
minparallelism/maxparallelism <msec>: Paralllisation des paquets de tests (probes) min_rtt_timeout/maxrtttimeou
min_rtt_timeout/maxrtttimeout/initialrtttimeout <msec>: Spcifie le temps d'allerretour des paquets de tests
minrtttimeout/maxrtttimeout/initialrtttimeout <time>: Prcise
le round trip time des paquets de tests.
maxretries <tries>: Nombre de retransmissions des paquets de tests des scans de ports.
hosttimeout <msec>: Dlai d'expiration du scan d'un hte scandelay/max_scandelay <msec>: Ajuste le dlai de re
scandelay/maxscandelay <time>: Ajuste le delais entre les paquets de tests.
VASION PAREFEU/IDS ET USURPATION D'IDENTIT
f; mtu <val>: Fragmente les paquets (en spcifiant ventuellement la MTU)

[FIXME: source]

11/11/2013

NMAP(1)

[FIXME: manual]

NMAP(1)

D <decoy1,decoy2[,ME],...>: Obscurci le scan avec des leurres


S <IP_Address>: Usurpe l'adresse source
e <iface>: Utilise l'interface rseau spcifie
g/sourceport <portnum>: Utilise le numro de port comme source
datalength <num>: Ajoute des donnes au hasard aux paquets mis
ipoptions <options>: Envoi des paquets avec les options IP spcifies.
ttl <val>: Spcifie le champ timetolive IP
spoofmac <adresse MAC, prfixe ou nom du fabriquant>: Usurpe une adresse MAC
badsum: Envoi des paquets TCP/UDP avec une somme de controle erronne.

SORTIE:
oN/oX/oS/oG <file>: Sortie dans le fichier en paramtre des rsultats du scan au format normal, XML, s|<rIpt kIddi3 et G
oA <basename>: Sortie dans les trois formats majeurs en mme temps
v: Rend Nmap plus verbeux (vv pour plus d'effet)
d[level]: Slectionne ou augmente le niveau de dbogage (significatif jusqu' 9)
packettrace: Affiche tous les paquets mis et reus
iflist: Affiche les interfaces et les routes de l'hte (pour dbogage)
logerrors: Journalise les erreurs/alertes dans un fichier au format normal
appendoutput: Ajoute la sortie au fichier plutt que de l'craser
resume <filename>: Reprend un scan interrompu
stylesheet <path/URL>: Feuille de styles XSL pour transformer la sortie XML en HTML
webxml: Feuille de styles de rfrences de Insecure.Org pour un XML plus portable
no_stylesheet: Nmap n'associe pas la feuille de styles XSL la sortie XML
DIVERS:
6: Active le scan IPv6
A: Active la dtection du systme d'exploitation et des versions
datadir <dirname>: Spcifie un dossier pour les fichiers de donnes de Nmap
sendeth/sendip: Envoie des paquets en utilisant des trames Ethernet ou des paquets IP bruts
privileged: Suppose que l'utilisateur est entirement privilgi V: Affiche le numro de version
unprivileged: Suppose que l'utilisateur n'a pas les privilges d'usage des raw socket
h: Affiche ce rsum de l'aide
EXEMPLES:
nmap v A scanme.nmap.org
nmap v sP 192.168.0.0/16 10.0.0.0/8
nmap v iR 10000 P0 p 80

SPCIFICATION DES CIBLES


Tout ce qui n'est pas une option (ou l'argument d'une option) dans la ligne de commande de Nmap est
considr comme une spcification d'hte cible. Le cas le plus simple est de spcifier une adresse IP cible
ou un nom d'hte scanner.
Si vous dsirez scanner un rseau entier d'htes conscutifs, Nmap supporte l'adressage du style CIDR.
Vous pouvez ajouter / numbits une adresse IP ou un nom d'hte de rfrence et Nmap scannera toutes
les adresses IP dont les numbits bits de poids fort sont les mmes que la cible de rfrence. Par exemple,
192.168.10.0/24 scannerait les 256 htes 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 mme chose. tant donn que l'hte 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 autorise est /1 qui scanne la moiti d'Internet. La plus grande valeur
autorise est 32, ainsi Nmap ne scanne que la cible de rfrence car tous les bits de l'adresse sont fixs.
La notation CIDR est concise mais pas toujours des plus pratiques. Par exemple, vous voudriez scanner

[FIXME: source]

11/11/2013

NMAP(1)

[FIXME: manual]

NMAP(1)

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 grce l'adressage par intervalles. Plutt que de spcifier
une adresse IP normale, vous pouvez spcifier pour chaque octet de l'IP une liste d'intervalles spars par
des virgules. Par exemple, 192.168.0255.1254 vitera toutes les adresses se terminant par .0 ou .255. Les
intervalles ne sont pas limits aux octets finals: 0255.0255.13.37 excutera un scan de toutes les adresses
IP se terminant par 137.37. Ce genre de spcifications peut s'avrer utile pour des statistiques sur Internet
ou pour les chercheurs.
Les adresses IPv6 ne peuvent tre spcifies que par une adresse IPv6 pleinement qualifie ou un nom
d'hte. L'adressage CIDR ou par intervalles n'est pas gr avec IPv6 car les adresses ne sont que rarement
utiles.
Nmap accepte les spcifications de plusieurs htes la ligne de commande, sans qu'elles soient
ncessairement de mme type. La commande nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,37.0255
fait donc ce quoi vous vous attendez.
Mme si les cibles sont souvent spcifies dans les lignes de commandes, les options suivantes sont
galement disponibles pour slectionner des cibles :
iL <inputfilename>(Lit la liste des htes/rseaux cibles depuis le fichier)
Lit les spcifications des cibles depuis le fichier inputfilename. Il est souvent maladroit de passer une
longue liste d'htes 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 htes qui utilisent des adresses IP statiques
nonautorises. Gnrez simplement la liste des htes scanner et passez ce fichier comme argument
de l'option iL. Les entres peuvent tre spcifies dans n'importe quel des formats accepts par la
ligne de commande de Nmap (adresses IP, noms d'htes, CIDR, IPv6 ou par intervalles). Les entres
doivent tre spares 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 htes depuis l'entre standard.
iR <num hosts>(Choisit des cibles au hasard)
Pour des tudes l'chelle d'Internet ou autres, vous pourriez dsirer de choisir vos cibles au hasard.
L'argument num hosts indique Nmap combien d'IPs il doit gnrer. Les IPs viter, comme les
plages d'adresses prives, multicast ou non alloues sont automatiquement vites. On peut aussi
utiliser l'argument 0 pour effectuer un scan sans fin. Rappelezvous bien que certains administrateurs
de rseau s'irritent lorsqu'on scanne leur rseau sans permission et peuvent porter plainte. Utilisez cette
option vos risques et prils! 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 htes/des rseaux des cibles)
Spcifie une liste de cibles spares par des virgules exclure du scan, mme si elles font partie de la
plage rseau que vous avez spcifie. La liste que vous donnez en entre utilise la syntaxe Nmap
habituelle, elle peut donc inclure des noms d'htes, des blocs CIDR, des intervalles, etc. Ceci peut tre
utile quand le rseau que vous voulez scanner comprend des serveurs haute disponibilit, des
systmes reconnus pour ragir dfavorablement aux scans de ports ou des sousrseaux administrs
par d'autres personnes.
excludefile <exclude_file> (Exclut des htes/des rseaux des cibles depuis le fichier)
Cette option offre les mmes fonctionnalits que l'option exclude, la diffrence qu'ici les cibles
exclure sont spcifies dans le fichier exclude_file au lieu de la ligne de commande. Les cibles sont
spares entre elles dans le fichier par des retours chariot, des espaces ou des tabulations.

DCOUVERTE DES HTES


Une des toutes premires tapes dans la reconnaissance d'un rseau est de rduire un ensemble (quelques
fois norme) de plages d'IP une liste d'htes actifs ou intressants. Scanner tous les ports de chacune des
IP est lent et souvent inutile. Bien sr, ce qui rend un hte intressant dpend grandement du but du scan.
Les administrateurs de rseau peuvent tre uniquement intresss par les htes o un certain service est
actif tandis que les auditeurs de scurit peuvent s'intresser tout quipement qui dispose d'une adresse IP.
Alors que l'administrateur se satisferait d'un ping ICMP pour reprer les htes de son rseau, l'auditeur

[FIXME: source]

11/11/2013

NMAP(1)

[FIXME: manual]

NMAP(1)

pourrait utiliser un ensemble vari de douzaines de paquets de tests (probes) dans le but de contourner les
restrictions des parefeux.
Parce que les besoins de dcouverte des htes sont si diffrents, Nmap propose une grande panoplie
d'options pour individualiser les techniques utilises. La dcouverte d'hte est souvent appele scan ping
(ping scan), mais celleci va bien au del d'une simple requte echo ICMP associe l'incontournable
outil ping. Les utilisateurs peuvent entirement viter l'tape scan ping en listant simplement les cibles
(sL), en dsactivant le scan ping(P0) ou alors en dcouvrant le rseau avec des combinaisons de tests
TCP SYN/ACK, UDP et ICMP. Le but de ces tests est de solliciter une rponse des cibles qui prouvera
qu'une adresse IP est effectivement active (utilise par un hte ou un quipement rseau). Sur de nombreux
rseaux, seul un petit pourcentage des adresses IP sont actives un moment donn. Ceci est
particulirement courant avec les plages d'adresses prives (dfinies par la sainte RFC 1918) comme
10.0.0.0/8. Ce rseau comprend 16 millions d'IPs, mais il s'est dj vu utilis par des entreprises disposant
de moins d'un millier de machines. La dcouverte des htes permet de trouver ces machines dans
l'immensit de cet ocan d'adresses IP.
Lorsqu'aucune option de dcouverte n'est spcifie, Nmap envoie un paquet TCP ACK sur le port 80 ainsi
qu'une requte d'echo ICMP chaque machine cible. Une exception cette rgle est qu'un scan ARP est
utilis pour chaque cible du rseau Ethernet local. Pour les utilisateurs UNIX nonprivilgis, un paquet
SYN est utilis la place du ACK en utilisant l'appel systme connect(). Ces options par dfaut sont
quivalentes la combinaison d'option PA PE. Cette mthode de dcouverte des htes est souvent
suffisante lors de scans de rseaux locaux, mais un ensemble plus complet de tests de dcouverte est
recommand pour les audits de scurit.
Les options suivantes contrlent la dcouverte des htes.
sL (Liste simplement)
Cette forme dgnre de dcouverte d'htes liste simplement chaque hte du(des) rseau(x)
spcifi(s), sans envoyer aucun paquet aux cibles. Par dfaut, Nmap utilise toujours la rsolution DNS
inverse des htes pour connatre leurs noms. Il est souvent tonnant de constater combien ces simples
informations peuvent tre utiles. Par exemple, fw.chi.playboy.com est le parefeu du bureau de
Chicago de Playboy Enterprises. Nmap rend galement compte du nombre total d'adresses IP la fin
de son rapport. Cette simple liste est un bon test pour vous assurer que vos adresses IP cibles sont les
bonnes. Si jamais ces noms de domaines ne vous disent rien, il vaudrait mieux s'arrter l afin d'viter
de scanner le rseau de la mauvaise entreprise.
Comme l'ide est de simplement afficher une liste des cibles, les options de fonctionnalits plus haut
niveau comme le scan de ports, la dtection du systme d'exploitation ou la dcouverte des htes ne
peuvent pas tre combines avec la liste simple. Si vous voulez juste dsactiver la dcouverte des htes
mais quand mme effectuer des oprations de plus haut niveau, lisez sur l'option P0.
sP(Scan ping)
Cette option indique Nmap de n'effectuer que le scan ping (la dcouverte des htes), puis d'afficher
la liste des htes disponibles qui ont rpondu au scan. Aucun autre test (comme le scan des ports ou la
dtection d'OS) n'est effectu. Ce scan est lgrement plus intrusif que la simple liste, et peut souvent
tre utilis dans le mme but. Il permet un survol d'un rseau cible sans trop attirer l'attention. Savoir
combien d'htes sont actifs est plus prcieux pour un attaquant que la simple liste de chaque IP avec
son nom d'hte.
Les gestionnaires des systmes apprcient galement cette option. Elle peut facilement tre utilise
pour compter le nombre de machines disponibles sur un rseau ou pour contrler la disponibilit d'un
serveur. Cette option est souvent appele balayage ping (ping sweep). Elle est plus fiable que
sonder par ping l'adresse de diffusion (broadcast) car beaucoup d'htes ne rpondent pas ces
requtes.
L'option sP envoie une requte d'echo ICMP et un paquet TCP sur le port par dfaut (80).
Lorsqu'excute par un utilisateur nonprivilgi, un paquet SYN est envoy (en utilisant l'appel

[FIXME: source]

11/11/2013

NMAP(1)

[FIXME: manual]

NMAP(1)

systme connect()) sur le port 80 de la cible. Lorsqu'un utilisateur privilgi essaie de scanner des
cibles sur un rseau local Ethernet, des requtes ARP (PR) sont utilises moins que l'option
sendipsoit spcifie. L'option sP peut tre combine avec chacun des tests de dcouverte des
htes (les options P*, sauf P0) pour une plus grand flexibilit. Ds qu'un test de ce type est utilis
avec un numro de port, il est prpondrante sur les tests par dfaut (ACK et requte echo). Quand des
parefeux restrictifs sont prsents entre la machine excutant Nmap et le rseau cible, il est
recommand d'utiliser ces techniques avances. Sinon des htes peuvent tre oublis quand le
parefeu rejte les paquets ou leurs rponses.
PN (Pas de scan ping)
Cette option vite compltement l'tape de dcouverte des htes de Nmap. En temps normal, Nmap
utilise cette tape pour dterminer quelles sont les machines actives pour effectuer un scan approfondi.
Par dfaut, Nmap n'examine en profondeur, avec le scan des ports ou la dtection de version, que les
machines qui sont actives. Dsactiver la dtection des htes avec l'option P0conduit Nmap effectuer
les scans demands sur toutes les adresses IP cibles spcifies. Ainsi, si une adresse IP de classe B
(/16) est spcifie la ligne de commande, toutes les 65 536 adresses IP seront scannes. Le deuxime
caractre dans l'option P0 est bien un zro et non pas la lettre O. La dcouverte des htes est vite
comme avec la liste simple, mais au lieu de s'arrter et d'afficher la liste des cibles, Nmap continue et
effectue les fonctions demandes comme si chaque adresse IP tait active. Pour les machines sur un
reseau local en ethernet, un scan ARP scan sera quand mme effectu ( moins que sendip ne soit
spcifi) parceque Nmap a besoin de l'adresse MAC pour les scans ulterieurs. Cette option s'appelait
P0 (avec un zro) auparavant, mais a t renomme afin d'viter la confusion avec le Ping par
protocoles PO (lettre O).
PS [portlist](Ping TCP SYN)
Cette option envoie un paquet TCP vide avec le drapeau (flag) SYN activ. La destination par dfaut
de ce paquet est le port 80 (configurable la compilation en changeant la dfinition
DEFAULT_TCP_PROBE_PORT dans nmap.h ), mais un autre port peut tre spcifi en paramtre
(ex.: PS22,23,25,80,113,1050,35000), auquel cas les paquets de tests (probes) seront envoys en
parallle sur chaque port cible.
Le drapeau SYN fait croire que vous voulez tablir une connexion sur le systme distant. Si le port de
destination est ferm, un paquet RST (reset) est renvoy. Si le port s'avre tre ouvert, la cible va
entamer la seconde tape de l'tablissement de connexion TCP en 3 temps (TCP 3wayhandshake)
en rpondant par un paquet TCP SYN/ACK. La machine excutant Nmap avortera alors la connexion
en cours d'tablissement en rpondant avec un paquet RST au lieu d'un paquet ACK qui finaliserait
normalement l'tablissement de la connexion. Le paquet RST est envoy par le noyau (kernel) de la
machine excutant Nmap en rponse au paquet SYN/ACK inattendu; ce n'est pas Nmap luimme qui
l'met.
Nmap ne tient pas compte si le port est rellement ouvert ou ferm. Les paquets RST ou SYN/ACK
voqus prcdemment indiquent tout deux que l'hte est disponible et rceptif.
Sur les systmes UNIX, seuls les utilisateurs privilgis root sont gnralement capables d'envoyer et
de recevoir des paquets TCP bruts (raw packets). Pour les utilisateurs nonprivilgis, Nmap
contourne cette restriction avec l'appel systme connect() utilis sur chaque port de la cible. Ceci
revient envoyer un paquet SYN sur l'hte cible pour tablir une connexion. Si connect() russi ou
choue avec ECONNREFUSED, la pile TCP/IP sousjacente doit avoir reu soit un SYN/ACK soit un
RST et l'hte est alors considr comme tant actif. Si la tentative de connexion est toujours en cours
jusqu' l'expiration du dlai d'tablissement, l'hte est considr comme tant inactif. Cette technique
est aussi utilise pour les connexions IPv6, du fait que les paquets bruts IPv6 ne sont pas encore
supports par Nmap.
PA [portlist](Ping TCP ACK)
Le ping TCP ACK ressemble fortement aux tests SYN prcdemment voqus. la diffrence que,
comme on l'imagine bien, le drapeau TCP ACK est utilis la place du drapeau SYN. Un tel paquet

[FIXME: source]

11/11/2013

NMAP(1)

[FIXME: manual]

NMAP(1)

ACK acquitte normalement la rception de donnes dans une connexion TCP prcdemment tablie,
or ici cette connexion n'existe pas. Ainsi, l'hte distant devrait systmatiquement rpondre par un
paquet RST qui trahirait son existence.
L'option PA utilise le mme port par dfaut que le test SYN (80), mais peut aussi prendre une liste de
ports de destination dans le mme format. Si un utilisateur nonprivilgi essaie cette option, ou si une
cible IPv6 est spcifie, la technique connect() prcdemment voque est utilise. Cette technique est
imparfaite car connect() envoie un paquet SYN et pas un ACK.
La raison pour laquelle Nmap offre la fois les tests SYN et ACK est de maximiser les chances de
contourner les parefeux. De nombreux administrateurs configurent leurs routeurs et leurs parefeux
pour bloquer les paquets entrants SYN sauf ceux destins aux services publics comme les sites Web de
l'entreprise ou le serveur de messagerie. Ceci empche les autres connexions entrantes dans
l'organisation, tout en permettant un accs complet en sortie l'Internet. Cette approche sans tat de
connexion est peu consommatrice des ressources des parefeux/routeurs et est largement supporte
dans les dispositifs de filtrage matriels ou logiciels. Le parefeu logiciel Linux Netfilter/iptables par
exemple propose l'option syn qui implante cette approche sans tat (stateless). Quand de telles
rgles de parefeu sont mises en place, les paquets de tests SYN ( PS) seront certainement bloqus
lorsqu'envoys sur des ports ferms. Dans ces cas l, les tests ACK contournent ces rgles, prenant
ainsi toute leur saveur.
Un autre type courant de parefeux utilise des rgles avec tat de connexion (statefull) qui jettent les
paquets inattendus. Cette fonctionnalit tait la base frquente sur les parefeux hautdegamme,
mais elle s'est rpandue avec le temps. Le parefeu Linux Netfilter/iptables supporte ce mcanisme
grce l'option state qui catgorise les paquets selon les tats de connexion. Un test SYN marchera
certainement mieux contre ces systmes, car les paquets ACK sont gnralement considrs comme
inattendus ou bogus et rejets. Une solution ce dilemme est d'envoyer la fois des paquets de tests
SYN et ACK en utilisant conjointement les options PS et PA.
PU [portlist](Ping UDP)
Une autre option de dcouverte des htes est le ping UDP, qui envoie un paquet UDP vide ( moins
que l'option datalength ne soit utilise) aux ports spcifis. La liste des ports est crite dans le
mme format que les options PS et PA prcdemment voques. Si aucun port n'est spcifi, le port
par dfaut est le 31338. Cette valeur par dfaut peut tre modifie la compilation en changeant la
dfinition DEFAULT_UDP_PROBE_PORT dans le fichier nmap.h. Un numro de port trs peu
courant est utilis par dfaut, car envoyer des paquets sur un port ouvert n'est que peu souhaitable pour
ce type de scan particulier.
Lorsqu'on atteint un port ferm sur la cible, le test UDP s'attend recevoir un paquet ICMP port
unreachable en retour. Ceci indique Nmap que la machine est active et disponible. De nombreuses
autres erreurs ICMP, comme host/network unreachable ou TTL exceeded indiquent un hte
inactif ou inaccessible. Une absence de rponse est galement interprte de la sorte. Si un port ouvert
est atteint, la majorit des services ignorent simplement ce paquet vide et ne rpondent rien. Ceci est la
raison pour laquelle le port par dfaut du test est le 31338, qui n'a que trs peu de chances d'tre
utilis. Trs peu de services, comme chargen, rpondront un paquet UDP vide, dvoilant ainsi
Nmap leur prsence.
L'avantage principal de ce type de scan est qu'il permet de contourner les parefeux et dispositifs de
filtrage qui n'observent que TCP. Les routeurs sansfil Linksys BEFW11S4 par exemple sont de ce
type. L'interface externe de cet quipement filtre tous les ports TCP par dfaut, mais les paquets de
tests UDP se voient toujours rpondre par des messages ICMP port unreachable , rendant ainsi
l'quipement dsuet.
PE; PP; PM(Types de ping ICMP)
En plus des inhabituels types de dcouverte des htes TCP et UDP prcdemment voqus, Nmap
peut galement envoyer les paquets standard mis par l'ternel programme ping. Nmap envoie un

[FIXME: source]

11/11/2013

NMAP(1)

[FIXME: manual]

NMAP(1)

paquet ICMP type 8 (echo request) aux adresses IP cibles, attendant un type 0 (echo reply) en
provenance des htes disponibles. Malheureusement pour les explorateurs de rseaux, de nombreux
htes et parefeux bloquent dsormais ces paquets, au lieu d'y rpondre comme indiqu par la RFC
1122[3]. Pour cette raison, les scans purs ICMP sont rarement fiables contre des cibles inconnues
d'Internet. Cependant, pour les administrateurs surveillants un rseau local cette approche peut tre
pratique et efficace. Utilisez l'option PE pour activer ce comportement de requte echo.
Mme si la requte echo est le standard de la requte ICMP, Nmap ne s'arrte pas l, Le standard
ICMP (RFC 792[4]) spcifie galement les requtes timestamp , information et adress mask ,
dont les codes sont respectivement 13, 15 et 17. Si le but avou de ces requtes est d'obtenir des
informations comme le masque rseau ou l'heure courante, elles peuvent facilement tre utilises pour
la dcouverte des htes: un systme qui y rpond est actif et disponible. Nmap n'implante actuellement
pas les requtes d'informations, car elles ne sont que rarement supportes. La RFC 1122 insiste sur le
fait qu'un hte ne DEVRAIT PAS implanter ces messages. Les requtes timestamp et masque
d'adresse peuvent tre mises avec les options PP et PM, respectivement. Une rponse timestamp
(code ICMP 14) ou masque d'adresse (code ICMP 18) rvle que l'hte est disponible. Ces deux
requtes peuvent tre trs utiles quand les administrateurs bloquent spcifiquement les requtes echo
mais oublient que les autres requtes ICMP peuvent tre utilises dans le mme but.
PR(Ping ARP)
Un des usages les plus courant de Nmap est de scanner un LAN Ethernet. Sur la plupart des LANS,
particulirement ceux qui utilisent les plages d'adresses prives de la RFC 1918, la grande majorit des
adresses IP sont inutilises un instant donn. Quand Nmap essaie d'envoyer un paquet IP brut (raw
packet) comme une requte ICMP echo, le systme d'exploitation doit dterminer l'adresse matrielle
(ARP) correspondant la cible IP pour correctement adresser la trame Ethernet. Ceci est souvent lent
et problmatique, car les systmes d'exploitation n'ont pas t crits pour grer des millions de
requtes ARP contre des htes indisponibles en un court intervalle de temps.
Les requtes ARP sont prises en charge par Nmap qui dispose d'algorithmes optimiss pour grer le
scan ARP. Si Nmap reoit une rponse ces requtes, il n'a pas besoin de poursuivre avec les ping
bass sur IP car il sait dj que l'hte est actif. Ceci rend le scan ARP bien plus rapide et fiable que les
scans bass sur IP. Ainsi, c'est le comportement adopt par dfaut par Nmap quand il remarque que les
htes scanns sont sur le rseau local. Mme si d'autres types de ping (comme PE ou PS) sont
spcifis, Nmap utilise ARP pour chaque cible qui sont sur le mme sousrseau que la machine
excutant Nmap. Si vous ne souhaitez vraiment pas utiliser le scan ARP, utilisez l'option sendip
PO[protolist] (IP Protocol Ping)
Une autre otpion de dcouverte d'htes est le Ping IPProto, qui envoie des paquets IP avec les numros
de protocole(s) spcifis dans le champ Protocol de l'entte IP. La liste des protocoles prend le mme
format qu'avec la liste des ports dans les options de dcouverte en TCP et UDP prsentes
prcdement. Si aucun protocole n'est prcis, par dfaut ce sont des paquets IP multiples ICMP
(protocol 1), IGMP (protocol 2), et IPinIP (protocol 4) qui sont envoys. Les protocoles par dfaut
peuvent tre configurs la compilation en changeant DEFAULT_PROTO_PROBE_PORT_SPEC
dans nmap.h. Notez que pour ICMP, IGMP, TCP (protocol 6), et UDP (protocol 17), les paquets sont
envoys avec l'entte supplmentaire cependant que les autres protocoles sont envoys sans donnes
supplmentaires en sus de l'entte IP ( moins que l'option datalength ne soit spcifie).
Cette mthode de dcouverte des htes recherche les rponses dans le mme protocole que la requte,
ou le message ICMP Protocol Unreachable qui signifie que le protocole spcifi n'est pas support par
l'hte (ce qui implique indirectement qu'il est connect).
reason(Raisons donnes l'tat de l'hte et des ports)
Montre les raisons pour lesquelles chaque port est dsign par un tat spcifique et un hte connect
ou non. Cette option affiche le type de paquet qui dtermin l'tat du port ou de l'hte. Par exemple,
un paquet RST en provenance d'un port ferm ou un echo relpy pour un hte connect. L'information
que Nmap peut fournir est dtermine par le type de scan ou de ping. Le scan SYN et le ping SYN

[FIXME: source]

11/11/2013

NMAP(1)

[FIXME: manual]

NMAP(1)

(sS et PT) sont trs dtaills, mais les TCP connect scan et ping (sT) sont limits par
l'implmentation de l'appel systme connect. Cette fonctionnalit est automatiquement active par le
mode de deboguage (d) et les rsultats sont enregistrs dans la sortie XML mme si cette option n'est
pas spcifie.
n(Pas de rsolution DNS)
Indique Nmap de ne jamais faire la rsolution DNS inverse des htes actifs qu'il a trouv. Comme la
rsolution DNS est souvent lente, ceci acclre les choses.
R(Rsolution DNS pour toutes les cibles)
Indique Nmap de toujoursfaire la rsolution DNS inverse des adresses IP cibles. Normalement, ceci
n'est effectu que si une machine est considre comme active.
dnsservers <serveur1[,serveur2],...> (Serveurs utiliser pour les requtes DNS inverses)
Par defaut Nmap va essayer de dterminer vos serveurs DNS (pour le rsolution rDNS) depuis votre
fichier resolv.conf (UNIX) ou le registre (Win32). En alternative, vous pouvez utiliser cette option
pour spcifier des serveurs alternatifs. Cette option n'est pas honore si vous utilisez systemdns ou
un scan IPv6 . Utiliser plusieurs serveurs DNS est souvent plus rapide, spcialement si vous utilisez
les serveurs ddis pour votre espace d'adresses cible. Cette option peut aussi amliorer la discretion,
comme vos requtes peuvent tre relayes par n'importe quel serveur DNS rcursif sur Internet.
Cette option est aussi utile lors du scan de reseaux privs. Parfois seuls quelques serveurs de noms
fournissent des informations rDNS propres, et vous pouvez mme ne pas savoir o ils sont. Vous
pouvez scanner le reseau sur le port 53 (peut tre avec une dtection de version), puis essayer un list
scan (sL) spcifiant chaque serveur de nom un a la fois avec dnsservers jusqu'a en trouver un
qui fonctionne.
system_dns(Utilise la rsolution DNS du systme)
Par dfaut, Nmap rsout les adresses IP en envoyant directement les requtes aux serveurs de noms
configurs sur votre machine et attend leurs rponses. De nombreuses requtes (souvent des
douzaines) sont effectues en parallle pour amliorer la performance. Spcifiez cette option si vous
souhaitez utiliser la rsolution de noms de votre systme (une adresse IP la fois par le biais de l'appel
getnameinfo()). Ceci est plus lent est rarement utile moins qu'il n'y ait une procdure errone dans le
code de Nmap concernant le DNS nous contacter s'il vous plat dans cette ventualit. La
rsolution systme est toujours utilise pour les scans IPv6.

LES BASES DU SCAN DE PORTS


Mme si le nombre de fonctionnalits de Nmap a considrablement augment au fil des ans, il reste un
scanner de ports efficace, et cela reste sa fonction principale. La commande de base nmap target scanne
plus de 1 660 ports TCP de l'hte target. Alors que de nombreux autres scanners de ports ont partitionn les
tats des ports en ouverts ou ferms, Nmap a une granularit bien plus fine. Il divise les ports selon six
tats: ouvert (open), ferm (closed), filtr (filtered), nonfiltr (unfiltered), ouvert|filtr (open|filtered), et
ferm|filtr (closed|filtered).
Ces tats ne font pas partie des proprits intrinsques des ports euxmmes, mais dcrivent comment
Nmap les peroit. Par exemple, un scan Nmap depuis le mme rseau que la cible pourrait voir le port
135/tcp comme ouvert alors qu'un scan au mme instant avec les mmes options au travers d'Internet
pourrait voir ce mme port comme filtr.
Les six tats de port reconnus par Nmap
ouvert (open)
Une application accepte des connexions TCP ou des paquets UDP sur ce port. Trouver de tels ports est
souvent le but principal du scan de ports. Les gens soucieux de la scurit savent pertinemment que
chaque port ouvert est un boulevard pour une attaque. Les attaquants et les pentesters veulent
exploiter ces ports ouverts, tandis que les administrateurs essaient de les fermer ou de les protger avec
des parefeux sans gner leurs utilisateurs lgitimes. Les ports ouverts sont galement intressants
pour des scans autres que ceux orients vers la scurit car ils indiquent les services disponibles sur le
rseau.

[FIXME: source]

11/11/2013

10

NMAP(1)

[FIXME: manual]

NMAP(1)

ferm (closed)
Un port ferm est accessible (il reoit et rpond aux paquets mis par Nmap), mais il n'y a pas
d'application en coute. Ceci peut s'avrer utile pour montrer qu'un hte est actif (dcouverte d'htes
ou scan ping), ou pour la dtection de l'OS. Comme un port ferm est accessible, il peut tre
intressant de le scanner de nouveau plus tard au cas o il s'ouvrirait. Les administrateurs pourraient
dsirer bloquer de tels ports avec un parefeu, mais ils apparatraient alors dans l'tat filtr dcrit dans
la section suivante.
filtr (filtered)
Nmap ne peut pas toujours dterminer si un port est ouvert car les dispositifs de filtrage des paquets
empchent les paquets de tests (probes) d'atteindre leur port cible. Le dispositif de filtrage peut tre un
parefeu ddi, des rgles de routeurs filtrants ou un parefeu logiciel. Ces ports ennuient les
attaquants car ils ne fournissent que trs peu d'informations. Quelques fois ils rpondent avec un
message d'erreur ICMP de type 3 code 13 ( destination unreachable: communication administratively
prohibited ), mais les dispositifs de filtrage qui rejettent les paquets sans rien rpondre sont bien plus
courants. Ceci oblige Nmap essayer plusieurs fois au cas o ces paquets de tests seraient rejets
cause d'une surcharge du rseau et pas du filtrage. Ceci ralenti terriblement les choses.
nonfiltr (unfiltered)
L'tat nonfiltr signifie qu'un port est accessible, mais que Nmap est incapable de dterminer s'il est
ouvert ou ferm. Seul le scan ACK, qui est utilis pour dterminer les rgles des parefeux, catgorise
les ports dans cet tat. Scanner des ports nonfiltrs avec un autre type de scan, comme le scan
Windows, SYN ou FIN peut aider savoir si un port est ouvert ou pas.
ouvert|filtr (open|filtered)
Nmap met dans cet tat les ports dont il est incapable de dterminer l'tat entre ouvert et filtr. Ceci
arrive pour les types de scans o les ports ouverts ne renvoient pas de rponse. L'absence de rponse
peut aussi signifier qu'un dispositif de filtrage des paquets a rejet le test ou les rponses attendues.
Ainsi, Nmap ne peut s'assurer ni que le port est ouvert, ni qu'il est filtr. Les scans UDP, protocole IP,
FIN, Null et Xmas catgorisent les ports ainsi.
ferm|filtr (closed|filtered)
Cet tat est utilis quand Nmap est incapable de dterminer si un port est ferm ou filtr. Cet tat est
seulement utilis par le scan Idle bas sur les identifiants de paquets IP.

TECHNIQUES DE SCAN DE PORTS


Comme un dbutant tchant d'effectuer une rparation automobile, je peux me battre pendant des heures en
essayant d'utiliser convenablement mes rudimentaires outils (marteau, clefs, etc.) pour la tche laquelle je
me suis attabl. Une fois que j'ai lamentablement chou et que j'ai fait remorquer ma guimbarde par un
vrai mcanicien, chaque fois il farfouille dans sa grosse caisse outils pour y trouver le parfait bidule qui,
d'un coup de cuillre pot, rpare le truc. L'art du scan de port, c'est la mme chose. Les experts
connaissent des douzaines de techniques de scan et choisissent la bonne (ou une combinaison) pour une
tche donne. D'un autre ct, les utilisateurs inexpriments et les script kiddies essaient de tout rsoudre
avec le scan SYN par dfaut. Comme Nmap est gratuit, la seule barrire franchir pour atteindre la matrise
du scan est la connaissance. C'est bien mieux que l'automobile, o il faut une grande exprience pour
dterminer que vous avez besoin d'une plieuse tablier hydraulique, mais o quand bien mme il faut
encore payer des centaines d'euros pour en disposer.
La plupart des types de scans ne sont disponibles que pour les utilisateurs privilgis. Ceci est d au fait
qu'ils mettent et reoivent des paquets bruts (raw), qui ncessitent les droits root sur les systmes UNIX.
L'utilisation d'un compte administrateur est conseill sous Windows, bien que Nmap puisse fonctionner
avec des utilisateurs nonprivilgis si WinPcap est dj charg avec l'OS. Ce besoin des droits root tait
une srieuse restriction quand Nmap a t diffus en 1997, car beaucoup d'utilisateurs avaient seulement
accs des comptes Internet partags. Maintenant, le monde est diffrent. Les ordinateurs sont moins chers,
bien plus de gens disposent d'un accs 24/24 direct Internet et les systmes UNIX de bureau (comme
Linux et Mac OS X) sont rpandus. Une version Windows de Nmap est dsormais disponible, permettant
ainsi de le lancer sur encore plus de machines. Pour toutes ces raisons, les utilisateurs ont bien moins
besoin de lancer Nmap depuis des comptes Internet limits. Ceci est heureux, car les options privilgis

[FIXME: source]

11/11/2013

11

NMAP(1)

[FIXME: manual]

NMAP(1)

rendent Nmap bien plus puissant et flexible.


Si Nmap essaie de produire des rsultats prcis, il faut garder l'esprit que toute sa perspicacit est base
sur les paquets renvoys par les machines cibles (ou les parefeux qui les protgent). De tels htes ne sont
pas toujours dignes de confiance et peuvent rpondre dans le but de d'induire Nmap en erreur. Les htes qui
ne respectent pas les RFCs et ne rpondent pas comme ils devraient sont encore plus courants. Les scans
FIN, Null et Xmas sont les plus sensibles ce problme. Ces points sont spcifiques certains types de
scan et sont donc abords dans leur section propre de la documentation.
Cette section documente la douzaine de techniques de scan de ports gres par Nmap. Les mthodes ne
peuvent pas tre utiliss simultanment, except le scan UDP (sU) qui peut tre combin avec chacun des
types de scan TCP. A titre d'aide mmoire, les options de type de scan sont de la forme sC , o Cest un
caractre prpondrant dans le nom du scan, souvent le premier. La seule exception est le dsuet scan par
rebond FTP (b). Par dfaut, Nmap effectue un scan SYN, bien qu'il y substitue un scan connect() si
l'utilisateur ne dispose pas des droits suffisants pour envoyer des paquets bruts (qui requirent les droits root
sous UNIX) ou si des cibles IPv6 sont spcifies. Des scans lists dans cette section, les utilisateurs
nonprivilgis peuvent seulement excuter les scans connect() et le scan par rebond FTP.
sS(Scan TCP SYN)
Le scan SYN est celui par dfaut et le plus populaire pour de bonnes raisons. Il peut tre excut
rapidement et scanner des milliers de ports par seconde sur un rseau rapide lorsqu'il n'est pas entrav
par des parefeux. Le scan SYN est relativement discret et furtif, vu qu'il ne termine jamais les
connexions TCP. Il marche galement contre toute pile respectant TCP, au lieu de dpendre des
particularits environnementales spcifiques comme les scans Fin/Null/Xmas, Maimon ou Idle le sont.
Il permet de plus une diffrentiation fiable entre les tats ouvert, ferm et filtr.
Cette technique est souvent appele le scan demiouvert (halfopen scanning), car il n'tabli pas
pleinement la connexion TCP. Il envoie un paquet SYN et attend sa rponse, comme s'il voulait
vraiment ouvrir une connexion. Une rponse SYN/ACK indique que le port est en coute (ouvert),
tandis qu'une RST (reset) indique le contraire. Si aucune rponse n'est reue aprs plusieurs essais, le
port est considr comme tant filtr. Le port l'est galement si un message d'erreur unreachable
ICMP (type 3, code 1,2, 3, 9, 10 ou 13) est reu.
sT(Scan TCP connect())
Le scan TCP connect() est le type de scan par dfaut quand le SYN n'est pas utilisable. Tel est le cas
lorsque l'utilisateur n'a pas les privilges pour les paquets bruts (raw packets) ou lors d'un scan de
rseaux IPv6. Plutt que d'crire des paquets bruts comme le font la plupart des autres types de scan,
Nmap demande au systme d'exploitation qui l'excute d'tablir une connexion au port de la machine
cible grce l'appel systme connect(). C'est le mme appel systme hautniveau qui est appel par
les navigateurs Web, les clients P2P et la plupart des applications rseaux qui veulent tablir une
connexion. Cet appel fait partie de l'interface d'application connue sous le nom de Berkeley Sockets
API . Au lieu de lire les rponses brutes sur le support physique, Nmap utilise cette application API
pour obtenir l'tat de chaque tentative de connexion.
Si le scan SYN est disponible, il vaut mieux l'utiliser. Nmap a bien moins de contrles sur l'appel
systme haut niveau connect() que sur les paquets bruts, ce qui le rend moins efficace. L'appel
systme complte les connexions ouvertes sur les ports cibles au lieu de les annuler lorsque la
connexion est demie ouverte, comme le fait le scan SYN. Non seulement c'est plus long et demande
plus de paquets pour obtenir la mme information, mais de plus la probabilit que les cibles activent la
connexion est plus grande. Un IDS dcent le fera, mais la plupart des machines ne disposent pas de ce
systme d'alarme. De nombreux services sur les systmes UNIX standards noteront cette connexion
dans le journal, accompagn d'un message d'erreur sibyllin si Nmap ouvre puis referme la connexion
sans n'envoyer aucune donne. Les services rseaux les plus piteux risquent mme de tomber en
panne, mais c'est assez rare. Un administrateur qui verrait un tas de tentatives de connexions dans ses
journaux en provenance d'une seule machine devrait se rendre compte qu'il a t scann.
sU(Scan UDP)

[FIXME: source]

11/11/2013

12

NMAP(1)

[FIXME: manual]

NMAP(1)

Mme si les services les plus connus d'Internet son bass sur le protocole TCP, les services UDP[5]
sont aussi largement utiliss. DNS, SNMP ou DHCP (ports 53, 161/162 et 67/68) sont les trois
exemples les plus courants. Comme le scan UDP est gnralement plus lent et plus difficile que TCP,
certains auditeurs de scurit les ignorent. C'est une erreur, car les services UDP exploitables sont
courants et les attaquants eux ne les ignoreront pas. Par chance, Nmap peut aider rpertorier les ports
UDP.
Le scan UDP est activ avec l'optionsU. Il peut tre combin avec un scan TCP, comme le scan SYN
( sS), pour vrifier les deux protocoles lors de la mme excution de Nmap.
Le scan UDP envoie un entte UDP (sans donnes) chaque port vis. Si un message ICMP port
unreachable (type 3, code 3) est renvoy, le port est alors ferm. Les autres messages d'erreur
unreachable ICMP (type 3, codes 1, 2, 9, 10, or 13) rendront le port filtr. l'occasion, il arrive
qu'un service rpond par un paquet UDP, prouvant que le port est dans l'tat ouvert. Si aucune rponse
n'est renvoye aprs plusieurs essais, le port est considr comme tant ouvert|filtr. Cela signifie que
le port peut tre soit ouvert, soit qu'un dispositif de filtrage bloque les communications. Le scan de
versions ( sV) peut tre utilis pour diffrencier les ports ouverts de ceux filtrs.
Une des grandes difficults avec le scan UDP est de l'excuter rapidement. Les ports ouverts et filtrs
ne renvoient que rarement des rponses, laissant Nmap expirer son dlai de retransmission au cas o
les paquets se soient perdus. Les ports ferms posent encore un plus grand problme: ils renvoient
normalement une erreur ICMP port unreachable . Mais la diffrence des paquets RST renvoys
par les ports TCP ferms en rponse un scan SYN ou un connect(), de nombreux htes limitent par
dfaut la cadence d'mission de ces messages. Linux et Solaris tant particulirement stricts ce sujet.
Par exemple, le kernel 2.4.20 limite cette cadence des destinations inaccessibles ( destination
unreachable ) un par seconde (cf.net/ipv4/icmp.c).
Nmap dtecte cette limitation de frquence et s'y ralenti conformment afin d'viter de saturer le
rseau avec des paquets inutiles que la machine cible rejettera. Malheureusement, une limitation la
Linux d'un paquet par seconde fera qu'un scan des 65 536 ports prendra plus de 18 heures. Les ides
pour acclrer les scans UDP incluent le scan des cibles en parallle, ne scanner que les ports les plus
courants en premier, scanner derrire le parefeu et utiliser l'option hosttimeoutpour viter les
htes les plus lents.
sN; sF; sX (Scans TCP Null, FIN et Xmas)
Ces trois types de scans (d'autres sont possibles en utilisant l'option scanflags dcrite dans la
section suivante) exploitent une subtile faille de la RFC TCP[6] pour diffrencier les ports entre
ouverts et ferms. La page 65 indique que si le port [de destination] est dans l'tat ferm... un segment
ne contenant pas le drapeau RST provoque l'mission d'un paquet RST comme rponse.. La page
suivante indique que pour les paquets envoys des ports sans aucun des drapeaux SYN, RST ou
ACK activs: il est peut vraisemblable que cela arrive, mais si cela est le cas, il faut rejeter le
segment.
Pour les systmes respectant ce texte de la RFC, chaque paquet ne contenant ni SYN, ni RST, ni ACK
se voit renvoy un RST si le port est ferm et aucune rponse si le port est ouvert. Tant qu'aucun de ces
drapeaux n'est utilis, toute combinaison des trois autres (FIN, PSH et URG) son valides. Nmap
exploite cela avec les trois types de scans:
Scan Null (sN)
N'active aucun des bits (les drapeaux de l'entte TCP vaut 0).
Scan FIN (sF)
N'active que le bit FIN.
Scan Xmas (sX)
Active les drapeaux FIN, PSH et URG, illuminant le paquet comme un arbre de Nol (NDT: la
fracture cognitive entre la culture anglosaxonne et franaise se ressent fortement dans cette

[FIXME: source]

11/11/2013

13

NMAP(1)

[FIXME: manual]

NMAP(1)

traduction...).
Ces trois types de scan ont exactement le mme comportement, sauf pour les drapeaux TCP utiliss
dans des paquets de tests (probes packets). Si un RST est reu, le port est considr comme tant
ferm, tandis qu'une absence de rponse signifiera qu'il est dans l'tat ouvert|filtr. Le port est marqu
comme filtr si un message d'erreur ICMP unreachable (type 3, code 1, 2, 3, 9, 10 ou 13) est reu.
L'avantage principal de ces types de scans est qu'ils peuvent furtivement traverser certains parefeux
ou routeurs filtrants sans tat de connexion (nonstatefull). Un autre avantage est qu'ils sont mme un
peu plus furtifs que le scan SYN. N'y comptez pas trop dessus cependant la plupart des IDS
modernes sont configurs pour les dtecter. L'inconvnient majeur est que tous les systmes ne
respectent pas la RFC 793 la lettre. Plusieurs systmes renvoient des RST aux paquets quelque soit
l'tat du port de destination, qu'il soit ouvert ou pas. Ceci fait que tous les ports sont considrs
commeferm. Les plus connus des systmes qui ont ce comportement sont Microsoft Windows,
plusieurs quipements Cisco, BSDI et IBM OS/400. Ce type de scan fonctionne cependant trs bien
contre la plupart des systmes bass sur UNIX. Un autre dsagrment de ce type de scan et qu'ils ne
peuvent pas distinguer les ports ouvertsde certains autres qui sont filtrs, vous laissant face un
laconique ouvert|filtr.
sA(Scan TCP ACK)
Ce type de scan est diffrent des autres abords jusqu'ici, dans le sens o ils ne peuvent pas dterminer
si un port est ouvert(ni mme ouvert|filtr). Il est utilis pour tablir les rgles des parefeux,
dterminant s'ils sont avec ou sans tats (statefull/stateless) et quels ports sont filtrs.
Le scan ACK n'active que le drapeau ACK des paquets ( moins que vous n'utilisiez l'option
scanflags). Les systmes nonfiltrs ragissent en retournant un paquet RST. Nmap considre alors
le port comme nonfiltr, signifiant qu'il est accessible avec un paquet ACK, mais sans savoir s'il est
rellement ouvert ou ferm. Les ports qui ne rpondent pas ou renvoient certains messages d'erreur
ICMP (type 3, code 1, 2, 3, 9, 10, ou 13), sont considrs comme filtrs.
sW(Scan de fentre TCP)
Le scan de fentre TCP est exactement le mme que le scan ACK la diffrence prs qu'il exploite un
dtail de l'implmentation de certains systmes pour identifier les ports ferms des autres, au lieu de
toujours afficher nonfiltrlorsqu'un RST est renvoy. Sur certains systmes, les ports ouverts utilisent
une taille de fentre TCP positive (mme pour les paquets RST), tandis que les ports ferms ont une
fentre de taille nulle. Ainsi, au lieu de toujours afficher nonfiltr lorsqu'un RST est reu, le scan de
fentre indique que le port est ouvert ou ferm selon que la taille de fentre TCP de ce paquet RST est
respectivement positive ou nulle.
Ce scan repose sur un dtail d'implmentation d'une minorit de systmes Internet, vous ne pouvez
donc pas toujours vous y fier. Les systmes qui ne le supportent pas vont certainement se voir
considrs leurs ports comme ferms. Bien sr, il se peut que la machine n'ait effectivement aucun port
ouvert. Si la plupart des ports scanns sont ferms mais que quelquesuns courants, comme le 22, 25
ou le 53, sont filtrs, le systme est vraisemblablement prdispos ce type de scan. Quelquefois, les
systmes ont le comportement exactement inverse. Si votre scan indique que 1 000 ports sont ouverts
et que 3 seulement sont ferms ou filtrs, ces trois derniers sont certainement ceux qui sont ouverts.
sM(Scan TCP Maimon)
Le scan Maimon est nomm ainsi d'aprs celui qui l'a dcouvert, Uriel Maimon. Il a dcrit cette
technique dans le numro 49 de Phrack Magazine (Novembre 1996). Nmap, qui inclut cette technique,
a t publi deux numros plus tard. Cette technique est la mme que les scans NUll, FIN et Xmas,
la diffrence prs que le paquet de test est ici un FIN/ACK. Conformment la RFC 793 (TCP), un
paquet RST devrait tre renvoy comme rponse un tel paquet, et ce, que le port soit ouvert ou non.
Uriel a cependant remarqu que de nombreux systmes bass sur BSD rejettent tout bonnement le
paquet si le port est ouvert.
scanflags(Scan TCP personnalis)

[FIXME: source]

11/11/2013

14

NMAP(1)

[FIXME: manual]

NMAP(1)

Les utilisateurs rellement experts de Nmap ne veulent pas se limiter aux seuls types de scans
proposs. L'option scanflagsvous permet de crer votre propre type de scan en spcifiant vos
propres combinaisons de drapeaux TCP. Laisser courir votre imagination, tout en contournant les
systmes de dtection d'intrusion dont les vendeurs n'ont fait qu'ajouter des rgles spcifiques d'aprs
la documentation Nmap!
L'argument de l'option scanflags peut tre soit un nombre comme 9 (PSH et FIN), mais l'utilisation
des noms symboliques est plus facile. Mlanger simplement les drapeaux URG, ACK, PSH, RST,
SYN et FIN. Par exemple, scanflags URGACKPSHRSTSYNFIN les activent tous, bien que cela
ne soit pas trs utile pour effectuer un scan. L'ordre dans lequel les drapeaux sont spcifis n'a pas
d'importance.
En sus de la spcification des drapeaux dsirs, vous pouvez spcifier galement un type de scan TCP
(comme sA ou sF). Ce type de scan de base indique Nmap comment interprter les rponses. Par
exemple, un scan SYN considre que l'absence de rponse indique qu'un port est filtr, tandis qu'un
scan FIN considrera la mme absence comme un port ouvert|filtr. Nmap se comportera de la mme
faon que le type de scan de base, la diffrence prs qu'il utilisera les drapeaux TCP que vous avez
spcifi la place. Si vous n'en spcifiez pas, le type de scan SYN par dfaut sera utilis.
sI <zombie host[:probeport]>(Scan passif idlescan)
Cette mthode de scan avanc permet de faire un vritable scan de port TCP en aveugle, (dans le sens
o aucun paquet n'est envoy directement la cible depuis votre vraie adresse IP). En effet, la
technique employe consiste rcolter des informations sur les ports ouverts de la cible en utilisant un
exploit bas sur la prdictibilit de la gnration des identifiants de fragmentation IP de l'hte relais (le
zombie). Les systmes IDS considreront que le scan provient de la machine zombie que vous avez
spcifi (qui doit remplir certains critres). Le mcanisme de cette incroyable technique est trop
complexe pour tre expliqu en dtail dans ce guide; un papier informel a t post pour rendre
compte de tous ces dtails:http://nmap.org/book/idlescan.html.
En plus de son incroyable furtivit (en raison du caractre aveugle de la technique), ce type de scan
permet de dterminer les relations de confiance entre les machines. La liste des ports ouverts est
tablie du point de vue de l'hte zombie. Ainsi, vous pouvez essayer de scanner une cible en utilisant
diffrents zombies pour lesquels vous pensez qu'il existe une relation de confiance entre eux et la cible
(d'aprs les rgles des dispositifs de filtrage).
Vous pouvez ajouter les deux points (:) suivis d'un numro de port de l'hte zombie si vous souhaitez
tester les changements d'identifiants IP sur un port particulier du zombie. Par dfaut, Nmap utilisera le
port utilis pour les pings tcp (le port 80).
sO(Scan du protocole IP)
Le scan du protocole IP permet de dterminer quels protocoles IP (TCP, ICMP, IGMP, etc.) sont
supports par les cibles. Ce n'est donc pas techniquement un scan de ports, car Nmap essaie les
diffrents numros de protocoles IP la place des numros de ports TCP ou UDP. Ce scan permet
nanmoins d'utiliser l'option p pour slectionner les numros de protocoles scanner le rapport de
Nmap tant toujours dans le style habituel des tables de ports et utilise le mme moteur de scan
utilis pour le scan de ports. Ainsi, cette technique est suffisamment proche du scan de port pour tre
prsent ici.
Au del de son intrt propre, le scan de protocoles illustre la puissance des logiciels en libre accs.
L'ide de base est assez simple: je n'avais mme pas particulirement pens l'ajouter ni reu de
requte me demandant une telle fonctionnalit. En fait, l't 2000, Gerhard Rieger a eu cette ide et a
crit un excellent programme de correction pour l'implanter; il l'a ensuite envoy la liste de
distribution nmaphackers. Je l'ai par la suite ajout l'arbre de dveloppement de Nmap et j'ai publi
la nouvelle version le lendemain mme. Trs peu de logiciels commerciaux peuvent se targuer d'avoir
des utilisateurs si enthousiastes concevant et proposant leur propres amliorations!

[FIXME: source]

11/11/2013

15

NMAP(1)

[FIXME: manual]

NMAP(1)

Le scan de protocole fonctionne d'une faon similaire du scan UDP. Au lieu de parcourir les champs
de numro de port des paquets UDP, il envoie des paquets d'enttes IP et parcours les 8 bits du champ
protocole IP. Les enttes son gnralement vides, ne contenant pas de donnes ni mme l'entte du
protocole sollicit. Les trois seules exceptions tant TCP, UDP et ICMP. Un entte exact de ces
protocoles est inclus, sinon certains systmes refusent de les mettre et Nmap dispose dj des
fonctions permettant de construire ces enttes. Au lieu de scruter les messages ICMP port
unreachable , comme pour le scan UDP, le scan de protocole attend de recevoir les messages ICMP
protocolunreachable . Ds que Nmap reoit une rponse d'un protocole en provenance de la cible,
Nmap considre ce protocole comme ouvert. Une erreur ICMP protocol unreachable (type 3, code
2) fait en sorte que le port est considr comme tant ferm. Les autres messages d'erreur ICMP
unreachable (type 3, code 1, 3, 9, 10, or 13) font en sorte que le port est considr comme tant filtr
(tout en prouvant que le protocole ICMP est quant lui ouvert). Si aucune rponse n'est reue aprs
plusieurs transmissions, le protocole est considr comme tant ouvert|filtr.
b <ftp relay host>(Scan par rebond FTP)
Une caractristique intressante du protocole FTP (RFC 959[7]) est qu'il supporte les connexions par
proxy ftp (proxy ftp connections, ainsi nommes dans la RFC). Ceci permet un utilisateur de se
connecter un serveur FTP, puis de demander qu'un fichier soit envoy un tiers serveur FTP. Une
telle fonctionnalit est propre tre dtourne tous les niveaux, c'est pourquoi la plupart des serveurs
ont cess de la supporter. Un des dtournements possible de cette caractristique conduit le serveur
FTP scanner les ports d'autres htes. Demandez simplement au serveur FTP d'envoyer un fichier
chaque port intressant de votre cible, et il se chargera d'effectuer le scan. Le message d'erreur
permettra de savoir si le port est ouvert ou non. C'est un trs bon moyen de contourner les parefeux
car les serveurs FTP des organisations sont souvent situs de telle faon avoir plus d'accs aux htes
du rseau internes que toute autre machine Internet. Nmap supporte le scan par rebond FTP avec
l'option b. Cette option prend un argument du type username:password@server:port. Server est le
nom ou l'adresse IP d'un serveur FTP vulnrable. Comme pour une adresse URL traditionnelle, vous
pouvez omettre username:password, (user: anonymous, password: wwwuser@) pour accder de
manire anonyme. Le numro de port (et les deux points) peuvent tre galement omis si le port FTP
par dfaut (21) est utilis par le serveur server.
Cette vulnrabilit tait trs rpandue en 1997 quand Nmap a t publi mais a largement t corrige
depuis. Il existe encore quelques serveurs vulnrables qui tranent, autant les essayer si rien d'autre ne
marche (!!!). Si votre but est de contourner un parefeu, scannez le rseau cible pour trouver un port
21 ouvert (ou un serveur FTP sur tout autre port en activant la dtection de version), essayez ensuite
pour chacun d'entre eux le scan par rebond FTP. Nmap vous indiquera si chaque hte y est vulnrable
ou pas. Si vous voulez juste essayer de masquer vos attaques, vous n'avez pas besoin (et mme en fait,
vous ne devriez pas) vous limiter aux htes du rseau cible. Avant de vous lancer dans un scan sur des
adresses Internet au hasard, la recherche de serveurs FTP vulnrables, pensez bien que les
gestionnaires des systmes n'apprcieront pas trop que vous dtourniez leurs serveurs cet effet.

SPCIFICATIONS DES PORTS ET ORDRE DU SCAN


En plus de toutes les mthodes de scan abordes prcdemment, Nmap propose des options permettant la
spcification des ports scanner ainsi que l'ordre (au hasard ou squentiel) dans lequel le scan doit se faire.
Par dfaut, Nmap scanne tous les ports jusqu'au 1 024 inclusivement ainsi que les ports suprieurs lists
dans le fichier nmapservicespour le ou les protocoles demands).
p <port ranges>(Ne scanne que les ports spcifis)
Cette option spcifie quels ports vous voulez scanner et remplace le comportement par dfaut. Les
ports peuvent tre spcifis un un ou par plages (spars par des tirets, notamment 11023). Les
valeurs de dbut ou de fin des plages peuvent tre omises, de sorte que Nmap utilisera les ports 1 et 65
535, respectivement. Ainsi, vous pouvez spcifier p pour scanner tous les ports de 1 65 535. Le
scan du port 0 est autoris si spcifi explicitement. Pour ce qui est du scan du protocole IP (sO),
cette option spcifie les numros de protocoles que vous souhaitez scanner (0255).
Lorsque vous scannez la fois des ports TCP et UDP, vous pouvez spcifier un protocole particulier

[FIXME: source]

11/11/2013

16

NMAP(1)

[FIXME: manual]

NMAP(1)

en prfixant les numros de ports par T: (pour TCP) ou U: (pour UDP). Le qualificateur reste actif
moins que vous n'en indiquiez un autre. Par exemple, l'argument p
U:53,111,137,T:2125,80,139,8080scannerait les ports UDP numros 53 111 et 137 et les ports TCP
de 21 25 inclusivement, 80, 139 et 8080. Notez que si vous voulez la fois scanner TCP et UDP,
vous devez spcifier sU et au moins un type de scan TCP (comme sS, sF ou sT). Si aucun
qualificateur de protocole n'est spcifi, les numros de ports sont alors valables pour tous les
protocoles.
F(Scan rapide (limite aux ports connus)
Cette option indique que vous souhaitez seulement scanner les ports lists dans le fichier
nmapservices fourni avec Nmap (ou le fichier des protocoles avec l'option sO). Ceci est bien plus
rapide que de scanner les 65 535 ports d'un hte. Comme cette liste contient beaucoup de ports TCP
(plus de 1 200), la diffrence de vitesse avec le comportement par dfaut (environ 1 650 ports) est
relativement ngligeable. Par contre, la diffrence peut tre norme si vous spcifiez votre propre
minifichier nmapservices en utilisant l'option datadir.
r(Ne mlange pas les ports)
Par dfaut, Nmap mlange au hasard l'ordre des ports (sauf que certains ports couramment accessibles
sont placs vers le dbut de la liste pour des raisons d'efficacit). Ce mlange est normalement
souhaitable, mais vous pouvez spcifier l'option r pour effectuer un scan de port squentiel.

DTECTION DE SERVICES ET DE VERSIONS


Supposons que Nmap vous ai signal que les ports 25/tcp, 80/tcp et 53/udp d'une machine distante sont
ouverts. En utilisant sa base de donnes nmapservicesd'environ 2 200 services bien connus, Nmap indique
que ces ports correspondent probablement un serveur de messagerie (SMTP), un serveur Web (HTTP) et
un serveur de noms (DNS), respectivement. Cette consultation est souvent pertinente une vaste majorit
des dmons coutant sur le port 25, tant bien des serveurs de messagerie. Cependant, en scurit, il ne
faudrait pas trop parier ldessus ! Les gens peuvent lancer des services sur des ports bizarres et ils le font
effectivement.
Mme si Nmap a raison, et que les serveurs hypothtiques du dessus sont bien des serveurs SMTP, HTTP et
DNS, ce n'est pas trs utile. Lors d'audit de scurit (ou bien lors de simples inventaires de rseau) de votre
entreprise ou de clients, vous voulez rellement savoir de quels serveurs de messagerie et de noms il s'agit,
ainsi que leurs versions. Connatre avec prcision le numro de version aide considrablement dterminer
quels exploits un serveur est vulnrable. La dtection de version vous permet d'obtenir une telle
information.
Aprs avoir dcouvert les ports TCP ou UDP par une des mthodes de scan, la dtection de version
interroge ces ports pour savoir quelle version tourne actuellement. La base de donnes
nmapserviceprobes contient les tests effectuer selon les services, ainsi que les chanes de caractres
auxquelles comparer les rponses. Nmap essaie de dterminer le protocole (p. ex.: ftp, ssh, telnet, http), le
nom de l'application (p. ex.: ISC Bind, Appache httpd, Solaris telnetd), le numro de version, le nom d'hte,
le type d'quipement (p. ex.: imprimante, routeur), la famille d'OS (p. ex.: Windows, Linux) et quelquefois
des dtails divers (p. ex.: si un serveur X accepte ou non des connexions, la version du protocole SSH, le
nom d'utilisateur KaZaA). Bien sr, la plupart des services ne fournissent pas autant d'informations. Si
Nmap a t compil avec le support de OpenSSL, il se connectera aux serveurs SSL pour dduire le service
coutant derrire la couche de cryptage. Quand des services RPC sont dcouverts, la moulinette RPC de
Nmap (sR) est automatiquement utilise pour dterminer le programme RPC et sa version. Des ports
peuvent rester dans l'tat ouvert|filtr lorsqu'un scan de ports UDP a t incapable de dterminer si le port
tait ouvert ou ferm. La dtection de version tentera d'obtenir une rponse de ces ports (comme s'ils taient
ouverts), et changera l'tat ouvert si elle y parvient. Les ports TCP ouverts|filtr sont traits de la mme
faon. Notez que l'optionAde Nmap active notamment la dtection de version. Un papier documentant le
fonctionnement, l'utilisation et la personnalisation de la dtection de version est disponible
http://www.insecure.org/nmap/vscan/.
Lorsque Nmap reoit une rponse d'un service mais ne parvient pas le faire correspondre un service de
sa base de donnes, il affiche une empreinte et une adresse URL o vous pouvez l'envoyer si vous tes sr
de ce qui tourne sur ce port. Prendre quelques minutes pour faire cette soumission permettra tout le

[FIXME: source]

11/11/2013

17

NMAP(1)

[FIXME: manual]

NMAP(1)

monde de bnficier de votre dcouverte. Grce ces soumissions, Nmap dispose d'environ 3 000
empreintes de rfrence lies plus de 350 protocoles, comme smtp, ftp et http.
La dtection de version est active et contrle grce aux options suivantes:
sV(Dtection de version)
Active la dtection de version, tel que discut cidessus. Autrement, vous pouvez utiliser l'option A
pour activer la fois la dtection de version et celle du systme d'exploitation.
allports(tous les ports)(N'exclut aucun port de la dtection de version)
Par dfaut, la dtection de version de Nmap vite le port TCP 9100 car certaines imprimantes
impriment tout bonnement tout ce qui est envoy sur ce port, ce qui conduit l'impression de
douzaines de pages de requtes HTTP, des requtes de sessions SSL en binaire, etc. (ce qui est
particulirement furtif). Ce comportement peut tre chang en modifiant ou en supprimant la directive
Exclude du fichier nmapserviceprobes, ou en spcifiant l'option allports pour scanner tous les
ports sans tenir compte d'aucune directive Exclude.
versionintensity <intensity>(Slectionne l'intensit du scan de version)
Lors d'un scan de version (sV), Nmap envoie une srie de paquets de tests, chacun duquel est
associ une valeur de raret allant de 1 9. Les tests aux basses valeurs sont efficaces pour une grande
varit de services courants, tandis que les hautes valeurs indiquent ceux qui ne sont que rarement
utiles. Le niveau d'intensit spcifie quels tests doivent tre effectus. Plus la valeur est haute, plus le
service a de chances d'tre correctement identifi. Cependant, ces scansci sont plus longs. La valeur
d'intensit doit tre comprise entre 0 et 9, la valeur par dfaut tant le 7. Quand un test est inscrit sur le
port cible par le biais de la directive nmapserviceprobesports, ce test est tent quelque soit le niveau
d'intensit. Cela permet de s'assurer que les tests DNS seront toujours tents sur chaque port 53 ouvert,
les tests SSL sur chaque 443, etc.
versionlight(Active le mode lger)
Il s'agit d'un raccourci pour versionintensity 2. Ce mode lger rend le scan de version bien plus
rapide, mais il est un peu moins susceptible d'identifier les services.
versionall(Essaie chaque test possible)
Il s'agit d'un raccourci pourversionintensity 9forant chaque test unitaire tre test contre
chaque port.
versiontrace(Trace l'activit du scan de version)
Ceci force Nmap afficher un nombre considrable d'informations de dbogage propos de ce que
fait le scan de version. Il s'agit d'un sousensemble de ce que vous obtenez avec l'option
packettrace.
sR(Scan RPC)
Cette mthode fonctionne conjointement avec les diffrentes mthodes de scan de Nmap. Il prend tous
les ports TCP/UDP ouverts et les submerge avec les commandes NULL du programme SunRPC dans
le but de dterminer s'il s'agit de ports RPC, et le cas chant, de quel programme et quel numro de
version il s'agit. Vous pouvez aussi obtenir les mmes informations avec rpcinfo p, et ce, mme si le
mapper de port (portmapper) de la cible se trouve derrire un parefeu (ou protg par des wrappers
TCP). Les leurres ne fonctionnent pas avec le scan RPC. Cette option est automatiquement active par
le scan de version (sV). Comme la dtection de version inclus le scan RPC, et est bien plus complte,
on a rarement besoin de l'option sR.

NMAP SCRIPTING ENGINE (NSE)


Le moteur de scripts de Nmap (Nmap Scripting Engine NSE) allie l'efficacit avec laquelle Nmap traite le
rseau avec la souplesse d'un langage lger comme Lua, fournissant ainsi une infinit d'opportunits. Une
documentation plus complte du NSE (y compris ses API) peut tre obtenue sur
http://www.insecure.org/nmap/nse. Le but du NSE est de fournir Nmap une infrastructure flexible afin
d'tendre ses capacits et ainsi offrir ses utilisateurs une facon simple de crer leurs propres tests
personnaliss. Le cadre d'usage du NSE englobe (mais encore une fois n'est pas limit ) :
Dtection de version volue (catgorie version) Alors que Nmap propose dja son systme de dtection

[FIXME: source]

11/11/2013

18

NMAP(1)

[FIXME: manual]

NMAP(1)

de Service et de Version qui est ingal en termes d'efficacit et de couverture, cette puissance trouve sa
limite lorsqu'il s'agit de services qui demandent des tests plus complexes. La version 2 du Protocole Skype
par exemple peut tre identifi en envoyant deux paquets de tests pour lesquels le systme n'est pas prvu
d'origine: un simple script NSE peut alors faire le travail et mettre ainsi jour les informations sur le
service tournant sur le port.
Dtection de Malware (catgories malware et backdoor) Que ce soit les attaquants ou les vers, ils laissent
souvent des portes drobes, par exemple sous la forme de serveurs SMTP coutant sur des ports
inhabituels, le plus souvent utiliss par les spammers pour le relais de leurs mails, ou sous forme de serveur
FTP donnant des accs des donnes critiques aux crackers. Quelques lignes de code Lua peut aider
identifier facilement ces piges.
Dtection de vulnrabilits (catgorie vulnerability) Le NSE permet de dtecter les risques allant par
exemple des mots de passe par dfaut sur Apache au test de capacit d'agir en tant que relais pour un
serveur SMTP concernant les mails en provenance de domaines divers.
Dcouverte du Rseau et Collecte d'Informations (catgories safe, intrusive et discovery) En vous
fournissant un langage de scripts et une API rseau asynchrone vraiment efficace d'une part et la collecte
d'informations durant les tapes ultrieures du scan d'autre part, le NSE est concu pour crire des
programmes clients adapts aux services en coute sur la machine cible. Ces clients peuvent collecter des
informations comme : liste des partages NFS/SMB/RPC disponibles, le nombre de canaux d'un rseau IRC
ou les utilisateurs actuellement connects.
Afin de reflter ces diffrents usages et pour simplifier le choix des scripts employer, chaque script
contient un champ qui l'associe a une ou plusieurs de ces catgories. Pour maintenir le lien entre scripts et
catgories un fichier appel script.db est install avec les scripts distribus. Ainsi si par exemple vous
voulez voir si une machine est infecte par un ver Nmap vous donne un script que vous pouvez facilement
utiliser par la commande nmap script=malware ipcible afin d'analyser les rsultats aprs coup.Les
scripts de version sont systmatiquement lancs de facon implicite lorsqu'un scan de scripts est invoqu. Le
fichier script.db est lui mme un script Lua et peut tre mis jour via l'option scriptupdatedb.
Un script NSE est simplement un code Lua qui a (parmis quelques champs d'information comme le nom,
l'identifiant et la catgorie) 2 fonctions: un test dans le cas o le script en particulier doit tre lanc contre
une cible et un port spcifiques (appels hostrule et portrule respectivement) et une action qui doit tre
mene si le test est positif. Les scripts ont acces la plupart des informations collectes par Nmap durant
les tapes prcdentes. Pour chaque hte ceci inclus l'adresse IP, le nom de l'hte et (si disponible) le
systme d'exploitation. Si un script est destin un port en particulier, il a accs au numro du port, son
protocole (tcp, udp ou ssl), le service tournant derrire ce port et des informations optionnelles en
provenance d'un scan de version. Par convention les scripts NSE ont une extension .nse. Toutefois vous
n'avez pas besoin de suivre cette recommandation pour le moment, ceci pouvant changer dans l'avenir.
Nmap donnera une mise en garde si un fichier a une autre extension. Une documentation plus exhaustive
sur le NSE comprenant une description de son API peut tre obtenue sur http://insecure.org/nmap/nse/.
sC
effectue un scan de scripts en utilisant la catgorie de scripts par dfaut. Cette option est quivalente
script=safe,intrusive
script <catgories|rpertoire|nom|all>
Lance un scan de scripts (comme sC) avec les scripts que vous avez choisi plutt que ceux par
dfaut. Les arguments peuvent tre des catgories de scripts, des scripts uniques ou des rpertoires
contenant des scripts qui doivent tre lancs contre les htes cibles la place des scripts par dfaut.
Nmap va essayer d'interprter les arguments d'abord comme des catgories puis comme des noms de
fichiers ou des rpertoires. Les chemins absolus sont interprets tels quels, les chemins relatifs sont
recherchs dans les endroits suivants : datadir/; $(NMAPDIR)/; user/nmap/ (non cherch sous
Windows); NMAPDATADIR/ ou ./. A scripts/ les sous rpertoires sont aussi essays dans chacun
d'eux. Donnez l'argument all pour excuter tous les scripts de la base de donnes de Nmap.
Si un rpertoire est prcis et trouv, Nmap charge tous les scripts NSE (chaque fichier se terminant
par .nse) dans ce rpertoire. L'extension nse est obligatoire. Nmap ne fait pas de recherche rcursive

[FIXME: source]

11/11/2013

19

NMAP(1)

[FIXME: manual]

NMAP(1)

dans les sous rpertoires ventuels pour trouver les scripts. Lorsque des noms de scripts individuels
sont spcifis, l'extension est facultative.
Les scripts de Nmap sont stocks dans un rpertoire scripts du rpertoire de donnes par dfaut de
Nmap. Les scripts sont indexs dans une base de donnes dans scripts/script.db. La base de donnes
liste tous les scripts dans chaque catgorie. Un seul script peut tre dans plusieurs catgories.
scriptargs=<name1=value1,name2={name3=value3},name4=value4>
vous permet de passer des arguments aux scripts NSE. Les arguments sont passs sous la forme de
paires name=value . L'arguments fourni est interprt et stock dans une table Lua laquelle tous les
scripts ont accs. Les noms sont pris comme des chanes (qui doivent tre des valeurs
alphanumriques) et utiliss comme des cls dans la table argumenttable. Les valeurs sont soit des
chanes soit des tables elles mmes (encadres par'{' et '}'). Les sous tables permettent de supplanter
les arguments pour des scripts spcifiques (c'est dire lorsque vous souhaitez fournir diffrents
couples login/password pour des scripts diffrents). Par exemple vous pouvez passer les arguments
spars par des virgules : user=bar,password=foo, and anonFTP={password=nobody@foobar.com}.
Si vous souhaitez outrepasser une option d'un script, vous devriez indexer la sous table avec
l'identifiant du script tant donn que c'est la seule facon qu'a le script de connaitre ses arguments
particuliers.
scripttrace
Cette option fait ce que fait packettrace , juste une couche OSI au dessus. Si cette option est
spcifie toutes les communications entrantes et sortantes en provenance d'un script sont affiches. Les
informations affiches incluent le protocole de communication, la source, la cible et les donnes
transmises. Si plus de 5% du traffic n'est pas imprimable, alors la sortie se fait au format hexadcimal.
scriptupdatedb
met jour la base de donnes de scripts qui contient les correspondances des catgories avec les noms
de fichiers. La base de donnes est un script Lua qui est interprt pour choisir les scripts en fonction
des catgories passes en arguments script . Ceci devrait tre lanc si vous avez chang le champ
categories d'un script, si vous avez ajout de nouveaux scripts ou si vous en avez retir du rpertoire
scripts/ .

TIMING ET PERFORMANCES
L'une des priorits les plus importantes dans le dveloppement de Nmap a toujours t la performance. Un
scan par dfaut (nmap hostname ) d'un hte sur mon rseau local prend un cinquime de seconde. Il s'agit
donc de trs peu de temps mais les minutes s'accumulent lorsque vous scannez des dizaines ou des
centaines de milliers d'htes. De plus, certains scans tels que le scan UDP et la dtection de version peuvent
accrotre le temps global du scan de faon significative. De plus, certains parefeux limitent le taux de
rponses dans leur configuration. Bien que Nmap utilise un fonctionnement en parallle et beaucoup
d'autres algorithmes avancs afin d'acclrer ces scans, l'utilisateur garde le contrle total sur le
fonctionnement de Nmap. Les utilisateurs confirms choisissent avec une grande attention leurs
commandes afin d'obtenir seulement les informations dont ils ont besoin en un minimum de temps.
Les techniques permettant d'affiner les temps de scan sont entre autres d'viter les tests non essentiels et
d'avoir les versions les plus rcentes de Nmap (les augmentations de performance sont frquentes).
Optimiser ses paramtres de temps en temps peut ainsi faire toute la diffrence. Ces options sont dcrites
cidessous.
minhostgroup <millisecondes>; maxhostgroup <millisecondes> (Ajuste la quantit du groupe
de scans en parallle)
Nmap peut scanner des ports ou faire un scan de version sur de multiples htes en parallle. Pour ce
faire, Nmap divise la plage des adresses IP des cibles en groupe puis scanne ces groupes un la fois.
En gnral, scanner un grand nombre de groupes amliore l'efficacit de la procdure. En contrepartie,
les rsultats ne peuvent tre fournis que lorsque tout le groupe d'htes a t scann. Par consquent, si
Nmap a commenc avec un groupe de 50, l'utilisateur ne recevra aucun rsultat tant que les premiers
50 htes ne seront pas termins (exception faite des informations donnes en mode verbeux).

[FIXME: source]

11/11/2013

20

NMAP(1)

[FIXME: manual]

NMAP(1)

Par dfaut, Nmap adopte un compromis dans son approche de ce conflit. Il commence avec une
quantit aussi petite que 5 groupes de faon obtenir rapidement les premiers rsultats et augmente
ensuite la quantit de groupes jusqu' un maximum de1 024. Les valeurs exactes par dfaut dpendent
des options configures. Par soucis d'efficacit, Nmap utilise une quantit de groupes plus grande
lorsqu'il s'agit de scans UDP ou sur peu de ports en TCP.
Lorsqu'un maximum est spcifi en quantit de groupes avec l'option maxhostgroup, Nmap ne va
jamais dpasser cette valeur. Spcifiez une quantit minimale avec l'option minhostgroup et
Nmap tentera de garder la quantit de groupes audessus de cette valeur. Nmap devra peuttre
utiliser des groupes plus petits que ceux que vous demandez s'il n'y a plus assez d'htes cibles sur une
interface donne par rapport au minimum que vous avez spcifi Les deux valeurs doivent tre
dtermins pour de conserver la quantit de groupes dans une plage spcifique, quoique ceci ne soit
que rarement souhait.
Le premier usage de ces options est de spcifier un minimum assez grand pour que le scan entier se
fasse plus vite. Un choix frquent est 256 pour scanner un rseau de Classe C. S'il s'agit d'un scan
incluanrt beaucoup de ports, dpasser cette valeur n'aidera pas grand chose. S'il s'agit de scans sur
peu de ports, une quantit de groupes de 2 048 ou plus peut faciliter la procdure.
minparallelism <millisecondes>; maxparallelism' <millisecondes> (Ajuste la mise en parallle
des paquets de test, probes)
Ces options permettent de contrler le nombre total de probes idal pour un groupe d'htes. Elles
permettent de scanner des ports et de dcouvrir des htes (host discovery). Par dfaut, Nmap calcule
un paralllisme idal et variable bas sur les performances du rseau. Si des paquets sont rejets,
Nmap ralentit sa cadence en permettant moins de probes simultans. Le nombre idal de probes
augmente graduellement en mme temps que le rseau dmontre ses performances. Ces options fixent
les limites maximales et minimales selon cette variable. Par dfaut, le paralllisme idal peut chuter
1 si le rseau s'avre trop faible et monter plusieurs centaines dans des conditions parfaites.
L'usage habituel consiste rgler l'option minparallelism une valeur suprieure 1 pour
acclrer les scans sur des rseaux de faible performance. Il est risqu de trop modifier cette option
puisqu'tablir une valeur trop leve peut affecter la prcision des rsultats. Modifier cette option
rduit aussi la capacit de Nmap contrler le paralllisme de faon dynamique selon les conditions
du rseau. Une valeur de 10 peut tre raisonnable bien que je n'ajuste personnellement celleci qu'en
dernier ressort.
L'option maxparallelism est parfois rgle 1 afin d'viter d'envoyer plus d'un probe en mme
temps vers les htes. Ceci peut tre intressant en combinaison avec l'option scandelay (on verra
plus tard), bien que cette option serve dj ellemme cet effet.
min_rtt_timeout <millisecondes>, maxrtttimeout <millisecondes>, initialrtttimeout
<millisecondes> (Ajuste la dure de vie des paquets de test, probe timeouts)
Nmap conserve une valeur de dure de vie qui dtermine combien de temps il devra attendre avant
d'envoyer une rponse un probe avant de l'abandonner ou de le renvoyer. Cette valeur est calcule en
fonction du temps de rponse des probes prcdents. Si le temps de latence du rseau est significatif et
variable, ce dlai d'inactivit ou cette dure de vie, peut augmenter jusqu' plusieurs secondes. Elle est
galement de niveau lev et peut rester ainsi pendant un bon moment lorsque Nmap scanne des htes
sans rponse.
Ces options acceptent des valeurs en millisecondes. Spcifier un maxrtttimeout et un
initialrtttimeout plus bas que ceux par dfaut peuvent raccourcir le temps de scan de faon
significative. C'est particulirement vrai pour les scans sans ping pralable (P0) et ceux contre des
rseaux trs filtrs. Toutefois, ne soyez pas trop agressif. Le scan peut se finir en un temps plus
significatif si, au contraire, vous spcifiez des valeurs tellement basses que les dures de vie des probes
sont termines et ceuxci renvoys alors que leurs rponses sont en fait encore en transit.

[FIXME: source]

11/11/2013

21

NMAP(1)

[FIXME: manual]

NMAP(1)

Si tous les htes sont sur un rseau local, 100 millisecondes est une valeur de maxrtttimeout
seront suffisantes. Si vous etes face a un routage, mesurez d'abord le temps de rponse d'un hte sur le
rseau \ l'aide du ping ICMP de Nmap ou d'un autre outil, comme hping2 qui est plus mme de
passer un parefeu si le paquet est spcialement forg. Regardez les dures de transit sur 10 paquets
ou plus. Vous pouvez doubler cette valeur pour initialrtttimeout et tripler ou quadrupler le
maxrtttimeout. Gnralement, je ne rgle pas le rtt maximum moins de 100ms, et ce, quelles
que soient les mesures de ping. De plus, je n'excde pas 1 000ms.
min_rtt_timeout est une option rarement utilise qui peut s'avrer utile lorsqu'un rseau est si lent
que mme les rglages par dfaut de Nmap sont trop agressifs. Comme Nmap ne rduit le dlai
d'inactivit au minimum que lorsque le rseau semble suffisamment rapide, ce genre de besoin est
inhabituel et devrait tre rapport en tant que procdure errone la liste de dveloppement de
nmapdev.
maxretries <nombreessais> (Spcifie le nombre maximum de retransmisison des paquets de test
(probes))
Quand Nmap ne reoit pas de rponse un paquet de test sur un port, cela peut signifier que le port est
filtr. Ou simplement que la rponse s'est perdue sur le rseau. Il est galement possible que l'hte
cible ait limit son taux d'mission ce qui a temporairement bloqu la rponse. Pour ces raisons, Nmap
recommence l'mission du paquet de test. Si Nmap dtecte que le rseau est peu fiable, il peut essayer
de remettre le paquet plus de fois encore avant de s'arrter. Si cette technique amliore la fiabilit,
elle ralonge la dure du scan. Quand la performance est un facteur critique, les scans peuvent tre
acclrs en limitant le nombre de retransmissions autoris. Vous pouvez mme spcifier
maxretries 0 pour viter toute retransmission, bien que cela ne soit pas trop recommand.
Le paramtrage par dfaut (sans politique T spcifie) est d'autoriser jusqu' dic retransmissions. Si
le rseau a l'air fiable et que les htes cibles ne limitent pas leur taux d'mission, Nmap ne fait
gnralement qu'une seule retransmission. Ainsi, rduire maxretries une valeur basse comme
trois n'affecte pas la plupart des scans. Une telle valeur peut acclrer significativement les scans pour
des htes lents (qui limitent leurs missions). Gnralement, vous perdez des informations si Nmap
cesse de scanner un port trop tt, mais cela peut tre prfrable laisser hosttimeout expirer et
perdre alors toutes les informations concernant la cible.
hosttimeout <millisecondes> (Abandon des htes cibles trop lents)
Certains htes prennent du temps long scanner, tout simplement. Ceci peut tre d du matriel ou
des logiciels rseau peu performants ou inefficaces, un taux de paquets limit ou un parefeu
restrictif. Le faible pourcentage de htes lents scanns peut ralentir le temps de scan tout entier. Il est
donc parfois prfrable d'carter temporairement ces htes du scan initial. Ceci peut tre fait en
spcifiant hosttimeout avec le nombre de millisecondes maximales que vous tes prt attendre.
Je choisis souvent 1 800 000 secondes pour m'assurer que Nmap ne perde pas plus d'une demiheure
sur un seul hte. Notez que Nmap peut tre en train de scanner d'autres htes en mme temps durant
cette demiheure, ce n'est donc pas une perte complte. Un hte qui dpasse cette valeur est
abandonn. Pas de listage des ports, de dtection d'OS ou de dtection de version dans les rsultats
pour celuici.
scandelay <millisecondes>; max_scandelay <millisecondes> (Ajuste le dlai entre les paquets de
test)
Cette option force Nmap attendre d'obtenir au moins la valeur donne en millisecondes entre chaque
probe qu'il envoie sur un hte donn. C'est particulirement utile en cas de limitation de nombre de
paquets (taux limite). Les machines Solaris (parmi beaucoup d'autres) vont habituellement rpondre
des paquets de test d'un scan UDP par seulement un message ICMP par seconde. Tout ce qui est
envoy audel par Nmap serait inutile. Un scandelay de 1 000 gardera Nmap ce taux
suffisamment lent. Nmap essaie de dtecter le taux limite et d'ajuster le dlai en consquence, mais il
ne fait pas de mal de le prciser si vous savez dj quelle valeur est la meilleure.
Une autre utilisation de scandelay est d'viter les dtections ventuelles des systmes de dtection

[FIXME: source]

11/11/2013

22

NMAP(1)

[FIXME: manual]

NMAP(1)

et de prvention d'intrusion (IDS/IPS) bases sur ce genre de rgle.


defeatrstratelimit
Beaucoup d'htes utilisent depuis longtemps un filtrage pour rduire le nombre de messages d'erreur
ICMP (comme les erreurs de ports inaccessibles) qu'ils envoient. Certains systmes appliquent a
prsent des limitations similaires aux paquets RST (reset) qu'ils gnrent. Ceci peut ralentir Nmap
dramaticalement tant donn qu'il ajuste son timing pour reflter ces limitations. Vous pouvez dire a
Nmap d'ignorer ces limitations (pour les scans de ports comme le SYN scan qui ne traitent pas les
ports muets comme tant ouverts) en spcifiant defeatrstratelimit.
Utiliser cette option peut rduire la prcision, puisque certains ports apparaitront comme muets
parcequ'Nmap n'attend alors pas assez longtemps une rponse RST qui serait limite. Dans le cas d'un
SYN scan, l'absence de rponse se traduit par un port marqu filtr plutot que ferm quand des paquets
RST sont recus. Cette option est utile quand vous n'avez besoin que des ports ouverts, et que distinguer
des ferms ou des filtrs ne vaut pas le temps supplmentaire que cela suppose.
T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane> (Rgler un profil de comportement au niveau
du dlai)
Bien que les contrles avancs et prcis du dlai dont il est fait mention dans les sections prcdentes
soient prcis et efficaces, certains peuvent les trouver compliqus. Qui plus est, choisir les valeurs
appropries peut parfois prendre plus de temps que le scan que vous essayez d'optimiser. De ce fait,
Nmap offre une approche plus simple, avec six profils de timing. Vous pouvez les spcifier grce
l'option T et aux numros (0 5) ou aux noms correspondants. Les noms des profils sont paranoid
(0), sneaky (1), polite (2), normal (3), agressive (4), et insane (5). Les deux premiers sont pour viter
les IDS. Le profile Polite ralentit le scan afin d'utiliser moins de bande passante et moins de
ressources sur la machine cible. Le profil Normal est celui par dfaut et donc T3 ne fait rien. Le
profil Agressive acclre les scans, partant du principe que vous travaillez sur un rseau
suffisamment rapide et efficace. Enfin, le profil Insane suppose que vous tes sur un rseau
extraordinairement rapide ou que vous tes prt sacrifier un peu de prcision pour plus de vitesse.
Ces profils permettent l'utilisateur de spcifier quel point il souhaite tre agressif tout en laissant
Nmap choisir les valeur adquates. Les profils effectuent aussi quelques ajustements que les options
avances ne permettent pas encore. Par exemple, T4 empche la variation dynamique du dlai de
dpasser 10ms pour les ports TCP et T5 met cette valeur 5 millisecondes. Les profils peuvent tre
utiliss en combinaison avec les options avances en autant que le profil est prcis en premier. Dans
le cas contraire, les valeurs normalises pour le profil risquent d'craser celles que vous spcifiez. Je
vous recommande d'utiliser T4 lorsque vous scannez des rseaux plus ou moins rapides, efficaces et
modernes. Utilisez cette option (en dbut de ligne de commande) mme si vous ajoutez des options
avances afin de bnficier des petites amliorations lie cette option.
Si vous travaillez sur une connexion large bande ou Ethernet, je vous recommande toujours d'utiliser
T4. Certains aiment utiliser T5 quoique ce soit, mon avis, trop agressif. Les gens utilisent parfois
T2 parce qu'ils pensent que le rsique que les htes tombent en panne soit moins grand ou parce qu'ils
se considrent comme respectueux d'une faon gnrale. Souvent ils ne ralisent pas quel point
l'option T Polite est lente en ralit. Leur scan peut prendre dix fois plus de temps qu'un scan par
dfaut. Les machines qui tombent en panne et les problmes lis la bande passante sont rares avec les
options de scan par dfaut (T3). C'est pourquoi je les recommande habituellement pour les scanneurs
prcautionneux. Le fait de ne pas faire de dtection de version est bien plus efficace pour limiter ces
problmes que de jouer sur les valeurs de timing.
Bien que les options T0 et T1 puissent tre utiles pour viter les alertes des IDS, elles prendront un
temps norme pour scanner des milliers de machines ou de ports. Lorsqu'il s'agit de tels scans, vous
devriez rgler les valeurs exactes de timing dont vous avez besoin plutt que de vous appuyer sur les
options T0 et T1 et les valeurs qui y sont associes.
Les effets principaux de T0 sont de mettre les scans en srie de faon ce que seul un port ne soit

[FIXME: source]

11/11/2013

23

NMAP(1)

[FIXME: manual]

NMAP(1)

scann la fois, puis d'attendre 5 minutes entre chaque envoi de probe. T1 et T2 sont semblables mais
n'attendent que 15 secondes et 0,4 secondes, Respectivement, entre chaque probe. T3 est le profil par
dfaut de Nmap et comporte la mise en parallle. T4 est l'quivalent de maxrtttimeout 1250
initialrtttimeout 500 maxretries 6 et met le dlai maximum de scan TCP 10
millisecondes. T5 fait la mme chose que maxrtttimeout 300 min_rtt_timeout 50
initialrtttimeout 250 maxretries 2 hosttimeout 900000 tout en mettant le dlai
maximum de scan TCP 5 millisecondes.

TIMING ET PERFORMANCES
L'une des priorits les plus importantes dans le dveloppement de Nmap a toujours t la performance. Un
scan par dfaut (nmap hostname ) d'un hte sur mon rseau local prend un cinquime de seconde. Il s'agit
donc de trs peu de temps mais les minutes s'accumulent lorsque vous scannez des dizaines ou des
centaines de milliers d'htes. De plus, certains scans tels que le scan UDP et la dtection de version peuvent
accrotre le temps global du scan de faon significative. De plus, certains parefeux limitent le taux de
rponses dans leur configuration. Bien que Nmap utilise un fonctionnement en parallle et beaucoup
d'autres algorithmes avancs afin d'acclrer ces scans, l'utilisateur garde le contrle total sur le
fonctionnement de Nmap. Les utilisateurs confirms choisissent avec une grande attention leurs
commandes afin d'obtenir seulement les informations dont ils ont besoin en un minimum de temps.
Les techniques permettant d'affiner les temps de scan sont entre autres d'viter les tests non essentiels et
d'avoir les versions les plus rcentes de Nmap (les augmentations de performance sont frquentes).
Optimiser ses paramtres de temps en temps peut ainsi faire toute la diffrence. Ces options sont dcrites
cidessous.
minhostgroup <millisecondes>; maxhostgroup <millisecondes> (Ajuste la quantit du groupe
de scans en parallle)
Nmap peut scanner des ports ou faire un scan de version sur de multiples htes en parallle. Pour ce
faire, Nmap divise la plage des adresses IP des cibles en groupe puis scanne ces groupes un la fois.
En gnral, scanner un grand nombre de groupes amliore l'efficacit de la procdure. En contrepartie,
les rsultats ne peuvent tre fournis que lorsque tout le groupe d'htes a t scann. Par consquent, si
Nmap a commenc avec un groupe de 50, l'utilisateur ne recevra aucun rsultat tant que les premiers
50 htes ne seront pas termins (exception faite des informations donnes en mode verbeux).
Par dfaut, Nmap adopte un compromis dans son approche de ce conflit. Il commence avec une
quantit aussi petite que 5 groupes de faon obtenir rapidement les premiers rsultats et augmente
ensuite la quantit de groupes jusqu' un maximum de1 024. Les valeurs exactes par dfaut dpendent
des options configures. Par soucis d'efficacit, Nmap utilise une quantit de groupes plus grande
lorsqu'il s'agit de scans UDP ou sur peu de ports en TCP.
Lorsqu'un maximum est spcifi en quantit de groupes avec l'option maxhostgroup, Nmap ne va
jamais dpasser cette valeur. Spcifiez une quantit minimale avec l'option minhostgroup et
Nmap tentera de garder la quantit de groupes audessus de cette valeur. Nmap devra peuttre
utiliser des groupes plus petits que ceux que vous demandez s'il n'y a plus assez d'htes cibles sur une
interface donne par rapport au minimum que vous avez spcifi Les deux valeurs doivent tre
dtermins pour de conserver la quantit de groupes dans une plage spcifique, quoique ceci ne soit
que rarement souhait.
Le premier usage de ces options est de spcifier un minimum assez grand pour que le scan entier se
fasse plus vite. Un choix frquent est 256 pour scanner un rseau de Classe C. S'il s'agit d'un scan
incluanrt beaucoup de ports, dpasser cette valeur n'aidera pas grand chose. S'il s'agit de scans sur
peu de ports, une quantit de groupes de 2 048 ou plus peut faciliter la procdure.
minparallelism <millisecondes>; maxparallelism' <millisecondes> (Ajuste la mise en parallle
des paquets de test, probes)
Ces options permettent de contrler le nombre total de probes idal pour un groupe d'htes. Elles
permettent de scanner des ports et de dcouvrir des htes (host discovery). Par dfaut, Nmap calcule
un paralllisme idal et variable bas sur les performances du rseau. Si des paquets sont rejets,

[FIXME: source]

11/11/2013

24

NMAP(1)

[FIXME: manual]

NMAP(1)

Nmap ralentit sa cadence en permettant moins de probes simultans. Le nombre idal de probes
augmente graduellement en mme temps que le rseau dmontre ses performances. Ces options fixent
les limites maximales et minimales selon cette variable. Par dfaut, le paralllisme idal peut chuter
1 si le rseau s'avre trop faible et monter plusieurs centaines dans des conditions parfaites.
L'usage habituel consiste rgler l'option minparallelism une valeur suprieure 1 pour
acclrer les scans sur des rseaux de faible performance. Il est risqu de trop modifier cette option
puisqu'tablir une valeur trop leve peut affecter la prcision des rsultats. Modifier cette option
rduit aussi la capacit de Nmap contrler le paralllisme de faon dynamique selon les conditions
du rseau. Une valeur de 10 peut tre raisonnable bien que je n'ajuste personnellement celleci qu'en
dernier ressort.
L'option maxparallelism est parfois rgle 1 afin d'viter d'envoyer plus d'un probe en mme
temps vers les htes. Ceci peut tre intressant en combinaison avec l'option scandelay (on verra
plus tard), bien que cette option serve dj ellemme cet effet.
min_rtt_timeout <millisecondes>, maxrtttimeout <millisecondes>, initialrtttimeout
<millisecondes> (Ajuste la dure de vie des paquets de test, probe timeouts)
Nmap conserve une valeur de dure de vie qui dtermine combien de temps il devra attendre avant
d'envoyer une rponse un probe avant de l'abandonner ou de le renvoyer. Cette valeur est calcule en
fonction du temps de rponse des probes prcdents. Si le temps de latence du rseau est significatif et
variable, ce dlai d'inactivit ou cette dure de vie, peut augmenter jusqu' plusieurs secondes. Elle est
galement de niveau lev et peut rester ainsi pendant un bon moment lorsque Nmap scanne des htes
sans rponse.
Ces options acceptent des valeurs en millisecondes. Spcifier un maxrtttimeout et un
initialrtttimeout plus bas que ceux par dfaut peuvent raccourcir le temps de scan de faon
significative. C'est particulirement vrai pour les scans sans ping pralable (P0) et ceux contre des
rseaux trs filtrs. Toutefois, ne soyez pas trop agressif. Le scan peut se finir en un temps plus
significatif si, au contraire, vous spcifiez des valeurs tellement basses que les dures de vie des probes
sont termines et ceuxci renvoys alors que leurs rponses sont en fait encore en transit.
Si tous les htes sont sur un rseau local, 100 millisecondes est une valeur de maxrtttimeout
seront suffisantes. Si vous etes face a un routage, mesurez d'abord le temps de rponse d'un hte sur le
rseau \ l'aide du ping ICMP de Nmap ou d'un autre outil, comme hping2 qui est plus mme de
passer un parefeu si le paquet est spcialement forg. Regardez les dures de transit sur 10 paquets
ou plus. Vous pouvez doubler cette valeur pour initialrtttimeout et tripler ou quadrupler le
maxrtttimeout. Gnralement, je ne rgle pas le rtt maximum moins de 100ms, et ce, quelles
que soient les mesures de ping. De plus, je n'excde pas 1 000ms.
min_rtt_timeout est une option rarement utilise qui peut s'avrer utile lorsqu'un rseau est si lent
que mme les rglages par dfaut de Nmap sont trop agressifs. Comme Nmap ne rduit le dlai
d'inactivit au minimum que lorsque le rseau semble suffisamment rapide, ce genre de besoin est
inhabituel et devrait tre rapport en tant que procdure errone la liste de dveloppement de
nmapdev.
maxretries <nombreessais> (Spcifie le nombre maximum de retransmisison des paquets de test
(probes))
Quand Nmap ne reoit pas de rponse un paquet de test sur un port, cela peut signifier que le port est
filtr. Ou simplement que la rponse s'est perdue sur le rseau. Il est galement possible que l'hte
cible ait limit son taux d'mission ce qui a temporairement bloqu la rponse. Pour ces raisons, Nmap
recommence l'mission du paquet de test. Si Nmap dtecte que le rseau est peu fiable, il peut essayer
de remettre le paquet plus de fois encore avant de s'arrter. Si cette technique amliore la fiabilit,
elle ralonge la dure du scan. Quand la performance est un facteur critique, les scans peuvent tre
acclrs en limitant le nombre de retransmissions autoris. Vous pouvez mme spcifier
maxretries 0 pour viter toute retransmission, bien que cela ne soit pas trop recommand.

[FIXME: source]

11/11/2013

25

NMAP(1)

[FIXME: manual]

NMAP(1)

Le paramtrage par dfaut (sans politique T spcifie) est d'autoriser jusqu' dic retransmissions. Si
le rseau a l'air fiable et que les htes cibles ne limitent pas leur taux d'mission, Nmap ne fait
gnralement qu'une seule retransmission. Ainsi, rduire maxretries une valeur basse comme
trois n'affecte pas la plupart des scans. Une telle valeur peut acclrer significativement les scans pour
des htes lents (qui limitent leurs missions). Gnralement, vous perdez des informations si Nmap
cesse de scanner un port trop tt, mais cela peut tre prfrable laisser hosttimeout expirer et
perdre alors toutes les informations concernant la cible.
hosttimeout <millisecondes> (Abandon des htes cibles trop lents)
Certains htes prennent du temps long scanner, tout simplement. Ceci peut tre d du matriel ou
des logiciels rseau peu performants ou inefficaces, un taux de paquets limit ou un parefeu
restrictif. Le faible pourcentage de htes lents scanns peut ralentir le temps de scan tout entier. Il est
donc parfois prfrable d'carter temporairement ces htes du scan initial. Ceci peut tre fait en
spcifiant hosttimeout avec le nombre de millisecondes maximales que vous tes prt attendre.
Je choisis souvent 1 800 000 secondes pour m'assurer que Nmap ne perde pas plus d'une demiheure
sur un seul hte. Notez que Nmap peut tre en train de scanner d'autres htes en mme temps durant
cette demiheure, ce n'est donc pas une perte complte. Un hte qui dpasse cette valeur est
abandonn. Pas de listage des ports, de dtection d'OS ou de dtection de version dans les rsultats
pour celuici.
scandelay <millisecondes>; max_scandelay <millisecondes> (Ajuste le dlai entre les paquets de
test)
Cette option force Nmap attendre d'obtenir au moins la valeur donne en millisecondes entre chaque
probe qu'il envoie sur un hte donn. C'est particulirement utile en cas de limitation de nombre de
paquets (taux limite). Les machines Solaris (parmi beaucoup d'autres) vont habituellement rpondre
des paquets de test d'un scan UDP par seulement un message ICMP par seconde. Tout ce qui est
envoy audel par Nmap serait inutile. Un scandelay de 1 000 gardera Nmap ce taux
suffisamment lent. Nmap essaie de dtecter le taux limite et d'ajuster le dlai en consquence, mais il
ne fait pas de mal de le prciser si vous savez dj quelle valeur est la meilleure.
Une autre utilisation de scandelay est d'viter les dtections ventuelles des systmes de dtection
et de prvention d'intrusion (IDS/IPS) bases sur ce genre de rgle.
defeatrstratelimit
Beaucoup d'htes utilisent depuis longtemps un filtrage pour rduire le nombre de messages d'erreur
ICMP (comme les erreurs de ports inaccessibles) qu'ils envoient. Certains systmes appliquent a
prsent des limitations similaires aux paquets RST (reset) qu'ils gnrent. Ceci peut ralentir Nmap
dramaticalement tant donn qu'il ajuste son timing pour reflter ces limitations. Vous pouvez dire a
Nmap d'ignorer ces limitations (pour les scans de ports comme le SYN scan qui ne traitent pas les
ports muets comme tant ouverts) en spcifiant defeatrstratelimit.
Utiliser cette option peut rduire la prcision, puisque certains ports apparaitront comme muets
parcequ'Nmap n'attend alors pas assez longtemps une rponse RST qui serait limite. Dans le cas d'un
SYN scan, l'absence de rponse se traduit par un port marqu filtr plutot que ferm quand des paquets
RST sont recus. Cette option est utile quand vous n'avez besoin que des ports ouverts, et que distinguer
des ferms ou des filtrs ne vaut pas le temps supplmentaire que cela suppose.
T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane> (Rgler un profil de comportement au niveau
du dlai)
Bien que les contrles avancs et prcis du dlai dont il est fait mention dans les sections prcdentes
soient prcis et efficaces, certains peuvent les trouver compliqus. Qui plus est, choisir les valeurs
appropries peut parfois prendre plus de temps que le scan que vous essayez d'optimiser. De ce fait,
Nmap offre une approche plus simple, avec six profils de timing. Vous pouvez les spcifier grce
l'option T et aux numros (0 5) ou aux noms correspondants. Les noms des profils sont paranoid
(0), sneaky (1), polite (2), normal (3), agressive (4), et insane (5). Les deux premiers sont pour viter
les IDS. Le profile Polite ralentit le scan afin d'utiliser moins de bande passante et moins de
ressources sur la machine cible. Le profil Normal est celui par dfaut et donc T3 ne fait rien. Le

[FIXME: source]

11/11/2013

26

NMAP(1)

[FIXME: manual]

NMAP(1)

profil Agressive acclre les scans, partant du principe que vous travaillez sur un rseau
suffisamment rapide et efficace. Enfin, le profil Insane suppose que vous tes sur un rseau
extraordinairement rapide ou que vous tes prt sacrifier un peu de prcision pour plus de vitesse.
Ces profils permettent l'utilisateur de spcifier quel point il souhaite tre agressif tout en laissant
Nmap choisir les valeur adquates. Les profils effectuent aussi quelques ajustements que les options
avances ne permettent pas encore. Par exemple, T4 empche la variation dynamique du dlai de
dpasser 10ms pour les ports TCP et T5 met cette valeur 5 millisecondes. Les profils peuvent tre
utiliss en combinaison avec les options avances en autant que le profil est prcis en premier. Dans
le cas contraire, les valeurs normalises pour le profil risquent d'craser celles que vous spcifiez. Je
vous recommande d'utiliser T4 lorsque vous scannez des rseaux plus ou moins rapides, efficaces et
modernes. Utilisez cette option (en dbut de ligne de commande) mme si vous ajoutez des options
avances afin de bnficier des petites amliorations lie cette option.
Si vous travaillez sur une connexion large bande ou Ethernet, je vous recommande toujours d'utiliser
T4. Certains aiment utiliser T5 quoique ce soit, mon avis, trop agressif. Les gens utilisent parfois
T2 parce qu'ils pensent que le rsique que les htes tombent en panne soit moins grand ou parce qu'ils
se considrent comme respectueux d'une faon gnrale. Souvent ils ne ralisent pas quel point
l'option T Polite est lente en ralit. Leur scan peut prendre dix fois plus de temps qu'un scan par
dfaut. Les machines qui tombent en panne et les problmes lis la bande passante sont rares avec les
options de scan par dfaut (T3). C'est pourquoi je les recommande habituellement pour les scanneurs
prcautionneux. Le fait de ne pas faire de dtection de version est bien plus efficace pour limiter ces
problmes que de jouer sur les valeurs de timing.
Bien que les options T0 et T1 puissent tre utiles pour viter les alertes des IDS, elles prendront un
temps norme pour scanner des milliers de machines ou de ports. Lorsqu'il s'agit de tels scans, vous
devriez rgler les valeurs exactes de timing dont vous avez besoin plutt que de vous appuyer sur les
options T0 et T1 et les valeurs qui y sont associes.
Les effets principaux de T0 sont de mettre les scans en srie de faon ce que seul un port ne soit
scann la fois, puis d'attendre 5 minutes entre chaque envoi de probe. T1 et T2 sont semblables mais
n'attendent que 15 secondes et 0,4 secondes, Respectivement, entre chaque probe. T3 est le profil par
dfaut de Nmap et comporte la mise en parallle. T4 est l'quivalent de maxrtttimeout 1250
initialrtttimeout 500 maxretries 6 et met le dlai maximum de scan TCP 10
millisecondes. T5 fait la mme chose que maxrtttimeout 300 min_rtt_timeout 50
initialrtttimeout 250 maxretries 2 hosttimeout 900000 tout en mettant le dlai
maximum de scan TCP 5 millisecondes.

VITEMENT DE PARE-FEUX/IDS ET MYSTIFICATION


Beaucoup de pionniers d'Internet envisageaient un rseau global ouvert avec un espace d'adressage IP
universel permettant des connexions virtuelles entre n'importe quel noeuds. Ceci permet aux htes d'agir en
vritables relais, recevant et renvoyant l'information les uns aux autres. Les gens pourraient accder
l'ensemble de leur systme domestique du bureau, en changeant les rglages de climatisation ou en
dverrouillant leur porte pour les premiers invits. Cette vision d'une connectivit universelle a t touffe
par la rduction de l'espace d'adressage et les considrations de scurit. Au dbut des annes 90, les
organisations commencrent dployer des parefeux dans le but explicite de rduire la connectivit. De
gigantesques rseaux furent cerns et coups (NdT : le texte original dit barrs par un cordon de police)
d'Internet non filtr par des proxies applicatifs, la conversion des adresses rseau (network address
translation) et les filtrages de paquets. Le flux d'information libre cda la place une rgulation stricte de
canaux de communication approuvs et du contenu qui y transitait.
Les outils d'obstruction du rseau comme les parefeux peuvent rendre la cartographie d'un rseau
beaucoup trop difficile. Ce fait ne va pas aller en s'arrangeant puisque l'touffement de toute possibilit de
reconnaissance est souvent un point cl de l'implmentation des interfaces. Nonobstant, Nmap offre un
certain nombre de fonctionnalits afin d'aider comprendre ces rseaux complexes ainsi que de s'assurer
que les filtres agissent comme ils sont censs le faire. Il supporte mme des mcanismes pour contourner

[FIXME: source]

11/11/2013

27

NMAP(1)

[FIXME: manual]

NMAP(1)

les dfenses tablies de faon trop faibles. Une des meilleures mthodes pour mieux comprendre votre
rseau et la scurit qui y est dploye est de tenter de la contourner. Mettezvous la place de l'attaquant
et dployez les techniques de cette section contre vos rseaux. Lancez un scan FTP bounce , un Idle
scan , une attaque par fragmentation, ou tentez d'tablir un tunnel travers un de vos propres proxies.
Outre le fait de restreindre l'activit du rseau, les compagnies surveillent de plus en plus le trafic l'aide de
systmes de dtection d'intrusion (IDS). Tous les principaux IDSs sont prvus pour dtecter les scans de
Nmap parce que les scans sont parfois prcurseurs d'attaques. Beaucoup de ces produits ont rcemment
migr vers des systmes de prvention et d'intrusion (IPS) qui bloquent de faon active un trafic suppos
malveillant. Malheureusement pour les administrateurs de rseau et les distributeurs d'IDS, la fiabilit de
dtection de mauvaises intentions par analyse des donnes de paquets demeure un problme. Les
attaquants, avec de la patience, un certain niveau d'expertise et certaines quelques fonctions de Nmap,
peuvent traverser un IDS sans tre dtects. Dans le mme temps, les administrateurs doivent composer
avec un grand nombre de fausses alertes (false positive) qui bloquent et signalent une activit innocente.
De temps en temps, les gens suggrent que Nmap ne devrait pas offrir de possibilits de contourner les
rgles des parefeux ou de tromper les IDSs. Ils font valoir que ces fonctionnalits sont utilises par les
attaquants de la mme faon que les administrateurs les utilisent pour renforcer leur scurit. Le problme
avec cette logique est que ces mthodes seront toujours utilises par les attaquants, qui ne feront que
trouver d'autres outils ou corriger ces fonctions sur Nmap. Dans le mme temps, les administrateurs
trouveront plus de difficults faire leur travail. Dployer seulement des serveurs FTP modernes et corrigs
est une dfense bien plus efficace que d'empcher la distribution d'outils permettant les attaques FTP
Bounce .
Il n'y a pas de mthode miracle (ni d'option dans Nmap) pour dtecter et tromper les parefeux et les
systmes IDS. Cela demande un niveau de connaissances et de l'exprience. Un tutoriel est prvu pour ce
guide de rfrence qui ne fait que lister les options relatives ces sujets et ce qu'elles font.
f (fragmentation de paquets); mtu (utiliser le MTU spcifi)
L'option f force le scan demand (y compris les scans de type ping) utiliser des paquets IP
fragments en petits paquets. L'ide est de partager l'entte TCP en plusieurs paquets pour rendre
plus difficile la dtection de ce que vous faites par les dispositifs de filtrage de paquets, les systmes de
dtection et d'intrusion et autres systmes ennuyeux. Il faudra cependant faire attention ! Certains
programmes ont du mal grer ces petits paquets. Les anciens sniffers comme Sniffit souffraient
d'erreurs de segmentation immdiatement aprs avoir reu le premier fragment. Spcifiez cette option
une fois, et Nmap partage les paquets en 8 bytes ou moins aprs l'entte IP. Par exemple, un entte
de 20 bytes sera fragment en 3 paquets. Deux avec 8 bytes d'entte TCP et un avec les 4 derniers.
Bien entendu, chaque paquet a son entte IP. Spcifiez encore f pour utiliser 16 bytes par fragment
(ceci rduit le nombre de fragments). Vous pouvez aussi spcifier votre propre taille d'offset avec
l'option mtu. Par contre, ne spcifiez pas f si vous utilisez mtu. L'offset doit tre un multiple de
8. Bien que les paquets fragments ne tromperont pas les filtrages de paquets et les parefeux, tenant
compte de tous les fragments IP, comme l'option CONFIG_IP_ALWAYS_DEFRAG dans le noyau
Linux, certains rseaux ne peuvent supporter la perte de performance que cela entrane et de ce fait
laisse ceci dsactiv. D'autres ne peuvent pas l'activer parce que les fragments peuvent prendre
diffrentes routes au sein de leur rseau. Certains systmes source dfragmentent les paquets sortant
dans le noyau. Linux, avec le module de connection tracking iptables est un trs bon exemple.
Faites donc ce genre de scan avec un sniffer comme Ethereal tournant en mme temps afin de vous
assurer que les paquets envoys sont bien fragments. Si votre systme d'exploitation causait des
problmes, essayez l'option sendeth pour contourner la couche IP et envoyer des trames en raw
Ethernet.
D <decoy1 [,decoy2][,ME],...> (Dissimuler un scan avec des leurres)
Engendrez un scan avec des leurres, ce qui fait croire l'hte distant que les htes que vous avez
spcifi excutent eux aussi un scan contre lui. Un IDS fera tat d'un scan de 5 10 ports depuis des
adresses IP diffrentes, dont la vtre, sans pouvoir faire la diffrence entre les leurres et la vritable
origine. Bien que ceci puisse tre repr par la tracabilit des routeurs, le renvoi de rponses
(responsedropping), et d'autres mcanismes actifs, ceci reste une technique gnralement efficace

[FIXME: source]

11/11/2013

28

NMAP(1)

[FIXME: manual]

NMAP(1)

pour cacher votre adresse IP.


Sparez chaque leure par une virgule et vous pourrez utiliser de faon facultative ME en tant que l'un
des leurres pour reprsenter la position de votre vritable adresse IP. Si vous mettez ME en sixime
position ou aprs, certains systmes de dtection de scans de ports (comme l'excellent scanlogd de
Solar Designer) sont incapables de voir votre adresse IP. Si vous n'utilisez pas ME, Nmap vous placera
une position alatoire.
Notez que les htes que vous utilisez comme leurres devraient tre rellement actifs; sinon, vous
risquez d'inonder votre cible par des SYN. Sans compter qu'il serait trs facile de dterminer quel hte
est en train de scanner si en fait un seul est actif sur le rseau. Vous pourriez utiliser des adresses IP
plutt que des noms afin de ne pas apparatre dans les logs des serveurs de nom du rseau.
Les leurres sont utiliss autant dans la phase initiale de scan ping (utilisant les ICMP, SYN, ACK, ou
quoi que ce soit) que dans la phase proprement dite de scan de ports. Les leurres sont aussi utiliss
pendant la dtection d'OS distant (O). Les leurres ne fonctionnent pas avec la dtection de version ou
un scan de type TCP connect().
Il est inutile d'utiliser trop de leurres car cela pourrait ralentir votre scan et potentiellement le rendre
moins prcis. Enfin, certains FAI peuvent filtrer vos paquets usurps (spoofs) toutefois beaucoup ne
le font pas du tout.
S <IP_Address> (Usurper votre adresse source)
Dans certaines circonstances, Nmap n'est pas capable de dterminer votre adresse source ( Nmap vous
avisera le cas chant). Dans cette situation, utilisez S avec l'adresse IP de l'interface avec laquelle
vous souhaitez envoyer les paquets.
Un autre usage possible de ce drapeau est d'usurper (spoofer) le scan afin de faire croire la cible que
quelqu'un d'autre est en train de les scanner. Imaginez une compagnie constamment scanne pas un
concurrent ! L'option e est gnralement requise pour ce genre d'usage et P0 est conseiller quoi
qu'il en soit.
e <interface> (Utiliser l'interface prcise)
Avise Nmap sur quelle interface envoyer et recevoir les paquets. Nmap devrait pouvoir la dtecter
automatiquement mais il vous le dira si ce n'est pas le cas.
sourceport <portnumber>; g <portnumber> (Usurper le numro du port source)
L'une des erreurs de configuration les plus surprenantes est de faire confiance au trafic sur la base du
port d'o il provient. Il est facile de comprendre pourquoi une telle situation se produit. Un
administrateur va rgler un tout nouveau parefeu et tre noy sous les plaintes des utilisateurs dont
les applications ne fonctionnent plus. En particulier, les DNS peuvent tre casss parce que les
rponses UDP DNS depuis les serveurs externes ne peuvent plus entrer sur le rseau. Le FTP est un
autre exemple. Dans les transferts actifs en FTP, le serveur distant essaie d'tablir une connexion en
retour vers le client afin de transfrer le fichier demand.
La solution scurise pour ce problme existe, souvent sous la forme de proxies applicatifs ou de
modules de filtrage de protocoles au niveau du parefeu. Malheureusement, il existe aussi des
solutions faciles non scurises. En remarquant que les rponses DNS viennent du port 53 et le FTP
actif du port 20, beaucoup d'administrateurs sont tombs dans le pige de seulement permettre le trafic
entrant depuis ces ports. Ils imaginent souvent qu'aucun attaquant n'aura not et pens exploiter de
telles failles de parefeux. Dans d'autres cas, l'administrateur va considrer que c'est une solution
court terme jusqu' ce qu'il implmente une solution plus scurise. Ils oublient par la suite d'effectuer
la mise jour de scurit.
Les administrateurs de rseau surchargs de travail ne sont pas les seuls tomber dans ce pige.
Beaucoup de produits sont penss avec ce genre de rgle mal scurise. Mme Microsoft en a t

[FIXME: source]

11/11/2013

29

NMAP(1)

[FIXME: manual]

NMAP(1)

coupable. Les filtres IPsec, fournis avec Windows 2000 et Windows XP, contiennent une rgle
implicite qui autorise tout trafic depuis le port 88 (Kerberos) en TCP ou UDP. Dans un autre cas bien
connu, les versions du parefeu Zone Alarm personal firewall jusqu' 2.1.25 permettaient tout paquet
UDP provenant du port 53 (DNS) ou 67 (DHCP).
Nmap propose les options g et sourceport qui sont quivalentes pour exploiter ces faiblesses.
Fournissez simplement un numro de port et Nmap enverra les paquets depuis ce port si possible.
Nmap doit utiliser certains numros de port afin que certains tests de dtection d'OS fonctionnent
correctement. De plus, les requtes DNS ignorent le drapeau sourceport parce que Nmap se fonde
sur un systme de bibliothques pour les traiter. La plupart des scans TCP, y compris le SYN scan,
supportent entirement l'option comme le fait aussi le scan UDP.
datalength <number> (Ajoute des donnes alatoires aux paquets envoys)
Normalement, Nmap envoie des paquets minimalistes contenant seulement un entte. Donc ces
paquets TCP ne font gnralement que 40 bytes et les ICMP echo request seulement 28 bytes. Cette
option indique Nmap d'ajouter le nombre donn de bytes alatoires la plupart des paquets qu'il
envoie. Les paquets de la dtection d'OS (O) ne sont pas affects, contrairement la plupart des
paquets de ping et de scan de port. Cette procdure ralentit bien entendu les choses mais permet
toutefois de faire passer un scan pour un peu moins suspect.
ipoptions <S|R [route]|L [route]|T|U ... >;> ipoptions <hex string>> (Envoie des paquets avec
les options IP spcifies)
Le protocole IP[8] offre plusieurs options pouvant tre places dans l'entte des paquets.
Contrairement aux options TCP habituelles, les options IP sont rarement rencontres pour des raisons
pratiques et de scurit. En fait, beaucoup de routeurs Internet bloquent les options les plus
dangereuses comme le routage de source. CEpendant les options peuvent s'avrer utiles dans certains
cases for determining and manipulating the network route to cas de machines cibles. Par exemple vous
pouvez tre en mesure d'utiliser l'enregistrement de routage pour dterminer un chemin vers une cible
quand bien mme une approche plus traditionnelle de Traceroute chouerait. Ou si vos paquets sont
rejetts par un parefeu, vous pouvez spcifier une autre route avec des options plus ou moins vagues
de routage.
La facon la plus puissante de spcifier ces options IP est simplement de passer ces valeurs en argument
ipoptions. Faites prcder chaque nombre hxadcimal par \x puis les deux chiffres. Vous
pouvez rpter certains charactres en les sparant par un asterisk suivit du nombre de rptions. Par
exemple, \x01\x07\x04\x00*36\x01 est une chaine hxa contenant 36 NUL bytes.
Nmap propose aussi un mechanisme de raccourcis pour spcifier ces options. Donnez simplement la
lettre R, T, ou U pour demander l'enregistrement de routage, de timestamp, ou les deux simultanement,
respectivement. Un routage strict ou plus vague peut tre spcifi avec un L ou un S suivit d'un espace
et d'une liste spare d'espaces d'adresses IP.
Si vous souhaitez voir les options dans les paquets envoys et recus, spcifiez packettrace. Pour
plus d'information et d'exemples de l'utilisation des options IP avec Nmap, voir
http://seclists.org/nmap-dev/2006/q3/0052.html.
badsum (Envoyer des paquets avec des sommes de contrle TCP/UDP erronnes)
Demande a Nmap d'utiliser une somme de contrle TCP ou UDP erronne pour les paquets envoys
aux htes cibles. Comme virtuellement toutes les piles IP des htes rejettent ces paquets, toute rponse
recue doivent venir d'un parefeu ou d'un IDS qui ne se proccuppe pas de vrifier les sommes de
contrle. Pour plus de dtails sur cette technique, voir http://nmap.org/p60-12.txt
ttl <value> (Rgle la valeur du champ IP de dure de vie (timetolive))
Rgle le champ IPv4 du timetolive dans les paquets envoys la valeur donne.
randomizehosts (Met les htes dans un ordre alatoire)
Indique Nmap de mlanger tous les groupes contenant jusqu' 8 096 htes avant de les scanner. Ceci

[FIXME: source]

11/11/2013

30

NMAP(1)

[FIXME: manual]

NMAP(1)

peut rendre les scans moins vidents pour de nombreux systmes de surveillance rseau, spcialement
si vous le combinez des options de dlai lentes. Si vous souhaitez mlanger des groupes de taille plus
importante, augmentez la valeur PING_GROUP_SZ dans nmap.h et recompilez. Une autre solution
serait de gnrer la liste des IP cibles avec un scan de listage (list scan, sL n oN filename ), le
mlanger l'aide d'un script Perl, puis fournir la liste complte Nmap avec iL.
spoofmac <mac address, prefix, or vendor name> (Usurpation d'adresses MAC)
Demande Nmap d'utiliser l'adresse MAC spcifie pour l'ensemble des trames en raw Ethernet qu'il
envoie. Cette option implique sendeth pour s'assurer que Nmap envoie vraiment des paquets au
niveau Ethernet. Le MAC donn peut prendre plusieurs formes. S'il s'agit seulement de la chane 0,
Nmap choisit une adresse MAC totalement alatoire pour la session. Si la chane est un nombre
hexadcimal (avec les paires de nombres ventuellement spares par les deux points), Nmap utilisera
ceci comme adresse MAC. Si moins de 12 chiffres sont spcifis, Nmap remplit le reste avec des
valeurs alatoires. Si l'argument n'est ni 0 ni une chane hexadcimale, Nmap recherche dans sa base
de donnes nmapmacprefixes un nom de fournisseur contenant la chane en question (non sensible
la casse). Si une correspondance est trouve, Nmap utilise le numro OUI du distributeur (un prfixe
de 3 bytes) et utilise les 3 bytes restants de faon alatoire. Des exemples de valeurs spoofmac
valides sont Apple, 0, 01:02:03:04:05:06, deadbeefcafe, 0020F2 et Cisco.

COMPTES RENDUS
Tout outil de scurit n'est vraiment utile qu'en fonction des comptes rendus qu'il gnre. Des tests aussi
complexes soientils et des algorithmes n'ont finalement qu'une faible valeur s'ils ne sont pas prsents et
organiss de faon comprhensible. tant donn que les utilisateurs emploient Nmap et d'autres Logiciels
de diverses faons, il n'y a pas un format qui puisse convenir tout le monde. Nmap propose donc plusieurs
formats, y compris le mode interactif permettant d'tre directement intelligible et le XML pour une
meilleure portabilit entre logiciels (parsing).
Outre le fait de proposer diffrents formats de sortie, Nmap comporte des options permettant aussi bien de
contrler la verbosit des comptes rendus que le dboggage. Les diffrents types de sorties peuvent tre
envoys des comptes rendus normaliss ou des fichiers spcifiques, dont le contenu peut s'agrmenter
des scans successifs ou remplacer un contenu prcdent. Ces fichiers de sortie peuvent aussi tre utiliss
pour reprendre un scan temporairement suspendu.
Nmap rend les rsultats disponibles en 5 formats diffrents. Le format par dfaut est appel interactive
output. Il est envoy en sortie standard (stdout). On trouve aussi le normal output, qui est semblable
interactive ceci prs qu'il affiche moins d'informations de fonctionnement et d'alertes tant donn qu'il est
plutt destin tre analys la fin des scans au lieu de facon interactive.
La sortie au format XML est l'une des plus importante qui peut tre converti en HTML. Elle est facilement
traite par des programmes tiers comme les interfaces graphiques pour Nmap, ou importe au sein de bases
de donnes.
Les deux autres formats restants sont le simple grepable output, qui inclus la plupart des informations
concernant une cible dans une seule ligne, et le sCRiPt KiDDi3 0utPUt pour les utilisateurs qui se prennent
au srieux |<r4d.
Alors que le format interactif reprsente la sortie par dfaut et ne ncessite pas d'option de ligne de
commande particulire, les quatre autres options de format utilisent la mme syntaxe. Ils prennent un
argument qui reprsente le nom du fichier dans lequel les rsultats devraient tre inscrits. Des formats
multiples peuvent tre spcifis mais chaque format ne devrait tre spcifi qu'une seule fois. Par exemple,
vous pourriez souhaiter sauvegarder une sortie de type normal (normal output) pour votre propre usage tout
en sauvegardant un XML du mme scan pour une analyse par un programme. Vous pouvez le faire l'aide
des options oX myscan.xml oN myscan.nmap. Bien que ce chapitre utilise des noms de fichier simples,
notamment myscan.xml, des fins pratiques, des noms plus explicites sont en gnral recommands. Le
choix des noms relve des prfrences personnelles, toutefois pour ma part, j'en utilise de longs contenant
la date du scan ainsi qu'un mot ou deux dcrivant le scan. Je les enregistre ensuite dans un rpertoire
nomm selon la compagnie pour laquelle je suis en train d'effectuer le scan.
Mme si ces options sauvegardent les rsultats dans des fichiers, Nmap continue fournir la sortie

[FIXME: source]

11/11/2013

31

NMAP(1)

[FIXME: manual]

NMAP(1)

interactive en stdout comme d'habitude. Par exemple, la commande nmap oX myscan.xml target gnre
un fichier XML intitul myscan.xml tout en donnant la sortie standard avec le mme rsultat interactif qu'il
aurait donn si l'option oX n'avait pas t spcifie du tout. Vous pouvez changer cette procdure en
entrant un tiret en argument sur l'un des types de format. Ceci force Nmap dsactiver la sortie interactive
et d'inscrire la place les rsultats dans le format que vous avez spcifi pour le flux de sortie standard. Par
consquent, la commande nmap oX target enverra seulement une sortie XML en stdout. Les erreurs
srieuses sont susceptibles d'tre inscrites dans le flux normal d'erreur, le stderr.
Contrairement certains arguments de Nmap, l'espace entre le drapeau de l'option fichier (comme oX) et
le nom de fichier ou le tiret est obligatoire. Si vous l'omettez et entrez des arguments tels que oG ou
oXscan.xml, une fonction de compatibilit d'arrireplan de Nmap forcera la cration de formats de type
normal format comme fichiers de sortie nomms G et Xscan.xml, respectivement.
Nmap offre en outre l'option de contrler la verbosit du scan et d'ajouter les rsultats les uns la suite des
autres dans un mme fichier plutt que d'craser les rsultats prcdants. Toutes ces options sont dcrites
cidessous.
Formats de Sortie sur Nmap
oN <filespec> (sortie Normale)
Demande que le format normal output soit appliqu au fichier donn. Tel que dcrit cidessus, cette
procdure diffre lgrement d'une sortie de type interactive output.
oX <filespec> (sortie XML)
Demande que le format XML output soit donn au fichier spcifi. Nmap contient une dfinition de
type de document (DTD) qui permet le traitement XML des rsultats de Nmap. Bien que ce soit
d'abord pens aux fins d'utilisation de programmation, cette procdure peut aussi aider interprter la
sortie XML de Nmap. Le DTD dfinit les lments lgaux du format et numre souvent les attributs
et les valeurs qu'ils peuvent prendre. La dernire version est toujours disponible sur
http://www.insecure.org/nmap/data/nmap.dtd.
Le XML offre un format stable facilement traitable au moyen d'un logiciel. Des outils de traitement
XML sont offerts gratuitement dans tous les grands langages de programmation, y compris C/C++,
Perl, Python et Java. Des gens ont mme crit des outils spcifiques dans ces langages destins au
support de traitement des sorties de Nmap. Notons comme exemples le Nmap::Scanner[9] et le
Nmap::Parser[10] en Perl CPAN. Dans la plupart des cas o une application tierce doit interagir avec
Nmap, le XML est le format privilgi.
Les sorties XML font rfrence une feuille de style XSL qui peut tre utilise dans le but de formater
les rsultats au format HTML. La faon la plus simple d'utiliser ceci est de charger la sortie XML dans
un navigateur Web, comme Firefox ou IE. Par dfaut, cette dmarche ne pourra tre applique qu'
partir dela machine sur laquelle vous utilisez Nmap (ou une machine configure de faon semblable)
en raison du chemin systme vers nmap.xsl cod en dur. Utilisez l'option webxml ou stylesheet
pour une faon de gnrer un fichier XML portable qui rendra un format HTML sur toute machine
connecte au Web.
oS <filespec> (s0r713 ScRipT KIdd|3)
Le format de sortie Script kiddie est similaire la sortie interactive, sauf qu'il est posttrait de faon
mieux coller au style l33t HaXXorZ qui s'intresse Nmap soit les lettres majuscules et le contenu
unique de sa prononciation. Les gens dnus d'humour devraient raliser que cette option est surtout
une moquerie envers les script kiddies avant de me descendre en flammes en m'accusant de les aider.
oG <filespec> (sortie Grepable)
Ce format de sortie vit ses derniers instants de support parce qu'il devient dsuet. Le format XML est
bien plus puissant et presque aussi pratique pour les utilisateurs expriments. Le XML est un
standard pour lequel des douzaines d'excellents outils de traitement sont disponibles alors que le
format de sortie grepable est mon propre bidouillage. Le XML est volutif afin de supporter les
fonctions ultrieures de Nmap au rythme o elles sont disponibles alors que j'omets souvent ces
fonctions pour les sorties grepables par manque de place.

[FIXME: source]

11/11/2013

32

NMAP(1)

[FIXME: manual]

NMAP(1)

Toutefois, le format de sortie grepable reste toujours populaire. C'est un format simple qui liste chaque
hte sur une seule ligne et peut tre facilement trait l'aide d'outils uniformiss sous UNIX,
notamment grep, awk, cut, sed, diff et Perl. Je l'utilise mme souvent pour certains tests en ligne de
commande. Trouver tous les htes ayant le port ssh ouvert ou tournant sous Solaris ne prend qu'un
simple grep pour identifier l'hte, envoy sur un awk ou trait pour afficher le champ dsir.
Le format Grepable consiste en une suite de commentaires (des lignes commenant par un dize (#) et
des lignes cibles. Une ligne cible inclus une combinaison de 6 champs tiquets, spars par des
tabulations et suivis d'un sparatif. Les champs sont Host, Ports, Protocols, Ignored State, OS, Seq
Index, IPID et Status.
Le plus important de ces champs est gnralement Ports qui donne les dtails sur chaque port
considr. C'est une liste d'entres spares par une virgule. Chaque entre de port reprsente un port
considr et prend la forme de 7 souschamps spars d'une barre oblique (/) . Ces souschamps sont
les suivants : Port number, State, Protocol, Owner, Service, SunRPC info et Version info.
Comme pour le format XML, cette pagemanuel ne permet pas de documenter de faon exhaustive
l'ensemble de ce format. Une vision plus dtaille est disponible sur
http://www.unspecific.com/nmap-oG-output.
oA <basename> (sortie en tous formats)
votre convenance, vous pouvez spcifier oA basename pour stocker les rsultats de scans en
format normal, XML et grepable, et ce, en une seule fois. Ils sont stocks dans basename.nmap,
basename.xml et basename.gnmap, respectivement. Comme pour la plupart des programmes, vous
pouvez ajouter en prfixe au nom de fichier un chemin d'accs, comme /nmaplogs/foocorp/ sous
UNIX ou c:\hacking\sco sous Windows.
options de verbosit et dboggage
v (Augmenter le niveau de verbosit)
Augmente le niveau de verbosit, forant Nmap afficher plus d'informations sur le scan qu'il
effectue. Les ports ouverts sont indiqus au fur et mesure o ils sont trouvs ainsi qu'une valuation
du temps qui reste scanner si Nmap pense que cela prendra quelques minutes. Utilisez cette option
deux fois pour encore plus de verbosit. L'utiliser plus de deux fois n'a aucun effet.
La plupart des changements modifient seulement la sortie interactive et certains touchent aussi les
sorties normales et les script kiddies. Les autres sorties sont conues de faon traiter par une
machine, c'est pourquoi Nmap peut donner des dtails importants par dfaut dans ces formats sans
pour autant fatiguer un utilisateur humain. Toutefois, il y a quelques modifications dans les autres
modes pour lesquels les tailles de sorties peuvent tre rduites substantiellement par omission de
quelques dtails. Par exemple, une ligne commente dans le format grepable qui fournit une liste de
tous les ports scanns n'est affiche que dans le mode verbeux parce que cela peut s'avrer trs long.
d [level] (Augmenter ou rgler le niveau de dboggage)
Quand mme le mode verbeux ne donne pas assez d'informations pour vous, le dboggage est l pour
vous noyer sous encore plus de donnes! Comme avec l'option de verbosit (v), le dboggage est mis
en place avec un drapeau de ligne de commande (d) et le niveau de dboggage peut tre augment en
le spcifiant plusieurs fois. Autrement, vous pouvez dfinir un niveau de dboggage en donnant un
argument d. Par exemple, d9 dfinit le niveau 9. C'est le plus haut niveau et fournira des milliers
de lignes moins que vous ne lanciez un scan trs simple avec trs peu de ports et de cibles.
La sortie de deboggage est utile lorsqu'une procdure errone est souponne dans Nmap ou si vous
dsirez simplement savoir ce que fait Nmap et pourquoi. Comme cette fonctionnalit est surtout faite
pour les dveloppeurs, les lignes de dboggage ne sont pas toujours tres explicites. Vous pouvez
obtenir quelque chose comme : Timeout vals: srtt: 1 rttvar: 1 to: 1000000 delta 14987 ==> srtt:
14987 rttvar: 14987 to: 100000. Si vous ne comprenez pas une ligne, vos seuls recours sont de
l'ignorer, la chercher dans le code source ou obtenir de l'aide sur la liste de dveloppement

[FIXME: source]

11/11/2013

33

NMAP(1)

[FIXME: manual]

NMAP(1)

(nmapdev). Certaines sont quand mme assez explicites, mais les messages deviennent de plus en
plus obscures au fur et mesure o le niveau de dboggage est lev.
packettrace (Trace les paquets et les donnes envoys et reus)
Force Nmap afficher un rsum de chaque paquet envoy ou reu. C'est souvent utilis pour le
dboggage mais c'est aussi une bonne faon pour les nouveaux utilisateurs de mieux comprendre ce
que Nmap fait en arrirelan. Afin d'viter d'afficher des milliers de lignes, vous pouvez spcifier un
nombre limit de ports scanner, notamment p2030. Si vous ne vous proccupez que de ce que fait
le soussystme de dtection de version, utilisez plutt versiontrace la place.
open (Montre seulement les ports ouverts (ou potentiellement ouverts))
Il arrive que vous ne soyez interress que par les ports sur lesquels vous pouvez effectivment vous
connecter (tat <term>open</term>), et ne voulez pas de rsultats pollus par ceux qui sont
<term>closed</term>, <term>filtered</term>, et <term>closed|filtered</term> . La personnalisation
est en gnral faite aprs le scan en utilisant des outils comme grep, awk, ou Perl, mais cette
fonctionnalit a t ajoute cause d'un grand nombre de demandes cet gard. Spcifiez open
pour voir seulement les ports <term>open</term>, <term>open|filtered</term>, et
<term>unfiltered</term>. Ces trois tats sont traits pour ce qu'ils sont normalement, ce qui signifie
que <term>open|filtered</term> et <term>unfiltered</term> peuvent tre regroups dans le comptage
si il y en a un grand nombre.
logerrors (Journalise les erreurs/alertes dans un fichier en mode normal)
Les alertes et erreurs affiches par Nmap vont habituellement uniquement sur l'cran (sortie
interactive), laissant un eventuel fichier de sortie qui aurait t spcifi en ordre. Mais quand vous
souhaitez quand mme voir ces messages dans le fichier de sortie que vous avez spcifi, ajoutez cette
option. C'est utile quand vous ne regardez pas l'affichage interactif ou si vous essayez de debogger un
probleme. Le message apparait quand mme l'cran. Ceci ne marchera pas pour la plupart des
erreurs dues une ligne de commande erronne, tant donn que Nmap n'aura pas encore ouvert de
fichier de sortie a ce stade. De plus, certains messages d'alerte/erreurs utilisent un systme diffrent qui
n'est pas encore support par cette option. Une alternative cette option est de rediriger l'affichage
interactif (flux d'erreurs standard inclus) vers un fichier. Tandis que la plupart des shells UNIX
permettent ceci facilement, cela peut s'avrer difficile sous Windows.
iflist (Dresse la liste des interfaces et des routes)
Affiche la liste des interfaces et des routes systme telles que dtectes par Nmap. C'est utile pour le
dboggage li aux problmes de cheminement ou de dtermination des interfaces (comme lorsque
Nmap traite une connexion PPP en tant qu'Ethernet).
Options de sortie diverses
appendoutput (Ajouter au fichier plutt que de l'craser)
Lorsque vous spcifiez un fichier pour un format de sortie comme oX ou oN, ce fichier est cras
par dfaut. Si vous prfrez garder le contenu existant du fichier et rajouter les nouveaux rsultats,
spcifiez l'option appendoutput. Tout fichier de sortie spcifi dans cette configuration de session
de Nmap se verra agrment des nouveaux rsultats plutt qu'cras. Cela ne fonctionne pas trs bien
pour les donnes de scan au format XML (oX) dont le fichier rsultant ne sera pas vraiment correct et
devra tre rectifi la main.
resume <filename> (Reprendre un scan abandonn)
Certaines sessions importantes de Nmap peuvent prendre beaucoup de temps de l'ordre de
plusieurs jours. De tels scans ne sont pas toujours mens terme. Des restrictions peuvent empcher
Nmap d'tre utilis pendant les heures de travail, soit parce que le rseau peut s'crouler, la machine
sur laquelle Nmap tourne peut subir une rinitialisation voulue ou non ou Nmap lui mme peut tomber
en panne. L'administrateur qui utilise Nmap peut l'annuler pour toute autre raison de toutes faons, en
appuyant sur ctrlC. Recommencer tout le scan partir du dbut peut tre indsirable. Heureusement,
si le format normal (oN) ou grepable (oG) a t conserv, l'utilisateur peut demander Nmap de
reprendre le scan sur la cible qu'il traitait au moment d'tre arrt. Spcifiez simplement l'option
resume avec le nom du fichier de sortie normal/grepable en argument. Aucun autre argument n'est
autoris puisque Nmap va chercher dans le fichier de sortie en question sa configuration prcdente.

[FIXME: source]

11/11/2013

34

NMAP(1)

[FIXME: manual]

NMAP(1)

Appelez donc simplement Nmap de cette faon : nmap resume logfilename . Nmap ajoutera les
nouveaux rsultats aux donnes dj prsentes dans le fichier en question lors de la prcdente
excution. Le redmarrage n'est pas possible partir d'un format XML parce que combiner les deux
sessions dans un mme fichier XML serait difficile.
stylesheet <path or URL> (Dfini la feuille de style XSL pour transformer la sortie XML)
Nmap dispose d'une feuille de style XSL nomme nmap.xsl afin de visionner ou transcrire la sortie
XML en HTML. La sortie XML comprend une directive xmlstylesheet qui pointe sur nmap.xml o il
a t initialement install par Nmap (o dans le rpertoire courant sous Windows). Chargez
simplement la sortie XML de Nmap dans un navigateur jour et il devrait retrouver nmap.xsl depuis
le systme de fichiers puis utilisezle pour obtenir le compte rendu des rsultats. Si vous prfrez
utiliser une feuille de style diffrente, spcifiez l en argument stylesheet. Vous devez donner le
chemin ou l'adresse URL complte. stylesheet http://www.insecure.org/nmap/data/nmap.xsl est
une utilisation classique qui indique au navigateur de charger la dernire version de la feuille de style
de Insecure.Org. Cette procdure rend plus facile le visionnage des rsultats sur une machine qui ne
dispose pas de Nmap (et donc de nmap.xsl) . Par consquent, l'adresse URL est souvent plus utile
toutefois le nmap.xsl local est utilis par dfaut pour des raisons de confidentialit.
webxml (Charge la feuille de style depuis Insecure.org)
Cette option est seulement un alias pour stylesheet http://insecure.org/nmap/data/nmap.xsl.
no_stylesheet (Ne pas dclarer de feuille de style XSL pour le XML)
Spcifiez cette option pour empcher Nmap d'associer toute feuille de style XSL avec les sorties XML.
La directive xmlstylesheet est omise.

OPTIONS DIVERSES
Cette section dcrit quelques options plus ou moins importantes qui ne trouvent pas vraiment leur place
ailleurs.
6 (Activer le scan en IPv6)
Depuis 2002, Nmap a propos le support IPv6 pour ses fonctionnalits les plus populaires. En
particulier les ping scan (TCP seulement), connect() scan et dtection de version qui supportent l'IPv6.
La synthaxe de la commande est la mme qu'habituellement, sauf que vous prcisez aussi l'option 6 .
Bien sr, vous devez utiliser la synthaxe IPv6 si vous spcifiez une adresse plutt qu'un nom d'hte.
Une adresse doit ressembler 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, c'est pourquoi les noms
d'htes sont recommands. Les rsultats de sortie ressemblent ceux obtenus habituellement avec la
notation IPv6 sur la ligne interesting ports .
Bien qu'on ne puisse pas dire que l'IPv6 ait boulevers le monde, son utilisation reste notable dans
certains pays (particulirement en Asie). De plus, la plupart des systmes d'exploitation modernes le
supportent. Pour utiliser Nmap avec des IPv6, la source et la cible du scan doivent tre configures
pour l'IPv6. Si votre fournisseur d'accs Internet (comme dans la plupart des cas) ne vous a pas allou
d'adresse IPv6, des tunnels libres sont disponibles et fonctionnent trs bien avec Nmap. J'en ai utilis
un que Hurricane Electric fournit sur http://ipv6tb.he.net/. Les tunnels 6to4 sont aussi une autre
approche libre et populaire.
A (option de scan agressif)
Cette option active des options agressives supplmentaires avances. Je n'ai pas vraiment dtermin ce
que cela signifie jusqu' prsent. Pour le moment, ceci active la dtection d'OS (O) et le scan de
version (sV). Davantage de fonctions peuvent tre ajoutes dans le futur. L'ide est d'activer un panel
complet d'options de scan sans que les gens aient se rappeler d'un grand nombre de drapeaux. Cette
option ne fait qu'activer des options sans aucun rglage d'options de dlai (comme T4) ou de
verbosit (v) que vous pourriez par ailleurs souhaiter.
datadir <directoryname> (Indique l'emplacement personnalis des fichiers de donnes pour Nmap)
Nmap obtient certaines informations pendant son fonctionnement depuis les fichiers
nmapserviceprobes, nmapservices, nmapprotocols, nmaprpc, nmapmacprefixes et
nmaposfingerprints. Nmap, dans un premier temps, recherche ces fichiers dans un rpertoire
indiqu avec l'option datadir (si elle existe). Tout fichier non trouv cet emplacement sera

[FIXME: source]

11/11/2013

35

NMAP(1)

[FIXME: manual]

NMAP(1)

cherch dans l'emplacement spcifi par la variable d'environnement NMAPDIR . Puis vient /.nmap
pour les UIDs vritables et proprement dits (systmes POSIX seulement) ou l'emplacement de
l'excutable Nmap (Win32 seulement), et enfin un emplacement comme /usr/local/share/nmap ou
/usr/share/nmap . En dernier ressort, Nmap va chercher dans le rpertoire courant.
servicedb <fichier services> (spcifier un fichier de services spcifique)
Demande Nmap d'utiliser le fichier de services prcis plutot que le fichier nmapservices fournis.
Utiliser cette option force aussi l'usage d'un scan rapide (F). Voir la description de datadir pour
plus d'informations sur les fichiers de donnes de Nmap.
versiondb <fichier empreintes de services> (spcifier un fichier d'empreintes de services spcifique)
Demande Nmap d'utiliser le fichier d'empreintes de services prcis plutot que le fichier
nmapservicesprobes fournis. Utiliser cette option force aussi l'usage d'un scan rapide (F). Voir la
description de datadir pour plus d'informations sur les fichiers de donnes de Nmap.
sendeth (Utiliser l'envoi par raw Ethernet)
Demande Nmap d'envoyer les paquets la couche raw Ethernet (liaison donnes) plutt que sur la
couche plus leve IP (rseau). Par dfaut, Nmap choisit celui qui convient le mieux la plateforme
sur laquelle il tourne. Les raw sockets (couche IP) sont en gnral plus efficaces sur les machines
UNIX, alors que les trames Ethernet frames sont obligatoires pour Windows depuis que Microsoft a
dsactiv le support des raw sockets. Nmap utilise toujours des paquets en raw IP sous UNIX en dpit
de cette option quand il n'y a pas d'autre choix (par exemple, une connexion non Ethernet).
sendip (Envoyer au niveau raw IP)
Demande Nmap d'envoyer les paquets par le biais des sockets raw IP plutt que d'envoyer des trames
de niveau infrieur en Ethernet. C'est le complment de l'option sendeth discut prcdement.
privileged (Suppose que l'utilisateur a des privilges)
Dit Nmap de supposer simplement qu'il a les privilges suffisants pour effectuer des envois en raw
socket, intercepter des paquets et des oprations similaires qui, habituellement, ncessitent des
privilges root sur les systmes UNIX. Par dfaut, Nmap quitte si de telles oprations sont tentes
mais que le geteuid() n'quivaut pas zro. privileged est utile avec les capacits des noyaux Linux
et des systmes similaires pouvant tre configurs pour permettre des utilisateurs non privilgis
d'accomplir des scans avec des rawpackets. Assurezvous de bien fournir cette option avant tout
autre pour les options qui ncessitent des privilges (SYN scan, dtection de systme d'exploitation,
etc.). La variable NMAP_PRIVILEGED peut tre utilise comme quivalent alternatif privileged.
unprivileged (Suppose que l'utilisateur n'a pas les privilges d'utiliser les raw sockets)
Cette option est l'oppose de privileged. Elle prcise Nmap de faire comme si l' utilisateur n'avait
pas les privilgues de raw sockets et de sniffing. C'est utile dans un environnement de tests, de
deboggage, ou si les oprations en raw sur le reseau ne sont pas disponibles pour une tierce raison. La
variable d'environnement NMAP_UNPRIVILEGED peut tre utilise comme alternative
unprivileged.
releasememory (Librer la mmoire avant de quitter)
Cette option n'est utile que dans le cadre du deboggage de fuites de mmoire. Elle force Nmap a
librer la mmoire alloue juste avant de quitter de facon a reprer les vritables fuites de mmoire. En
temps normal Nmap ne fait pas ceci tant donn que l'OS le fait de toutes facons la fin du processus.
interactive (Dmarrer en mode interactif)
Dmarre Nmap en mode interactif, qui offre un prompt interactif avec Nmap permettant le lancement
facile de plusieurs scans (que ce soit en synchronisation ou en arrireplan). Cette procdure est utile
pour les gens qui scannent partir de systmes multiutilisateurs puisqu'ils souhaitent souvent tester
leur scurit sans que d'autres utilisateurs sur le systme ne sachent prcisment quels systmes ils
sont en train de scanner. Utilisez interactive pour activer ce mode puis entrez h pour obtenir l'aide
sur les commandes. Cette option est rarement utilise parce que de vrais shells sont en gnral plus
familiers et complets. Cette option inclus un oprateur dit bang (!) pour l'excution des
commandes de shell, qui est une des raisons de ne pas installer Nmap en tant que setuid root.
V; version (Affiche le numro de version)

[FIXME: source]

11/11/2013

36

NMAP(1)

[FIXME: manual]

NMAP(1)

Donne le numro de version de Nmap et quitte.


h; help (Affiche le sommaire d'aide)
Affiche un petit cran d'aide avec les options les plus courantes . Lancer Nmap sans aucun argument
fait la mme chose.

INTERACTION LA VOLE
Au cours de l'excution de Nmap, toutes les touches presses sont captures. Ceci permet d'interagir avec le
programme sans l'arrter et le relancer. Certaines touches spciales changeront les options tandis que les
autres touches afficheront un message d'tat parlant du scan en cours. La convention est que les minuscules
baissent le niveau d'affichage et que les majuscules l'augmentent.
v/V
Augmente / Baisse la verbosit
d/D
Augmente / Baisse le niveau de dboggage
p/P
Active / Dsactive le traage des paquets
? (aide)
Affiche un ecran d'aide durant l'execution.
N'importe quoi d'autre
Affiche un message d'tat qui se lit comme suit :
Stats: 0:00:08 elapsed; 111 hosts completed (5 up), 5 undergoing Service Scan
Service scan Timing: About 28.00% done; ETC: 16:18 (0:00:15 remaining)

EXEMPLES
Voici quelques exemples d'utilisation de Nmap, du plus simple au un peu plus complexe et sotrique. De
vritables adresses IP et noms de domaine sont utiliss pour rendre les choses plus concrtes. Vous devez
les substituer avec celles de votre propre rseau.. Bien que je ne crois pas que scanner les prots d'autres
rseaux soit ou devrait tre illgal, certains administrateurs de rseau n'apprcient pas les scans non
sollicits de leur rseau et peuvent s'en plaindre. La meilleure approche est donc d'obtenir d'abord leur
autorisation.
Pour des raisons de tests, vous avez l'autorisation de scanner l'hte scanme.nmap.org. Cette permission
inclus seulement les scans avec Nmap et non pas l'essai d'exploits ou d'attaques de Denis de Service. Afin
de prserver la bande passante, veuillez ne lancer qu'une douzaine de scans sur cet hte au maximum par
jour. En cas d'abus de ce libre service de cible de scan, il serait ferm et Nmap afficherait le message
suivant : Failed to resolve given hostname/IP: scanme.nmap.org. Ces permissions s'appliquent aussi l'hte
scanme2.nmap.org, scanme3.nmap.org, et ainsi de suite, mme si ces htes n'existent prsentement pas.
nmap v scanme.nmap.org
Cette option scanne tous les ports rservs TCP sur la machine scanme.nmap.org . L'option v active le
mode verbeux.
nmap sS O scanme.nmap.org/24
Lance un scan furtif (stealth SYN scan) contre chaque machine active parmi les 255 machines du rseau de
classe C sur lequel Scanme rside. Il essaie aussi de dterminer le systme d'exploitation sur chaque hte
actif. Cette dmarche ncessite les privilges de root puisqu'on utilise un SYN scan et une dtection d'OS.
nmap sV p 22,53,110,143,4564 198.116.0255.1127
Lance une recherche des htes et un scan TCP dans la premire moiti de chacun des 255 sousrseaux 8
bits dans l'espace d'adressage de classe B 198.116 Cela permet de dterminer si les systmes font tourner
sshd, DNS, pop3d, imapd ou le port 4564. Pour chacun de ces ports qui sont ouverts, la dtection de version
est utilise pour dterminer quelle application est actuellement lance.

[FIXME: source]

11/11/2013

37

NMAP(1)

[FIXME: manual]

NMAP(1)

nmap v iR 100000 P0 p 80
Demande Nmap de choisir 100 000 htes de faon alatoire et de les scanner dans le but de trouver les
serveurs Web (port 80). L'numration des htes est dsactive avec P0 puisque envoyer en premier lieu
quelques probes pour dterminer si un hte est actif est inutile lorsque vous ne cherchez tester qu'un port
sur chaque hte.
nmap PN p80 oX logs/pbport80scan.xml oG logs/pbport80scan.gnmap 216.163.128.20/20
Cette procdure scanne 4 096 adresses IP la recherche de serveurs Web (sans les pinguer au pralable) et
sauvegarde la sortie en format grepable et XML.
host l company.com | cut d f 4 | nmap v iL
Effectue un transfert de zone DNS afin de trouver les htes au sein de company.com et ensuite fournir les
adresses IP Nmap. Les commandes cidessus concerne mon GNU/Linux les autres systmes ont
d'autres commandes pour effectuer les transferts de zone.

BOGUES
Comme son auteur, Nmap n'est pas parfait. Mais vous pouvez aider l'amliorer en envoyant les rapports
de bogues ou mme en crivant des programmes de correction. Si Nmap ne satisfait pas vos attentes,
mettezle d'abord jour en utilisant la dernire version disponible sur http://www.insecure.org/nmap/. Si
le problme persiste, faites quelques recherches afin de dterminer s'il a dj t remarqu et signal.
Essayez pour cela de mettre l'erreur en argument sur Google ou parcourez les archives de Nmapdev sur
http://seclists.org/. Lisez ce manuel en entier quoiqu'il en soit. Si rien ne semble fonctionner, envoyez un
rapport de bogue <dev@nmap.org>. Veillez inclure tout ce que vous avez appris au sujet de ce bogue
ainsi que la version de Nmap concerne et le systme d'exploitation que vous utilisez. Les rapports de
problmes et les questions sur l'utilisation de Nmap envoys dev@nmap.org ont plus de chance de trouver
une rponse que ceux envoys Fyodor directement.
Les codes de programmes de correction destins rgler des bogues sont encore meilleurs que les rapports
de bogues. Les instructions de base pour crer des fichiers de programmes de correction avec vos
modifications sont disponibles sur http://www.insecure.org/nmap/data/HACKING. Les programmes de
correction peuvent tre envoys nmapdev (recommand) ou Fyodor directement.

AUTEUR
Fyodor <fyodor@nmap.org> (http://www.insecure.org)
Traduction franaise :
Romuald THION <romuald.thion@insalyon.fr> 4N9e Gutek <4n9e@futurezone.biz> Relecture et
corrections : Ghislaine Landry <glandry@rogers.com>
Bien qu'un soin particulier ait t apport cette traduction, il est possible que certaines erreurs s'y soient
glisses. Le cas chant, n'hsitez pas communiquer avec les traducteurs. La traduction ne remplace pas
au texte original (version anglaise), tout particulirement en ce qui concerne les dispositions lgales. Une
erreur d'interprtation dans cette traduction ne peut, en aucun cas, se substituer ces dispositions.
Insecure.Com LLC n'assume aucune responsabilit en ce qui a trait aux erreurs ventuelles de traduction ou
d'interprtation.
Des centaines de personnes ont apport de prcieuses contributions Nmap au cours des annes. Cellesci
sont dtailles dans le fichier CHANGELOG qui est distribu avec Nmap mais aussi disponible sur
http://www.insecure.org/nmap/changelog.html.

DISPOSITIONS LGALES
Droits d'auteur et licence
Le Nmap Security Scanner est sous droits d'auteur (C) 19962005 Insecure.Com LLC. Nmap est aussi une
marque dpose de Insecure.Com LLC. Ce programme est un logiciel libre; vous pouvez le redistribuer ou
le modifier selon les termes de la licence GNU General Public License comme publie par la Free Software
Foundation; Version 2. Cela garantit vos droits d'utilisation, de modification et de redistribution de ce
logiciel, et ce, sous certaines conditions. Si vous souhaitez inclure la technologie Nmap dans un logiciel
propritaire, nous nous rservons le droit de vendre d'autres licences (communiquez avec

[FIXME: source]

11/11/2013

38

NMAP(1)

[FIXME: manual]

NMAP(1)

<sales@insecure.com>). Beaucoup de distributeurs de scanners de scurit ont dj acquis une licence pour
les technologies Nmap, notamment la dcouverte d'hte, le scan de ports, le dtection du systme
d'exploitation et la dtection de service ou de version.
Notez que la licence GPL comporte d'importantes restrictions relativement aux travaux drivs, bien
qu'elle ne donne pas de dtails suffisants quant la dfinition de ceuxci. Afin d'viter toute
incomprhension, nous considrons une application comme constituant un travail driv dans le cadre de
cette licence au cas o elle correspondrait l'un de ces termes :
Intgre le code source de Nmap
Lis ou inclus les fichiers dposs de Nmap, comme nmaposfingerprints ou
nmapserviceprobes.
Excute Nmap et traite les rsultats (par opposition une simple excution en systme essentiel ou
en menu applicatif, qui ne fait qu'afficher les sorties brutes de Nmap et, de ce fait, ne sont pas des
travaux drivs.)
Intgre/Inclus/Concatne Nmap dans un installeur excutable propritaire, comme ceux produits
par InstallShield.
Lie une librairie ou un programme excutable qui fait l'une des procdures cidessus.
Le terme Nmap doit tre pris comme incluant aussi toute portion ou travail driv de Nmap. Cette liste
n'est pas exhaustive; elle est simplement conue de faon clarifier notre interprtation des travaux drivs
au moyen de quelques exemples connus. Ces restrictions s'appliquent seulement lorsque vous redistribuez
Nmap. Par exemple, rien ne vous empche d'crire et de vendre une interface graphique propritaire pour
Nmap. Distribuezla seulement en entier et assurezvous de diriger les gensvers le lien
http://www.insecure.org/nmap/ de faon tlcharger Nmap.
Nous ne considrons pas ce document comme tant un ajout la licence GPL, mais simplement une
clarification de la faon dont nous interprtons les travaux drivs qui s'appliquent notre produit Nmap
sous licence GPL. Ceci est semblable la faon dont Linus Torvalds a annonc son interprtation des
travaux drivs qui s'appliquent aux modules du noyau Linux. Notre interprtation fait seulement
rfrence Nmap; nous ne parlons d'aucun autre produit sous GPL.
Si vous avez des questions propos des restrictions de la licence GPL et de l'utilisation de Nmap dans le
cadre des travaux nonGPL, nous serions heureux de vous aider. Tel que mentionn cidessus, nous
offrons une autre licence afin d'intgrer Nmap au sein d'applications propritaires. Ces contrats ont t
vendus de nombreux distributeurs du domaine de la scurit et comportent gnralement une licence
perptuelle tout en fournissant un support, des mises jour prioritaires et une aide au dveloppement
constant de la technologie Nmap. Veuillez envoyer un courriel <sales@insecure.com> pour obtenir plus
d'informations.
Comme exception particulire la licence GPL, Insecure.Com LLC permet de lier le code de ce
programme toute version de la librairie OpenSSL, qui est distribue sous une licence identique celle
spcifie dans le fichier Copying.OpenSSL ciinclus, et de distribuer les combinaisons de liens incluant les
deux. Vous devez observer le GNU GPL dans tous ses aspects pour toute portion du code utilise autre que
OpenSSL. Si vous modifiez ce fichier, vous pouvez tendre cette exception votre version du fichier mais
vous n'tes toutefois pas oblig de le faire.
Si vous recevez ces fichiers avec une licence crite ou un contrat tablissant les termes autres que ceux
mentionns cidessus, cette autre licence prend la prsance sur ces commentaires.
Licence Creative Commons pour cette documentation de Nmap
Ce guide de rfrence Nmap est dpos par 2005 Insecure.Com LLC. Il est ainsi sous licence 2.5 de la
licence Creative Commons Attribution License[2]. Ceci vous permez de redistribuer et modifier ce travail
comme bon vous semble, tant que vous citez la source originale. Autrement, vous pouvez considrer ce
document comment tombant sous le coup de la mme licence que Nmap luimme.

[FIXME: source]

11/11/2013

39

NMAP(1)

[FIXME: manual]

NMAP(1)

Disponibilit du code source et contribution communautaire


La source est fournie avec ce programme car nous croyons que les utilisateurs ont le droit de savoir
exactement ce qu'un programme va faire avant d'tre lanc. Cela vous permet aussi de vrifier ce logiciel
relativement d'ventuelles vulnrabilits (aucune n'a t trouve ce jour).
Le code source vous permet aussi d'utiliser Nmap sur de nouvelles plateformes, de rgler des bogues et
d'ajouter de nouvelles fonctionnalits. Vous tes fortement encourags prsenter vos modifications
<fyodor@nmap.org> dans le but de les intgrer dans la distribution principale. Lorsque vous envoyez ces
changements Fyodor ou l'une des listes de dveloppement d'Insecure.Org, il est recommand que vous
cdiez Fyodor et Insecure.Com LLC le droit illimit et non exclusif de rutiliser, de modifier et de
concder de nouveau une licence pour le code. Nmap sera toujours disponible en Open Source et ce,
principalement en raison de l'impossibilit de concder de nouveau une licence pour le code, ce qui a
occasionn des problmes dvastateurs pour d'autres projets de dveloppement libres (comme KDE et
NASM). Nous concdons aussi occasionnellement une licence pour le code des tierces parties, tel que
dcrit cidessus. Si vous souhaitez spcifier une condition de licence votre contribution, indiquezle
simplement au moment de nous l'envoyer.
Pas de garanties
Ce programme est distribu dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE; sans mme la
garantie implicite de VALEUR MARCHANDE ou DE FONCTIONNEMENT POUR UNE UTILISATION
PARTICULIRE. Consultez la licence GNU General Public License pour obtenir plus de dtails sur
http://www.gnu.org/copyleft/gpl.html ou sur le fichier COPYING inclus avec Nmap.
Il faut galement noter que Nmap est reconnu pour avoir occasionnellement fait tomber en panne des
applications mal crites, des piles TCP/IP, et mme des systmes d'exploitation. Bien que ce soit
extrmement rare, il est important de le garder en tte. Nmap ne doit jamais tre lanc contre des systmes
d'importance critique moins que vous ne soyez prts en payer le prix. Nous acceptons ici que Nmap
puisse faire tomber en panne vos systmes ou rseaux et nous nous dgageons de toute responsabilit pour
tout dommage ou problme que Nmap pourrait causer.
Usage inappropri
De part le faible risque de tomber en panne et de quelques piratages lectroniques au moyen de Nmap aux
fins de reconnaissance avant attaque des systmes, certains administrateurs sont dsormais mcontents et
peuvent se plaindre lorsque leur systme est scann. C'est pourquoi il est souvent prfrable de demander
d'abord la permission avant d'effectuer le scan d'un rseau, et ce, aussi simple soitil.
Nmap ne devrait jamais tre install avec des privilges spciaux (par exemple, suid root) pour des raisons
de scurit.
Logiciels Tierce Partie
Ce produit comporte un logiciel dvelopp par la Apache Software Foundation[11]. Une version modifie
de la librairie de capture de paquets Libpcap de chez tcpdump[12] est distribue en accompagnement de
Nmap. La version Windows de Nmap emploie la version drive de Libpcap WinPcap library[13]. Le
support des expressions rgulires est assur par la librairie PCRE[14], qui consiste en un logiciel open
source crit par Philip Hazel. Certaines fonctions rseau utilisent la librairie rseau Libdnet[15] crite par
Dug Song. Une version modifie est distribue avec Nmap. Nmap peut ventuellement pointer sur l'outil de
cryptographie OpenSSL cryptography toolkit[16] pour le support de dtection de version dans le cas du
SSL. Tous les logiciels tierce partie dcrits dans ce paragraphe peuvent tre de nouveau distribus sous les
licences de type BSD.
Classification et contrle des exportations depuis les tatsUnis (US Export Control Classification)
Contrle des exportations : Insecure.Com LLC pense que Nmap tombe sous la juridiction de l'US ECCN
(export control classification number), numro 5D992. Cette catgorie est appele Information Security
software not controlled by 5D002, logiciel de scurit et d'informations non contrl par le chapitre
5D002. La seule restriction de cette classification concerne l'antiterrorisme qui s'applique la plupart des
biens et des valeurs exports vers des pays sensibles comme l'Iran et la Core du Nord. C'est pourquoi
l'exportation de Nmap ne requiert aucune licence particulire, permis, ou autre autorisation
gouvernementale.

[FIXME: source]

11/11/2013

40

NMAP(1)

[FIXME: manual]

NMAP(1)

NOTES
1.

version originale en Anglais


http://www.insecure.org/nmap/man/

2.

Creative Commons Attribution License


http://creativecommons.org/licenses/by/2.5/

3.

RFC 1122
http://www.rfc-editor.org/rfc/rfc1122.txt

4.

RFC 792
http://www.rfc-editor.org/rfc/rfc792.txt

5.

UDP
http://www.rfc-editor.org/rfc/rfc768.txt

6.

RFC TCP
http://www.rfc-editor.org/rfc/rfc793.txt

7.

RFC 959
http://www.rfc-editor.org/rfc/rfc959.txt

8.

protocole IP
http://www.ietf.org/rfc/rfc0791.txt

9.

Nmap::Scanner
http://sourceforge.net/projects/nmap-scanner/

10. Nmap::Parser
http://www.nmapparser.com
11. Apache Software Foundation
http://www.apache.org
12. de chez tcpdump
http://www.tcpdump.org
13. WinPcap library
http://www.winpcap.org
14. PCRE
http://www.pcre.org
15. Libdnet
http://libdnet.sourceforge.net
16. OpenSSL cryptography toolkit
http://www.openssl.org

[FIXME: source]

11/11/2013

41

S-ar putea să vă placă și