NOM
nmap - Outil d'exploration de réseaux, scanneur de ports
SYNOPSIS
nmap [<Type de scans> ...] [<Options>] {<Spécification des cibles>}
Nmap (“Network Mapper”, en anglais) est un outil Open Source
d'exploration de réseaux, il peut servir lors d'audits de sécurité. Il
a été conçu notamment pour explorer rapidement de larges réseaux ; ceci
dit, Nmap scanne aussi merveilleusement bien une cible unique. Cet
outil utilise des paquets IP bruts (“raw IP packets”, en anglais) de
façon innovante. Nmap trouve les hôtes actifs sur le réseau, les
services que ces hôtes offrent (y compris le nom de l'applicatif et sa
version), les systèmes d'exploitation utilisés et leur version, les
dispositifs de filtrage et/ou de pare-feux en place, ainsi que
plusieurs douzaines d'autres caractéristiques. Bien que Nmap soit le
plus souvent utilisé lors d'audits de sécurité, de nombreux
administrateurs de systèmes et réseaux trouvent utile l'aide que Nmap
leur apporte dans certaines tâches habituelles : les inventaires, la
gestion planifiée des mises à jour ; ou encore la surveillance des
hôtes et services actifs.
Son rapport de sortie est composé de la liste des cibles scannées, avec
des informations complémentaires par cible, selon les options de la
ligne de commande utilisées. Une information capitale au sein du
rapport de Nmap est la table des ports d'intérêt : pour chaque numéro
de port listé, nous voyons le protocole associé, le nom du service et
l'état. L'état est soit ouvert (“open”), soit filtré (“filtered”), soit
fermé (“closed”) ou non-filtré (“unfiltered”) ; voire une combinaison
de certains de ces états (lire ce qui suit). Ouvert indique qu'une
application de la machine ciblée est, sur ce port, à l'écoute de
paquets ou en attente de connexions. Filtré signifie qu'un pare-feu, un
dispositif de filtrage ou un quelconque autre obstacle réseau bloque ce
port, empêchant ainsi Nmap de déterminer s'il s'agit d'un port ouvert
ou fermé. Les ports fermés n'ont aucun programme à l'écoute ;
cependant, il faut être conscient qu'ils peuvent s'ouvrir à n'importe
quel instant. Les ports sont considérés comme non-filtrés s'ils
répondent aux paquets de tests (probes) de Nmap, sans que Nmap ne
puisse déterminer s'ils sont ouverts ou fermés. Nmap peut aussi
afficher des combinaisons d'états (ouvert|filtré, fermé|filtré),
lorsqu'il échoue à déterminer précisément lequel des deux états
représente l'état du port. La table des ports d'intérêt peut aussi
comprendre des détails sur les versions des logiciels, si cette
détection a été demandée. Lorsqu'un scan des protocoles IP est demandé
(-sO), Nmap fournit des informations sur les protocoles IP supportés,
et non plus une liste de ports à l'écoute.
En plus de la table des ports d'intérêt, Nmap peut également fournir de
plus amples informations sur les cibles, comme les noms de domaine
associés (obtenus par reverse DNS), le type de matériel, les adresses
MAC, les systèmes d'exploitation utilisés que Nmap a cru deviner.
Un scan avec Nmap est présenté dans l'exemple n°1 ci-dessous ; les
seuls arguments de Nmap utilisés dans cet exemple sont : -A (qui permet
la détection du système d'exploitation et de sa version, ainsi que
l'utilisation de traceroute), -T4 (pour une exécution plus rapide),
ainsi que le nom de la machine cible.
Exemple n°1. Un scan Nmap typique.
# nmap -A -T4 scanme.nmap.org
Nmap scan report for scanme.nmap.org (74.207.244.221)
Host is up (0.029s latency).
rDNS record for 74.207.244.221: li86-221.members.linode.com
Not shown: 995 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu7 (protocol 2.0)
| ssh-hostkey: 1024 8d:60:f1:7c:ca:b7:3d:0a:d6:67:54:9d:69:d9:b9:dd (DSA)
|_2048 79:f8:09:ac:d4:e2:32:42:10:49:d3:bd:20:82:85:ec (RSA)
80/tcp open http Apache httpd 2.2.14 ((Ubuntu))
|_http-title: Go ahead and ScanMe!
646/tcp filtered ldp
1720/tcp filtered H.323/Q.931
9929/tcp open nping-echo Nping echo
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6.39
OS details: Linux 2.6.39
Network Distance: 11 hops
Service Info: OS: Linux; CPE: cpe:/o:linux:kernel
TRACEROUTE (using port 53/tcp)
HOP RTT ADDRESS
[Cut first 10 hops for brevity]
11 17.65 ms li86-221.members.linode.com (74.207.244.221)
Nmap done: 1 IP address (1 host up) scanned in 14.40 seconds
La plus récente version du logiciel Nmap peut être obtenue sur le site
internet officiel http://nmap.org. Le manuel original en français,
quant à lui, est disponible à l'url http://nmap.org/man/fr/index.html.
La dernière version du manuel en anglais se trouve ici :
http://nmap.org/book/man.html
SIGNALEMENT DES BOGUES
Comme son auteur, Nmap n'est pas parfait. Mais vous pouvez aider à
l'améliorer en envoyant les rapports de bogues ou même en écrivant des
programmes de correction. Si Nmap ne satisfait pas à vos attentes,
mettez-le d'abord à jour en utilisant la dernière version disponible
à l'url http://nmap.org/. Si le problème persiste, faites quelques
recherches afin de déterminer si le bogue a déjà été remarqué et
signalé. Essayez pour cela de mettre l'erreur en argument sur Google
ou parcourez les archives de Nmap-dev sur http://seclists.org/. Lisez
ce manuel en entier quoi qu'il en soit. Si rien ne semble fonctionner,
envoyez un rapport de bogue à <nmap-dev@insecure.org>. Veillez à
inclure tout ce que vous avez appris au sujet de ce bogue ainsi que la
version de Nmap concernée et le système d'exploitation que vous
utilisez. Les rapports de problèmes et les questions sur l'utilisation
de Nmap envoyés à <nmap-dev@insecure.org> ont plus de chance de trouver
une réponse que ceux envoyés à Fyodor directement.
Il est également formidable de nous faire parvenir du code (patches de
correction), afin de régler des bogues. Les instructions de base pour
créer des fichiers de programmes de correction avec vos modifications
sont disponibles à l'url http://nmap.org/svn/HACKING. Les programmes de
correction peuvent être envoyés à nmap-dev (recommandé) ou à Fyodor
directement.
DISPOSITIONS LEGALES
Pas de garanties.
Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS
AUCUNE GARANTIE ; sans même la garantie implicite de VALEUR MARCHANDE
ou DE FONCTIONNEMENT POUR UNE UTILISATION PARTICULIÈRE. Pour plus de
détails, veuillez svp consulter la licence GNU GPL à l'url
http://www.gnu.org/copyleft/gpl.html ou au sein du fichier COPYING
inclus avec Nmap.
Il faut également noter que Nmap est connu pour avoir occasionnellement
fait planter des applications mal écrites, des piles TCP/IP et même des
systèmes d'exploitation... Bien que ceci soit extrêmement rare, il est
important de le garder en tête. Nmap ne devrait jamais être lancé
contre des systèmes d'importance critique, à moins que vous ne soyez
prêts à en payer le prix. Nous avons conscience ici que Nmap puisse
faire tomber en panne vos systèmes ou réseaux ; néanmoins, nous nous
dégageons de toute responsabilité pour tout dommage ou problème que
Nmap pourrait causer.
Usage inapproprié.
Du fait du très modeste risque de plantage, ainsi que du fait que
quelques hackers utilisent Nmap à des fins de reconnaissance avant une
attaque de système, certains administrateurs de systèmes peuvent faire
preuve de mécontentement lorsque leur système est scanné. C'est
pourquoi il est très souvent préférable de leur demander la permission
avant d'effectuer le scan d'un réseau, et ce, aussi simple soit-il.
Nmap ne devrait jamais être installé avec des privilèges spéciaux (par
exemple, suid root) pour des raisons de sécurité.
Contrôle des exportations depuis les États-Unis.
Nmap n'utilise le chiffrement que quand compilé (et lié) avec l'option
support OpenSSL. Sans cette option, Insecure.Com LLC croit savoir que
Nmap n'est pas concerné par les restrictions à l'export imposées par
certaines administrations des Etats-Unis d'Amérique (se référer aux
régulations dites EAR ici) - de ce fait, aucun numéro ou permis n'est
nécessaire.
Lorsque compilé avec le support OpenSSL ou distribué en tant que code
source, Insecure.Com LLC pense que Nmap est classifié par
l'administration des Etats-Unis sous le numéro U.S. ECCN 5D002
(“Information Security Software” ; ECCN : Export Control
Classification Number). Cependant, nous distribuons Nmap sous
l'exception TSU - EAR 740.13(e).
COPYRIGHT
Droits d'auteur et licences.
Le scanner de sécurité Nmap est protégé par copyright (C) 1996-2011
Insecure.Com LLC. Nmap est aussi une marque déposée d'Insecure.Com LLC.
Ce programme est toutefois un logiciel libre : vous pouvez le
redistribuer et/ou le modifier selon les termes de la licence GNU GPL
version 2, publiée par la Free Software Foundation. Cette licence
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 au sein d'un logiciel propriétaire, nous
nous réservons le droit de vendre des licences spécifiques (communiquez
avec <sales@insecure.com>). Nombre d'éditeurs de scanners de sécurité
ont déjà acquis une licence relative aux technologies Nmap, notamment
la découverte d'hôtes, le scan de ports, la détection des systèmes
d'exploitation, la détection des services et versions.
Notez svp que la licence GPL comporte d'importantes restrictions en ce
qui concerne les "travaux dérivés". Cependant, elle ne fournit pas de
détail quant à la définition de ceux-ci. Afin d'éviter toute
incompréhension, nous considérons une application comme constituant un
“travail dérivé” dans le cadre de cette licence si l'un de ces termes
lui correspond :
* Intègre du code source provenant de Nmap ;
* Lit ou inclut des fichiers déposés de Nmap, tels nmap-os-fingerprints
ou nmap-service-probes ;
* Exécute Nmap et traite les résultats (par opposition à une
application qui ne ferait qu'afficher les sorties brutes de Nmap : de
ce fait, elle n'est pas un travail dérivé) ;
* Intègre / Inclus / Concatène Nmap dans un installeur exécutable
propriétaire, comme ceux produits par InstallShield ;
* Est lié à une librairie ou à un programme exécutable accomplissant
l'un des quatre points précédents.
Le terme “Nmap” doit être compris comme incluant aussi toute portion ou
travail dérivé de Nmap. Cette liste n'est pas exhaustive. Elle est
néanmoins conçue de façon à clarifier notre interprétation de ce que
constitue un travail dérivé, et ce au moyen de quelques exemples
simples. Ces restrictions s'appliquent uniquement lorsque vous
redistribuez Nmap. Par exemple, rien ne vous empêche d'écrire et de
vendre une interface graphique propriétaire pour Nmap ; seulement,
distribuez-la sans Nmap (vous pouvez diriger les utilisateurs vers le
lien http://nmap.org/ de façon à télécharger Nmap).
Nous ne considérons pas les paragraphes ci-haut comme étant des
restrictions supplémentaires à la licence GPL, mais plutôt comme des
clarifications de la façon dont nous interprétons les "travaux dérivés”
(notre produit Nmap étant sous licence GPL). Notre interprétation ne
concerne que Nmap ; nous ne parlons en aucun cas d'autres produits sous
licence GPL.
Si vous avez des questions à propos des restrictions de la licence GPL
et de l'utilisation de Nmap dans le cadre de travaux non-GPL, nous
serions heureux de vous aider. Tel que mentionné plus haut, nous
offrons d'autres licences afin d'intégrer Nmap au sein d'applications
ou matériels propriétaires. De tels contrats ont été vendus à de
nombreux acteurs du domaine de la sécurité et comportent généralement
une licence perpétuelle, tout en fournissant avec priorité support et
mises à jour, ainsi qu'une aide au développement constant de la
technologie Nmap. Veuillez envoyer un courriel à <sales@insecure.com>
svp pour obtenir plus d'informations.
Par exception particulière à la licence GPL, Insecure.Com LLC permet de
lier le code de ce programme à toute version de la librairie OpenSSL,
qui est distribuée sous une licence identique à celle spécifiée dans le
fichier Copying.OpenSSL ci-inclus, 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 utilisée 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 mentionnés ci-dessus, cette
autre licence prend la préséance sur ces commentaires.
Licence Creative Commons pour cette documentation de Nmap.
Ce guide de référence Nmap est déposé par 2005-2011 Insecure.Com LLC.
Il est ainsi sous licence CC-BY-2.5 (Creative Commons). Ceci vous
permet de redistribuer et modifier ce travail comme bon vous semble,
tant que vous citez la source originale. Autrement, vous pouvez
considérer ce document comme tombant sous le coup de la même licence
que Nmap lui-même.
Disponibilité du code source et contribution communautaire.
Le code source est fourni 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 vérifier
d'éventuelles vulnérabilités logicielles.
Le code source vous permet aussi d'utiliser Nmap sur de nouvelles
plateformes, de corriger des bogues, ainsi que d'ajouter des
fonctionnalités. Vous êtes fortement encouragés à présenter vos
modifications à <dev@nmap.org> dans le but de les intégrer à la
distribution principale. Lorsque vous envoyez ces changements à Fyodor
ou à l'une des listes de développement d'Insecure.Org, il est
recommandé que vous donniez à Fyodor et à Insecure.Com LLC un droit
illimité et non exclusif pour ce code, de le réutiliser, de le modifier
et de lui concéder de nouveau une licence. Nmap sera toujours
disponible en Open Source et ce principalement en raison de
l'impossibilité de concéder de nouveau une licence pour le code.
L'incapacité à appliquer une nouvelle licence sur du code a occasionné
de gros problèmes pour d'autres projets de développement libres (comme
KDE et NASM). Nous concédons aussi occasionnellement des licences pour
le code à de tierces parties, tel que décrit ci-dessus. Si vous
souhaitez spécifier une condition de licence à votre contribution,
indiquez-le simplement au moment de nous l'envoyer.
Logiciels Tierce Partie.
Ce produit comporte du logiciel développé par la Fondation Apache. Une
version modifiée de la librairie de capture de paquets Libpcap est
distribuée en accompagnement de Nmap ; la version Windows de Nmap
emploie une version dérivée de Libpcap, la librairie WinPcap. Le
support des expressions régulières est assuré par la librairie PCRE,
un logiciel open source écrit par Philip Hazel. Certaines fonctions
réseau (à bas-niveau) utilisent la librairie réseau Libdnet écrite par
Dug Song ; une version modifiée est distribuée avec Nmap.
Optionnellement, Nmap peut être lié avec la boîte à outils de
chiffrement OpenSSL, afin d'assurer le support de la détection des
versions dans le cas du SSL. Toujours au sein de Nmap, le moteur de
script inclus une version du langage de programmation Lua. Pour
certains besoins d'apprentissage automatique liés à IPv6 (lire plus
haut), la librairie Liblinear (classification linéaire) est également
présente. Tous les logiciels tierce partie décrits ici dans ce
paragraphe peuvent être de nouveau distribués avec des licences de type
BSD.
D'autres librairies sont utilisées sous Windows et Mac OS X, afin de
permettre l'exécution de Zenmap et Ndiff (qui utilisent Python, PyGTK).
Une liste de ces librairies, ainsi que des licences s'y rapportant, se
trouve dans les fichiers LICENSES.
Ce projet a été notamment aidé par des contributions obtenues lors de
projets soutenus par Google via le programme Google Summer of Code ;
Egalement, par le programme DARPA CINDER (DARPA-BAA-10-84).
REFERENCES
1. RFC 1122
http://www.rfc-editor.org/rfc/rfc1122.txt
2. RFC 792
http://www.rfc-editor.org/rfc/rfc792.txt
3. UDP
http://www.rfc-editor.org/rfc/rfc768.txt
4. TCP RFC
http://www.rfc-editor.org/rfc/rfc793.txt
5. RFC 959
http://www.rfc-editor.org/rfc/rfc959.txt
6. IP protocol
http://www.ietf.org/rfc/rfc0791.txt
7. Nmap::Scanner
http://sourceforge.net/projects/nmap-scanner/
8. Nmap::Parser
http://sourceforge.net/projects/npx/
9. Creative Commons Attribution License
http://creativecommons.org/licenses/by/2.5/
10. Apache Software Foundation
http://www.apache.org
11. Libpcap portable packet capture library
http://www.tcpdump.org
12. WinPcap library
http://www.winpcap.org
13. PCRE library
http://www.pcre.org
14. Libdnet
http://libdnet.sourceforge.net
15. OpenSSL cryptography toolkit
http://www.openssl.org
VOIR AUSSI
zenmap(1), hping3(8), nc(1), tcp(7), udp(7), ip(7)
AUTEUR
Fyodor <fyodor@insecure.org> (http://www.insecure.org)
Des centaines de personnes ont apporté de précieuses contributions à
Nmap au cours des années. Celles-ci sont détaillées dans le fichier
CHANGELOG qui est distribué avec Nmap et également disponible ici :
http://nmap.org/changelog.html.
TRADUCTION
Cette édition française du Guide de Référence de Nmap a été traduite à
partir de la version [2991] de la version originale en anglais par
Romuald THION <romuald.thion@insa-lyon.fr> et 4N9e Gutek
<4n9e@futurezone.biz>. Elle a été relue et corrigée par Ghislaine
Landry <g-landry@rogers.com> en 2005.
Une version plus ancienne (2002) a été réalisée par Sébastien Blanchet.
Bien qu'un soin particulier ait été apporté à cette traduction, il est
possible que certaines erreurs s'y soient glissées. Le cas échéant,
n'hésitez pas à communiquer avec les traducteurs. La traduction ne
remplace pas le texte original (version anglaise), tout
particulièrement en ce qui concerne les dispositions légales. Une
erreur d'interprétation 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'interprétation.
La plus récente version du manuel en français est disponible à l'url
http://nmap.org/man/fr/index.html.
La dernière version du manuel en anglais se trouve ici :
http://nmap.org/book/man.html
Mise en page incluant nombre de modifications originales pour ce site :
équipe man-linux-magique.net (avril 2013).