mirror of
https://github.com/nmap/nmap.git
synced 2025-12-06 04:31:29 +00:00
951 lines
44 KiB
Groff
951 lines
44 KiB
Groff
.\" nmap version 3.00, August 2002
|
|
.\" This definition swiped from the gcc(1) man page
|
|
.de Sp
|
|
.if n .sp
|
|
.if t .sp 0.4
|
|
..
|
|
.TH NMAP 1
|
|
.SH NOM
|
|
nmap \- Outil d'exploration réseau et analyseur de sécurité
|
|
.SH SYNOPSIS
|
|
.B nmap
|
|
[Type(s) de scan] [Options] <hôte ou réseau #1 ... [#N]>
|
|
.SH DESCRIPTION
|
|
|
|
.I Nmap
|
|
a été conçu pour que les administrateurs systèmes et les curieux
|
|
puissent analyser de grands réseaux pour déterminer les hôtes actifs et les
|
|
services offerts.
|
|
.I nmap
|
|
supporte un grand nombre de techniques d'analyse\ : UDP, TCP
|
|
connect(), TCP SYN (mi ouvert), ftp proxy (attaque par rebond),
|
|
Reverse-ident, ICMP (balayage de ping), FIN, balayage de ACK, Xmas Tree, balayage
|
|
de SYN, Protocoles IP, et Null scan. Voir la section
|
|
.I Types de scans
|
|
pour plus de détails. Nmap offre également des caractéristiques avancées
|
|
comme la détection du système d'exploitation distant via l'empreinte
|
|
TCP/IP, l'analyse furtive, le délai dynamique et les calculs de retransmission,
|
|
l'analyse parallèle, détection de hôtes inactifs via
|
|
des pings parallèles, l'analyse avec leurres, la détection des ports filtrés,
|
|
analyse directe (sans portmapper) des RCP, l'analyse avec fragmentation,
|
|
et une notation puissante pour désigner les hôtes et les ports.
|
|
.PP
|
|
Des efforts significatifs ont été consacrés pour que nmap soit utilisable
|
|
par des utilisateurs non-root. Malheureusement, la plupart des interfaces
|
|
noyaux critiques (comme les raw sockets) requièrent les privilèges root.
|
|
Nmap devrait donc être lancé en tant que root autant que possible
|
|
(mais pas en setuid root, évidemment).
|
|
.PP
|
|
Le résultat de l'exécution de nmap est habituellement une liste
|
|
de ports intéressants sur les machines analysées. Nmap donne pour
|
|
chaque port le nom du service, le numéro, l'état et le protocole.
|
|
L'état peut être «\ open\ », «\ filtered\ » ou «\ unfiltered\ ».
|
|
«\ Open\ » signifie que la machine cible accepte les connexions sur ce port.
|
|
«\ Filtered\ » signifie qu'un pare-feu, un filtre ou un autre obstacle réseau
|
|
protège le port et empêche nmap de détecter si le port est ouvert.
|
|
«\ Unfiltered\ » signifie que le port est fermé et qu'aucun pare-feu n'a
|
|
interféré avec nmap.
|
|
Les ports «\ Unfiltered\ » sont les plus courants et ne sont affichés
|
|
que lorsque la majorité des ports analysés sont dans l'état «\ filtered\ ».
|
|
.PP
|
|
En fonction des options utilisées, nmap peut aussi rapporter les caractéristiques
|
|
suivantes du système d'exploitation distant\ :
|
|
type de système d'exploitation, séquencement TCP, noms des utilisateurs
|
|
qui ont lancé les programmes qui écoutent sur chaque port, le nom DNS,
|
|
et d'autres choses encore.
|
|
.SH OPTIONS
|
|
Les options ayant du sens ensemble peuvent généralement être combinées.
|
|
Certaines options sont spécifiques à certains modes d'analyses.
|
|
.I nmap
|
|
essaye de détecter et de prévenir l'utilisateur
|
|
en cas de combinaisons d'options démentes ou non supportées.
|
|
.Sp
|
|
Si vous êtes impatient, vous pouvez passer directement
|
|
à la section des
|
|
.I exemples
|
|
à la fin, qui illustre l'usage courant. Vous pouvez aussi lancer
|
|
.B nmap -h
|
|
pour un bref rappel de toutes les options.
|
|
.TP
|
|
.B TYPES DE SCANS
|
|
.TP
|
|
.B \-sS
|
|
TCP SYN scan\ : Cette technique est souvent appelée scan
|
|
«\ mi ouvert\ », parce qu'on ouvre une connexion TCP incomplète.
|
|
On envoie un paquet SYN, comme pour une véritable ouverture de connexion
|
|
et on attend une réponse. Un SYN ou ACK indique
|
|
que le port est sous écoute, en revanche un RST signifie que personne n'écoute
|
|
sur ce port.
|
|
Si un SYN ou ACK est reçu, un RST est immédiatement envoyé pour interrompre
|
|
la connexion.
|
|
Le principal avantage de cette technique est que peu de sites l'archiveront.
|
|
dans leurs logs.
|
|
Malheureusement vous avez besoin des privilèges root pour construire
|
|
ces paquets SYN sur mesure. C'est le scan par défaut pour les utilisateurs
|
|
qui ont les privilèges root.
|
|
.TP
|
|
.B \-sT
|
|
TCP connect() scan\ : C'est la forme la plus simple de scan TCP.
|
|
L'appel système connect() fournit par votre système d'exploitation
|
|
est utilisé pour ouvrir une connexion sur tous les ports intéressants
|
|
de la cible. Si le port est sur écoute,
|
|
connect() réussira, sinon le port est injoignable.
|
|
Le principal avantage de cette technique est qu'elle ne nécessite pas
|
|
de privilèges particuliers. Presque tous les utilisateurs de toutes les machines Unix
|
|
sont libres d'utiliser cet appel système.
|
|
.Sp
|
|
Ce type de scan est facilement détectable par l'hôte cible
|
|
puisque les logs de la cible montreront un ensemble de connexions
|
|
et de messages d'erreurs pour les services qui ont accepté la connexion
|
|
qui a été immédiatement coupée.
|
|
C'est le scan par défaut pour les utilisateurs normaux (non root).
|
|
.TP
|
|
.B \-sF \-sX \-sN
|
|
Stealth FIN, Xmas Tree, ou Null scan modes\ : Parfois même
|
|
un SYN scan n'est pas suffisamment discret.
|
|
Certains pare-feux et filtreurs de paquets regardent les
|
|
SYNs vers les ports interdits, et des programmes comme Synlogger et
|
|
Courtney peuvent détecter ces scans. En revanche, ces scans avancés
|
|
devrait pourvoir passer sans problèmes.
|
|
.Sp
|
|
L'idée est qu'un port fermé est requis pour
|
|
répondre au paquet de test par un RST, alors
|
|
que les ports ouverts doivent ignorer les paquets en question
|
|
(voir RFC 793 pp 64). Le FIN scan utilise
|
|
un paquet FIN nu comme testeur, alors que le scan Xmas tree
|
|
active les drapeaux URG et PUSH du paquet FIN. Le scan Null, désactive tous
|
|
les drapeaux. Malheureusement Microsoft (comme d'habitude)
|
|
a décidé d'ignorer complètement le standard et de faire les choses à sa façon.
|
|
C'est pourquoi ce type de scan ne fonctionne pas contre les systèmes sous
|
|
Windows95/NT. Le côté positif est que c'est un bon moyen de distinguer deux
|
|
plates-formes.
|
|
Si le scan trouve des ports ouverts, vous savez que la machine cible n'est
|
|
pas sous Windows. Si un -sF,-sX, ou -sN scan montre tous les ports
|
|
fermés, et qu'un scan SYN (-sS) montre tous les ports ouverts, la machine cible
|
|
fonctionne probablement sous
|
|
Windows. Ceci est moins utile depuis que nmap a son propre détecteur de système
|
|
d'exploitation intégré. D'autres systèmes ont le même problème que Windows\ :
|
|
Cisco, BSDI, HP/UX, MVS, et IRIX.
|
|
La plupart envoient des resets depuis les ports ouverts au lieu d'ignorer
|
|
le paquet.
|
|
.TP
|
|
.B \-sP
|
|
Ping scanning\ : Parfois vous voulez juste savoir quels sont les hôtes
|
|
actifs d'un réseau.
|
|
Nmap peut le faire pour vous en envoyant des paquets d'écho ICMP à chaque adresse IP du réseau spécifié.
|
|
Les hôtes qui répondent sont actifs. Malheureusement, certains sites comme
|
|
microsoft.com, bloquent les paquets d'écho.
|
|
Toutefois nmap peut aussi envoyer un paquet TCP ack au port 80 (par défaut).
|
|
Si vous recevez un RST en retour, la machine est active. Une troisième
|
|
technique consiste à envoyer un paquet SYN et d'attendre un RST ou un SYN/ACK.
|
|
Pour les utilisateurs non-root, la méthode connect() est utilisée.
|
|
.Sp
|
|
Par défaut (pour les utilisateurs root), nmap utilise la technique
|
|
ICMP et ACK en parallèle. Vous pouvez changer l'option
|
|
.B \-P
|
|
décrite plus tard.
|
|
.Sp
|
|
Remarquez que le ping est fait par défaut de toutes façons
|
|
et seuls les hôtes qui répondent sont analysés.
|
|
N'utilisez cette option que si vous voulez faire un balayage de
|
|
ping
|
|
.B sans
|
|
faire d'analyse de ports.
|
|
.TP
|
|
.B \-sU
|
|
UDP scans\ : Cette méthode est utilisée pour déterminer les ports UDP
|
|
(User Datagram Protocol, RFC 768) qui sont ouverts sur l'hôte
|
|
Cette technique consiste à envoyer un paquet udp de 0 octet à chaque
|
|
port de la machine cible. Si on reçoit un message ICMP «\ port unreachable\ »,
|
|
alors le port est fermé. Autrement nous supposons qu'il est ouvert.
|
|
.Sp
|
|
Certaines personne pensent que l'analyse UDP est inutile.
|
|
J'ai pour habitude de leur rappeler le trou récent dans rcpbind sous Solaris.
|
|
Rpcbind peut dissimuler un port UDP non documenté quelque part au dessus
|
|
de 32\ 770. Comme découvrir un tel port sans scanner UDP\ ?
|
|
Il y a aussi le programme
|
|
cDc Back Orifice backdoor qui cache un port UDP configurable
|
|
sur les machines Windows. Sans même mentionner tous les services courants
|
|
qui utilisent UDP tels que snmp, tftp, NFS, etc.
|
|
.Sp
|
|
Malheureusement l'analyse UDP peut être particulièrement longue puisque la plupart
|
|
des hôtes implémente une suggestion de la RFC 1812 (section
|
|
4.3.2.8) pour limiter le débit des messages d'erreurs ICMP. Par exemple,
|
|
le noyau Linux (dans net/ipv4/icmp.h) limite la génération de
|
|
message «\ destination unreachable\ » à 80 pour 4 secondes, avec
|
|
une pénalité de 1/4 secondes si ce nombre est dépassé.
|
|
Solaris a des limites encore plus strictes (à peu près 2 messages par
|
|
seconde) et l'analyse nécessite encore plus de temps.
|
|
.I Nmap
|
|
détecte cette limite de débit et ralentit plutôt que d'inonder inutilement
|
|
le réseau avec des paquets qui seront ignorés par la machine cible.
|
|
.Sp
|
|
Comme d'habitude, Microsoft a ignoré la suggestion RFC
|
|
et n'a pas implémenté de limitation de taux dans les machines
|
|
Win95 et NT. C'est pourquoi nous pouvons analyser
|
|
les 65K ports d'une machine Windows
|
|
.B très
|
|
rapidement. Wahoo !
|
|
.TP
|
|
.B \-sO
|
|
IP protocol scans\ : Cette méthode est utilisée
|
|
pour déterminer les protocoles IP supportés par l'hôte.
|
|
La technique consiste à envoyer des paquets IP bruts sans entête de protocole
|
|
à chaque protocole spécifié sur la machine cible.
|
|
Si nous recevons un message ICMP «\ protocol unreachable\ »,
|
|
alors le protocole n'est pas utilisé. Autrement nous supposons qu'il est
|
|
ouvert. Remarquez que certains hôtes (AIX, HP-UX, Digital UNIX)
|
|
et les pare-feux peuvent ne pas renvoyer les
|
|
messages «\ protocol unreachable\ », faisant apparaître ouverts
|
|
tous les protocoles.
|
|
.Sp
|
|
Comme cette technique est très similaire à l'analyse des ports UDP, la
|
|
limitation du débit ICMP peut aussi apparaître.
|
|
Mais comme le champ protocole d'IP n'a que 8 bits, il y a au plus 256
|
|
protocoles, donc la durée restera raisonnable.
|
|
.TP
|
|
.B \-sI <zombie host[:probeport]>
|
|
scan paresseux : cette méthode de scan avancée autorise un scan TCP
|
|
véritablement aveugle de la cible (aucun paquet ne sera envoyé à la cible
|
|
depuis votre véritable adresse IP). À la place, une attaque unilatérale
|
|
exploite la prédiction de la séquence d'identificateur de fragmentation IP
|
|
de l'hôte zombie pour glaner des informations sur les ports ouverts de la cible.
|
|
Les systèmes de détections d'intrusion indiqueront que le scan provient de la
|
|
machine zombie spécifiée (qui doit être active et vérifier un certain nombre de
|
|
critères). J'envisage de donner plus d'explication à http://www.insecure.org/nmap/nmap_documentation.html
|
|
dans un futur proche.
|
|
.TP
|
|
.Sp
|
|
En plus d'être extraordinairement furtive (grâce à sa nature aveugle), ce scan
|
|
permet de s'affranchir des relations de confiance entre machines
|
|
fondées sur l'IP. La liste de ports montre les ports ouverts
|
|
.I tels que les voit l'hôte zombie.
|
|
Aussi, vous pouvez essayer de scanner une cible en utilisant différents zombies
|
|
à qui elle fait confiance (via les règles de filtrage des routeurs/paquets).
|
|
Évidemment cette information est cruciale pour orienter l'attaque. Autrement
|
|
votre test de pénétration va consommer des ressources considérables
|
|
appartenant au système intermédiaire, pour s'apercevoir en fin de compte
|
|
qu'il n'y a pas de relation de confiance entre l'hôte cible
|
|
et l'IP de la machine zombie.
|
|
.Sp
|
|
Vous pouvez ajouter un deux-point suivi par le numéro de port si vous
|
|
voulez tester un port particulier sur l'hôte zombie pour les changement IPID.
|
|
Autrement Nmap utilisera le port qu'il utilise par défaut pour les pings TCP.
|
|
.TP
|
|
.B \-sA
|
|
ACK scan\ : C'est une technique avancée qui est utilisé pour découvrir
|
|
les règles des pare-feux et pour savoir si on a affaire à un pare-feu ou un simple
|
|
filtreur de paquets qui bloquent les paquets SYN entrant.
|
|
.Sp
|
|
Ce type d'analyse envoie un paquet ACK (avec un numéro
|
|
d'acquittement/séquence aléatoire) aux ports spécifiés.
|
|
Si un RST vient en retour, les ports sont classés comme
|
|
non filtrés. Si rien ne revient (ou alors un message ICMP
|
|
«\ unreachable\ »), les ports sont classés comme filtrés . Remarquez
|
|
que
|
|
.I nmap
|
|
n'affiche pas les ports non filtrés.
|
|
Aussi, si
|
|
.B aucun
|
|
port n'est affiché dans la sortie, c'est souvent un signe que tous
|
|
les tests ont fonctionné (et retourné RSTs). Ce scan ne montrera évidement
|
|
jamais de port ouvert.
|
|
.TP
|
|
.B \-sW
|
|
Window scan\ : C'est une analyse avancée très similaire au
|
|
ACK scan, sauf qu'il peut parfois détecter aussi bien des
|
|
ports ouverts que filtrés/non filtrés grâce à une anomalie
|
|
dans la taille de la fenêtre TCP rapportée par certains systèmes.
|
|
Parmi les systèmes vulnérables se trouvent certaines versions de
|
|
AIX, Amiga, BeOS, BSDI, Cray, Tru64 UNIX, DG/UX, OpenVMS, Digital
|
|
UNIX, FreeBSD, HP-UX, OS/2, IRIX, MacOS, NetBSD, OpenBSD,
|
|
OpenStep, QNX, Rhapsody, SunOS 4.X, Ultrix, VAX, et
|
|
VxWorks. Voir les archives de la liste de diffusion nmap-hackers pour une liste
|
|
exhaustive.
|
|
.TP
|
|
.B \-sR
|
|
RPC scan. Cette méthode fonctionne en combinaison
|
|
avec diverses méthodes d'analyse de port de nmap.
|
|
Il prend tous les ports TCP/UDP ouverts et les inonde de
|
|
commandes SunRPC NULL pour déterminer ceux qui sont
|
|
des ports RPC, et si c'est le cas, le programme et son numéro de version
|
|
qui les servent.
|
|
Vous pouvez obtenir la même information
|
|
que 'rpcinfo -p' même si le portmapper cible est derrière un
|
|
pare-feu (ou protégé par un wrapper TCP). Les leurres ne fonctionnent pour le
|
|
moment pas avec les scans RCP, et je dois ajouter le support pour les leurres
|
|
dans les scans UPD RCP.
|
|
.TP
|
|
.B \-sL
|
|
scan-liste. Cette méthode génère une liste d'IP/nom sans les pinger ou les
|
|
scanner. La résolution de nom DNS sera réalisée sauf si vous utilisez -n.
|
|
.TP
|
|
.B \-b <ftp relay host>
|
|
attaque par rebond FTP\ : Une caractéristique intéressante du
|
|
protocole ftp (RFC 959) est le support des connexions \fBproxy\fR.
|
|
En d'autres termes, je dois être capable de me connecter depuis
|
|
mechant.com au serveur FTP de cible.com et demander que le serveur envoie
|
|
un fichier N'IMPORTE OÙ sur Internet. Ça fonctionnait bien
|
|
en 1985 quand la RFC a été écrite. Mais dans l'Internet d'aujourd'hui
|
|
nous ne pouvons pas nous permettre d'avoir des pirates qui détournent
|
|
des serveurs ftp et envoient des données n'importe où dans Internet.
|
|
J'avais écrit en 1995 que ce défaut du protocole «\ peut être utilisé pour
|
|
envoyer des courriers et nouvelles intracables,
|
|
matraquer des serveurs de sites, saturer les disques,
|
|
essayer de contourner les pare-feux et généralement être difficile à repérer\ ».
|
|
On peut aussi l'exploiter pour faire un scan
|
|
des ports TCP depuis un serveur ftp «\ proxy\ ». Ainsi, vous pouvez vous
|
|
connecter à un serveur ftp derrière un pare-feu et scanner les ports
|
|
sans être bloqué (139 est un bon nombre). Si le serveur ftp
|
|
autorise la lecture et l'écriture dans certains répertoires
|
|
(tel que /incoming), vous pouvez envoyez des données arbitraires
|
|
aux ports que vous avez trouvé ouvert (nmap ne le fera toutefois pas pour vous)
|
|
.Sp
|
|
L'argument passé à l'option \fB-b\fR est l'hôte que vous voulez utiliser comme
|
|
proxy, dans la notation URL standard. Le format est\ :
|
|
.I username:password@server:port.
|
|
Tout sauf
|
|
.I server
|
|
est optionnel. Pour déterminer les serveurs qui sont
|
|
vulnérables à cette attaque, vous pouvez voir mon article dans
|
|
.I Phrack
|
|
51. Une version mise à jour est disponible à l'URL
|
|
http://www.insecure.org/nmap.
|
|
.TP
|
|
.B OPTIONS GÉNÉRALES
|
|
Aucune n'est nécessaire, mais certaines peuvent être très utiles.
|
|
.TP
|
|
.B \-P0
|
|
Ne pas essayer de ping sur les hôtes avant de les analyser.
|
|
Cela permet l'analyse des réseaux qui ne permettent pas les requêtes
|
|
ou les réponses ICMP à travers leurs pare-feux.
|
|
Microsoft.com en est un exemple, et vous devez
|
|
toujours utiliser
|
|
.B \-P0
|
|
ou
|
|
.B \-PT80
|
|
pour faire une analyse de port sur microsoft.com.
|
|
.TP
|
|
.B \-PT
|
|
Utilise TCP "ping" pour déterminer les hôtes actifs. Au lieu
|
|
d'envoyer une requête d'écho ICMP et d'attendre une réponse, nous
|
|
envoyons des paquets TCP ACK dans le réseau cible
|
|
(ou contre une machine) et attendons des réponses pour conclure.
|
|
Les hôtes devraient répondre par un
|
|
RST. Cette option préserve l'efficacité des scan
|
|
des hôtes qui sont actifs mais autorise l'analyse des
|
|
hôtes/réseaux qui bloquent les paquets de ping.
|
|
Pour les utilisateurs non root,
|
|
nous utilisons connect(). Pour spécifier le port de destination
|
|
du test utilisez -PT<port number>. Le port par défaut est
|
|
80, car ce port n'est pas souvent filtré.
|
|
.TP
|
|
.B \-PS
|
|
Cette option utilise des paquets SYN (demande de connexion) à la place
|
|
des paquets ACK pour les utilisateurs ROOT. Les hôtes actifs devrait répondre
|
|
par un RST (ou, rarement par un SYN | ACK).
|
|
.TP
|
|
.B \-PI
|
|
Cette option utilise un véritable paquet ping (requête d'écho ICMP).
|
|
Il recherche les hôtes actifs et aussi regarde les adresses
|
|
de diffusion des sous-réseaux. Il y a des adresses IP
|
|
qui sont joignable de l'extérieur et qui sont traduites
|
|
en une diffusion de paquet entrant dans un réseau.
|
|
Ça devrait être supprimé, si découvert, car ça permet un grand nombre
|
|
d'attaques de déni de service.
|
|
.TP
|
|
.B \-PP
|
|
utilise un paquet ICMP de requête d'estampille temporelle (code 13) pour
|
|
déterminer les hôtes qui écoutent.
|
|
.TP
|
|
.B \-PM
|
|
Fait la même chose que
|
|
.B \-PI
|
|
et
|
|
.B \-PP
|
|
sauf qu'il utilise une requête de masque de sous-réseau (ICMP code 17).
|
|
.TP
|
|
.B \-PB
|
|
C'est le ping par défaut. Il utilise les balayages ACK (
|
|
.B \-PT
|
|
) et ICMP (
|
|
.B \-PI
|
|
) en parallèle. De cette manière, vous pouvez passer les pare-feux qui ne filtrent
|
|
que l'un des deux types de paquets.
|
|
.TP
|
|
.B \-O
|
|
Cette option active l'identification de l'hôte distant via l'empreinte
|
|
TCP/IP. Autrement dit, nmap utilise un ensemble de techniques
|
|
pour détecter les subtilités dans la pile réseau du système d'exploitation
|
|
de l'ordinateur que vous êtes en train d'analyser. Il utilise ces informations
|
|
pour créer une «\ empreinte\ » qui est comparée avec sa base de données
|
|
d'empreintes connues (le fichier nmap-os-fingerprints) pour retrouver le type
|
|
de système que vous êtes en train d'analyser.
|
|
.Sp
|
|
Si Nmap est incapable de deviner le système d'exploitation de la machine,
|
|
et que les conditions sont bonnes (par exemple, au moins un port est ouvert)
|
|
Nmap fournira une URL que vous pourrez utiliser pour soumettre si vous
|
|
connaissez avec certitude le nom du système d'exploitation à qui appartient
|
|
cette nouvelle empreinte.
|
|
Vous contribuerez ainsi à augmenter le nombre de systèmes d'exploitations
|
|
détectable par nmap et la la précision de la détection. Si vous laissez
|
|
une adresse IP dans le formulaire, la machine pourra être analysée lorsque
|
|
nous ajouterons l'empreinte (pour valider que ça marche).
|
|
.Sp
|
|
L'option \-O active aussi plusieurs autres tests. L'un d'entre eux est la mesure
|
|
de «\ uptime\ » (durée écoulée depuis le dernier redémarrage du système), qui utilise l'estampille TCP (RFC 1323) pour deviner la date du
|
|
dernier redémarrage de la machine. Ceci n'est rapporté que pour les machines
|
|
qui fournissent cette information.
|
|
.Sp
|
|
Un autre test activé par \-O est la classification de la prédiction
|
|
de la séquence TCP. C'est une mesure qui décrit approximativement la difficulté
|
|
d'établir une connexion TCP forgée contre l'hôte distant. C'est utile
|
|
pour exploiter les relations de confiances fondées sur l'IP source
|
|
(rlogin, firewall filters, etc) ou pour cacher la source d'une attaque.
|
|
La valeur réelle de la difficulté est calculée sur un échantillon et peut
|
|
fluctuer. Il est généralement plus approprié d'utiliser une classification
|
|
par nom tel que «\ worthy challenge\ » ou «\ trivial joke\ ». Ceci n'est
|
|
rapporté dans la sortie normale qu'avec l'option -v.
|
|
.Sp
|
|
Si le mode verbeux (\-v) est activé en même temps que \-O,
|
|
la génération de séquence IPID est aussi rapportée.
|
|
La plupart des machines appartiennent à la classe incrémentale,
|
|
ce qui signifie qu'elle incrémente le champ ID dans l'entête
|
|
IP pour chaque paquet envoyé. Ce qui les rend vulnérables
|
|
à la collecte d'information avancée et aux attaques par
|
|
usurpation.
|
|
.TP
|
|
.B \-I
|
|
Active l'analyse TCP reverse ident. Dave Goldsmith
|
|
dans un message à Bugtraq en 1996, a fait remarquer que le protocole
|
|
ident (rfc 1413) autorise la découverte du nom d'utilisateur qui
|
|
possède un processus connecté via TCP, même si le processus n'est pas à
|
|
l'instigateur de la connexion. Vous pouvez ainsi vous connecter au port
|
|
http et utiliser identd pour découvrir si le serveur tourne sous root.
|
|
Ceci ne peut être fait qu'avec une connexion TCP complète sur le port cible
|
|
(i.e. l'option d'analyse -sT). Quand
|
|
.B \-I
|
|
est utilisé, l'identd de l'hôte distant est interrogé pour chaque port
|
|
ouvert trouvé. Évidemment ça ne fonctionne pas si l'hôte n'utilise pas identd.
|
|
.TP
|
|
.B \-f
|
|
Cette option oblige les analyses FIN, XMAS, ou NULL
|
|
à utiliser de petit paquets IP fragmentés. L'idée est de partager
|
|
l'entête TCP en plusieurs paquets pour rendre leurs détections plus difficile
|
|
par les filtres et les systèmes de détection d'intrusion, et les autres
|
|
enquiquineurs qui tentent de détecter ce que vous êtes en train de faire.
|
|
Faites attention avec ceci, certains programmes ont des difficultés avec ces
|
|
petits paquets. Mon sniffer favori plante immédiatement lorsqu'il reçoit le
|
|
premier fragment de 36 octets.
|
|
Cette option est inefficace contre les filtreurs de paquets et les pare-feux
|
|
qui réassemblent les fragments IP
|
|
(comme l'option CONFIG_IP_ALWAYS_DEFRAG dans le noyau Linux),
|
|
certains réseaux ne peuvent pas supporter cette perte de performance
|
|
et ne réassemblent pas les paquets.
|
|
.Sp
|
|
Remarquez que je n'ai pas encore fait fonctionner cette option sur tous les
|
|
systèmes. Ça marche parfaitement sur les machines Linux, FreeBSD et OpenBSD
|
|
et certaines personnes m'ont rapporté leurs succès avec d'autres saveurs
|
|
d'Unix.
|
|
.TP
|
|
.B \-v
|
|
Mode verbeux. C'est une option hautement recommandée qui fournit beaucoup
|
|
d'informations sur ce que vous êtes en train de faire. Vous pouvez l'utiliser
|
|
deux fois pour un effet plus important. Utiliser
|
|
.B \-d
|
|
une paire de fois si vous voulez vraiment devenir fou avec le défilement de
|
|
l'écran\ !
|
|
.TP
|
|
.B \-h
|
|
Cette option affiche un bref récapitulatif des options de nmap.
|
|
Comme vous l'avez sans doute remarqué, cette page de manuel n'est pas vraiment
|
|
un «\ bref récapitulatif\ ». :)
|
|
.TP
|
|
.B \-oN <logfilename>
|
|
Enregistre les résultats de vos analyses dans un
|
|
format
|
|
.B lisible par un humain
|
|
dans le fichier spécifié en argument.
|
|
.TP
|
|
.B \-oX <logfilename>
|
|
Enregistre le résultat de vos analyses dans un format
|
|
.B XML
|
|
dans le fichier spécifié en argument. Ceci permet à des programmes
|
|
d'interpréter facilement les résultats de nmap.
|
|
Vous pouvez donner l'argument '\fB-\fR' (sans les guillemets) pour envoyer la sortie sur la sortie standard
|
|
(pour les pipelines shells, etc).
|
|
Dans ce cas la sortie normale sera supprimée.
|
|
Regardez attentivement les messages d'erreurs si vous utilisez ceci (ils sont
|
|
encore envoyés sur la sortie d'erreur standard).
|
|
Notez aussi que \fB-v\fR peut afficher des informations supplémentaires.
|
|
La définition de type de document (DTD) définissant la structure de la sortie
|
|
XML est disponible à http://www.insecure.org/nmap/data/nmap.dtd .
|
|
.TP
|
|
.B \-oG <logfilename>
|
|
Enregistre les résultats de vos analyses dans une forme adaptée pour
|
|
.B grep.
|
|
Ce format simple fournit toutes les informations sur une ligne. C'est le
|
|
mécanisme préféré des programmes qui interagissent avec nmap, mais désormais nous
|
|
recommandons plutôt la sortie XML (-oX). Ce format simple ne contient pas autant d'informations
|
|
que les autres formats. Vous pouvez donner l'argument «\fB-\fR» (sans les guillemets) pour envoyer la sortie sur la sortie standard
|
|
(pour les pipelines shells, etc).
|
|
Dans ce cas la sortie normale sera supprimée.
|
|
Regardez attentivement les messages d'erreurs si vous utilisez ceci (ils sont
|
|
encore envoyés sur la sortie d'erreur standard).
|
|
Notez aussi que \fB-v\fR peut afficher des informations supplémentaires.
|
|
.TP
|
|
.B \-oA <logfilename>
|
|
indique à nmap d'enregistrer dans tous les formats majeurs (normal, grep et
|
|
XML). Vous fournissez le préfixe du nom de fichier et les sorties auront
|
|
respectivement les suffixes .nmap, .gnmap et .xml .
|
|
.TP
|
|
.B \-oS <logfilename>
|
|
enregistre les résultats de vos analyses en format
|
|
.B script kiddie
|
|
(NdT\ : C'est un langage dans lequel certaines lettres sont remplacées par des chiffres/symboles
|
|
typiquement exemple A devient 4, E devient 3, etc. Cette langue est utilisée par
|
|
les «\ cowboyz\ » d'Internet.
|
|
Cette population folklorique amuse beaucoup les autres internautes, au point qu'il existe une option pour eux dans nmap)
|
|
V0u$ poUV3z dOnn3r l'4rgUm3nt '\fB-\fR' (s4ns l3$ guIll3m3ts) poUr 3nvoy3r l4 sOrti3 sUr l4 $orti3 $t4nd4rd.
|
|
.TP
|
|
.B \--resume <logfilename>
|
|
L'analyse d'un réseau qui a été annulée par un Ctrl-C, problème de réseau, etc.
|
|
peut être reprise en utilisant cette option.
|
|
logfilename doit être soit un log normal (-oN) soit
|
|
un log lisible par une machine (-oM) d'une analyse avortée.
|
|
Aucune autre option ne peut être donnée (ce sont obligatoirement les mêmes que
|
|
celles du scan avorté).
|
|
Nmap démarrera sur la machine après la dernière machine qui a été analysée avec succès dans le
|
|
fichier de log.
|
|
.TP
|
|
.B \--append_output
|
|
indique à Nmap d'écrire à la fin des fichiers de sortie au lieu de les écraser.
|
|
.TP
|
|
.B \-iL <inputfilename>
|
|
Lit les spécifications de la cible depuis le fichier spécifié
|
|
plutôt que depuis la ligne de commande. Le fichier doit contenir une liste
|
|
d'hôtes, d'expressions de réseaux séparées par des espaces, tabulations ou retour chariots.
|
|
Utilisez le tiret
|
|
pour lire depuis stdin (comme la fin d'un pipe).
|
|
Voyez la section \fIspécification de cible\fR
|
|
pour plus d'information sur les expressions que vous pouvez mettre dans le fichier.
|
|
.TP
|
|
.B \-iR
|
|
Cette option indique à Nmap de générer ses propres hôtes
|
|
à analyser par tirage aléatoire :). Ça ne finit jamais.
|
|
Ça peut être utile pour un échantillon d'Internet pour estimer diverses choses.
|
|
Si vous vous ennuyez, essayez
|
|
.I nmap \-sS \-iR \-p 80
|
|
pour rechercher des serveurs web à regarder.
|
|
.TP
|
|
.B \-p <port ranges>
|
|
Cette option spécifie les ports que vous voulez essayer.
|
|
Par exemple '-p 23' n'essayera que le port 23 of de l'hôte
|
|
cible. '\-p 20-30,139,60000-' analysera les ports entre 20 et 30, le port
|
|
139, et tous les ports supérieurs à 60000. Le comportement par défaut est d'analyser tous
|
|
les ports de 1 à 1024 ainsi que tous les ports listés dans les fichiers de services fournis avec nmap.
|
|
Pour l'analyse par IP (-sO), ceci spécifie le numéro de protocole que vous voulez analyser
|
|
.Sp
|
|
Lorsque vous scannez les ports TCP et UPD vous pouvez spécifier un protocole
|
|
particulier en préfixant les numéros de ports par «\ T\ »: ou «\ U:\ ».
|
|
L'effet du spécificateur dure jusqu'à ce que vous en spécifiez un autre.
|
|
Par exemple, l'argument «\ -p U:53,111,137,T:21-25,80,139,8080\ »
|
|
scannera les ports UDP 53, 111 et 137 ainsi que les ports TCP mentionnés.
|
|
Remarquez que pour scanner UDP et TCP, vous devez spécifier -sU et au moins une
|
|
analyse TCP (telle que -sS, -sF ou -sT). Si aucune spécification de
|
|
protocole n'est indiquée, les numéros de ports sont ajoutés à tous les
|
|
protocoles.
|
|
.TP
|
|
.B \-F Fast scan mode.
|
|
Spécifie que vous ne voulez analyser que les ports listés
|
|
dans le fichier des services livré avec nmap (ou le fichier des protocoles pour
|
|
-sO).
|
|
C'est évidemment plus rapide que d'analyser les 65535 ports d'un hôte.
|
|
.TP
|
|
.B \-D <decoy1 [,decoy2][,ME],...>
|
|
réalise un scan avec leurres. Du point de vue de l'hôte distant, les hôtes
|
|
leurres apparaîtront comme s'ils analysaient aussi le réseau cible. Ainsi,
|
|
les systèmes de détection d'intrusion ne pourront pas savoir parmi l'ensemble
|
|
des IP qui semblent les scanner quelle est l'IP qui effectue réellement
|
|
l'analyse et quelles IP ne sont en réalité que d'innocent leurres.
|
|
Bien que ceci puisse être contré par
|
|
path tracing, response-dropping, et d'autres mécanismes actifs,
|
|
c'est généralement une technique efficace pour dissimuler son adresse IP.
|
|
.Sp
|
|
Séparez chaque hôte-leurre par des virgules, et vous pouvez optionnellement
|
|
utiliser '\fBME\fR' (Moi) comme l'un des leurres pour représenter
|
|
la position que vous voulez utiliser pour votre adresse.
|
|
Si vous utilisez '\fBME\fR' au delà de la 6ème position, la plupart des détecteurs de scan
|
|
(même l'excellent scanlogd de Solar Designer) seront incapables de voir votre adresse IP.
|
|
Si vous n'utilisez pas '\fBME\fR', nmap choisira une position aléatoire.
|
|
.Sp
|
|
Remarquez que les hôtes leurres doivent être actifs
|
|
ou vous risquez accidentellement de faire une inondation SYN sur vos cibles.
|
|
Il est aussi presque facile de déterminer qui est en train de scanner si seul une
|
|
seule machine est active sur le réseau. Vous pouvez vouloir utiliser des adresses IP
|
|
à la place des noms (ainsi les réseaux leurres ne vous verront pas dans les logs du serveurs de nom).
|
|
.Sp
|
|
Remarquez également que quelques détecteurs (stupides) de scan bloqueront
|
|
les hôtes qui tentent des scans de ports. Aussi vous pouvez par inadvertance
|
|
bloquer l'accès des machines leurres à la machine cible.
|
|
Ceci peut provoquer de grave problèmes aux machines cibles si le leurre s'avère être
|
|
sa passerelle internet ou même «\ localhost\ ». Il faut donc utiliser prudemment cette option.
|
|
La vraie morale de cette histoire est que les détecteurs de scan ne doivent pas prendre de
|
|
mesures contre les machines qui semblent les analyser, car il se peut que ce soit des leurres\ !
|
|
.Sp
|
|
Les leurres sont utilisés pour le scan initial (en utilisant ICMP,
|
|
SYN, ACK, ou autre chose) et pendant la véritable phase de scan. Les leurres sont aussi
|
|
utilisés pendant la détection de l'hôte distant (
|
|
.B \-O
|
|
).
|
|
.Sp
|
|
Il ne faut pas oublier que d'utiliser un trop grand nombre de leurres
|
|
peut ralentir
|
|
le scan et même le rendre imprécis. De plus certains
|
|
fournisseurs d'accès à Internet (FAI) filtreront vos paquets usurpés, bien que la plupart
|
|
n'applique aucune restriction sur les paquets usurpés.
|
|
.TP
|
|
.B \-S <adresse_ip>
|
|
Dans certaines circonstances,
|
|
.I nmap
|
|
est incapable de déterminer l'adresse source.
|
|
.I Nmap
|
|
vous avertira si c'est le cas). Dans cette situation, utilisez
|
|
\-S avec votre adresse IP (ou l'interface depuis laquelle vous voulez envoyer les paquets).
|
|
.Sp
|
|
Une autre utilisation possible de ce drapeau est d'usurper le scan pour faire croire
|
|
aux cibles que
|
|
.B quelqu'un d'autre les scanne.
|
|
Imaginez une entreprise qui se croit régulièrement scannée par un concurrent\ !
|
|
Ce n'est pas l'utilisation première ni le but principal de ce drapeau.
|
|
Je pense que c'est juste une possibilité intéressante pour les personnes qui sont au courant
|
|
avant qu'elles n'en accusent d'autres de les scanner.
|
|
.B \-e
|
|
est généralement requis pour ce type d'utilisation.
|
|
.TP
|
|
.B \-e <interface>
|
|
indique l'interface réseau à utiliser pour envoyer et recevoir les paquets.
|
|
\fBNmap\fR devrait être capable de détecter ceci mais il vous préviendra s'il n'y parvient pas.
|
|
.TP
|
|
.B \-g <portnumber>
|
|
Spécifie le numéro de port source dans le scan.
|
|
Beaucoup de pare-feux et de filtreur de paquets naïfs
|
|
feront une exception dans leurs règles pour autoriser le passage des paquets
|
|
DNS (53) ou FTP-DATA (20) pour établir une connexion.
|
|
Évidemment ça réduit complètement les avantages de sécurité d'un pare-feu
|
|
puisque les intrus n'ont qu'à se déguiser en FTP ou DNS en modifiant leur
|
|
port source. Évidemment pour un scan UDP vous devriez utiliser
|
|
53 en premier et pour les scans TCP vous devriez utiliser
|
|
20 avant 53.
|
|
Remarquer que ce n'est qu'une requête -- nmap ne le fera que s'il y parvient.
|
|
Par exemple, vous ne pouvez pas faire des analyse en parallèle avec un seul port.
|
|
Aussi \fBnmap\fR changera le port source même si vous utilisez \fB-g\fR.
|
|
.Sp
|
|
Sachez qu'il y a une petite pénalité de performance sur certains scans si vous utilisez
|
|
cette option, parce que j'enregistre parfois des informations utiles dans le numéro de port
|
|
source.
|
|
.TP
|
|
.B \--data_length <nombre>
|
|
Normalement nmap envoie des paquets minimalistes qui ne contiennent que l'en-tête.
|
|
Ainsi, les paquets TCP font 40 octets et les requêtes d'écho ICMP, 28 octets.
|
|
Cette option indique à Nmap d'ajouter le nombre spécifié d'octets initialisés à 0
|
|
à la plupart des paquets qu'il envoie. La détection de système d'exploitation
|
|
(-O) n'est pas affectée, mais la plupart des paquets de ping et de scan de port
|
|
le sont. Ça ralentit les choses, mais ça peut être un peu moins voyant.
|
|
.TP
|
|
.B \-n
|
|
Dit à Nmap de ne
|
|
.B JAMAIS
|
|
faire de résolution DNS inverse sur une adresse IP active. Comme DNS est
|
|
souvent lent,
|
|
ça peut aider à accélérer les choses.
|
|
.TP
|
|
.B \-R
|
|
Dit à Nmap de
|
|
.B TOUJOURS
|
|
faire la résolution DNS inverse des adresses IP cibles. Normalement
|
|
ceci n'est fait que pour les machines vivantes.
|
|
.TP
|
|
.B \-r
|
|
Dit à Nmap
|
|
.B DE NE PAS
|
|
changer aléatoirement l'ordre dans lequel les ports seront analysés.
|
|
.TP
|
|
.B \-\-randomize_hosts
|
|
Dit à nmap de mélanger chaque groupe comprenant jusqu'à 2048 hôtes avant de les analyser.
|
|
Ceci rend les scans moins évidents à de nombreux systèmes de surveillance réseau,
|
|
particulièrement quand vous le combinez avec des options
|
|
pour ralentir le timing (voir ci-dessous).
|
|
.TP
|
|
.B \-M <max sockets>
|
|
Spécifie le nombre maximum de sockets qui seront utilisés en parallèle
|
|
pour le scan TCP connect() (celui par défaut). C'est utile pour
|
|
ralentir légèrement le scan et éviter de crasher les machines cibles. Une autre
|
|
approche consiste à utiliser \fB-sS\fR, qui est généralement plus facile à gérer
|
|
pour les machines.
|
|
.TP
|
|
.B OPTIONS TIMING
|
|
généralement nmap parvient à s'ajuster correctement
|
|
aux caractéristiques du réseau et à analyser aussi vite que possible
|
|
tout en minimisant la probabilité d'être détecté.
|
|
Cependant, il y a des cas où les timings par défaut
|
|
de Nmap ne correspondent pas à vos objectifs. Les options suivantes
|
|
permettent un contrôle fin des timings\ :
|
|
.TP
|
|
.B -T <Paranoid | Sneaky | Polite | Normal | Aggressive | Insane>
|
|
Ce sont les différentes politiques de timing pour communiquer de
|
|
manière pratique vos priorités à nmap.
|
|
|
|
.B Paranoid
|
|
analyse
|
|
.B très lentement
|
|
dans l'espoir d'éviter d'être repéré par les système de détection d'intrusion.
|
|
Il sérialise tous les scans (pas de scan parallèle) et attend au moins
|
|
5 minutes entre les envois de paquets.
|
|
|
|
.B Sneaky
|
|
c'est la même chose, sauf qu'il attend 15 secondes entre les envois de paquets.
|
|
|
|
.B Polite
|
|
essaye de minimiser la charge sur le réseau et de réduire la probabilité de
|
|
crasher des machines. Il sérialises les test et attend
|
|
.B au moins
|
|
0,4 secondes entre chaque.
|
|
|
|
.B Normal
|
|
c'est le comportement par défaut de Nmap, qui essaye de s'exécuter aussi
|
|
vite que possible sans surcharger le réseau ou oublier des
|
|
hôtes/ports.
|
|
|
|
.B Aggressive
|
|
ajoute un décompte de 5 minutes par hôte et n'attends jamais les réponses
|
|
individuelles plus de 1.25 secondes.
|
|
|
|
.B Insane
|
|
ne convient qu'aux réseaux ultra-rapides où vous ne risquez par de perdre
|
|
d'informations. Il ajoute un décompte de 75
|
|
secondes et n'attend les réponses individuelles que pendant
|
|
0,3 secondes. Il permet de balayer très rapidement les réseaux.
|
|
Vous pouvez aussi référencer ces modes par numéro (0-5).
|
|
Par exemple, '-T 0' donne le mode Paranoid et '-T 5' le mode Insane.
|
|
.Sp
|
|
Ces modes timings NE devrait PAS être utiliser en combinaison avec les contrôles
|
|
de bas niveau donnés ci-dessous.
|
|
.TP
|
|
.B --host_timeout <millisecondes>
|
|
Spécifie la durée que \fBnmap\fR est autorisée à consacrer
|
|
à l'analyse d'un hôte unique avant d'abandonner cette IP.
|
|
Par défaut il n'y a pas de temps limite pour un hôte.
|
|
.TP
|
|
.B --max_rtt_timeout <millisecondes>
|
|
Spécifie la durée maximale que \fBnmap\fR peut laisser s'écouler en attendant
|
|
une réponse à ses tests avant de retransmettre ou de laisser tomber.
|
|
La valeur par défaut est 9\ 000.
|
|
.TP
|
|
.B --min_rtt_timeout <millisecondes>
|
|
Quand les hôtes cibles commencent à établir un modèle de réponse très
|
|
rapidement, \fBnmap\fR diminuera la durée accordée par test.
|
|
Ceci augmente la vitesse du scan, mais peut conduire à la perte de paquets
|
|
quand une réponse prend plus de temps que d'habitude.
|
|
Avec ce paramètre vous pouvez garantir que \fBnmap\fR attende au moins
|
|
une certaine durée avant de laisser tomber un test.
|
|
.TP
|
|
.B --initial_rtt_timeout <millisecondes>
|
|
Spécifie le décompte du test initial. Ce n'est généralement utile
|
|
que lors de l'analyse d'hôte derrière un pare-feu avec -P0.
|
|
Normalement \fBnmap\fR obtient de bonnes estimations à partir
|
|
du ping et des premiers tests. Le mode par défaut est 6\ 000.
|
|
.TP
|
|
.B --max_parallelism <nombre>
|
|
Spécifie le nombre maximum de scans que \fBnmap\fR est autorisé à mener en parallèle.
|
|
Positionner ceci à 1 signifie que \fBnmap\fR n'essayera jamais de
|
|
scanner plus d'un port à la fois. Ce nombre affecte aussi les autres scans
|
|
parallèle comme le balayage de ping, RPC scan, etc.
|
|
.TP
|
|
.B --scan_delay <millisecondes>
|
|
Spécifie la durée
|
|
.B minimum
|
|
que \fBnmap\fR doit laisser s'écouler entre ses envois. C'est utile pour réduire la
|
|
charge du réseau ou pour ralentir le débit du scan afin de ne pas atteindre
|
|
le seuil de déclenchement des systèmes de détection d'intrusion.
|
|
|
|
.SH SPÉCIFICATION DE CIBLE
|
|
Tout ce qui n'est pas une option ou un argument d'option
|
|
est traité par nmap comme une spécification d'hôte.
|
|
Le cas le plus simple et une liste de nom d'hôtes ou d'adresse IP sur la ligne
|
|
de commande.
|
|
Si vous voulez analyser un sous réseau d'adresses IP vous pouvez ajouter
|
|
.B '/mask'
|
|
au nom d'hôtes
|
|
.B mask
|
|
doit être compris entre 0 (scanner tout internet) et 32 (scanner un seul
|
|
hôte). Utiliser /24 pour analyser des adresses de classe 'C'
|
|
et /16 pour la classe 'B'.
|
|
.Sp
|
|
\fBNmap\fR utilise une notation puissante pour spécifier une adresse IP
|
|
en utilisant des listes/intervalles pour chaque élément.
|
|
Ainsi vous pouvez analyser tout un réseau de classe B
|
|
192.168.*.* en spécifiant '192.168.*.*' ou '192.168.0-255.0-255' ou
|
|
même '192.168.1-50,51-255.1,2,3,4,5-255'. Et bien sûr, vous pouvez utiliser
|
|
la notation mask : '192.168.0.0/16'. Elles sont toutes équivalentes
|
|
Si vous utilisez des astérisques ('*'), souvenez-vous que la plupart des
|
|
shells nécessitent que vous les précédiez par des anti-slash ou que vous les
|
|
protégiez par des guillemets.
|
|
.Sp
|
|
Une autre chose intéressante à faire et de découper Internet\ :
|
|
au lieu de scanner les hôtes dans une classe 'B',
|
|
scanner '*.*.5.6-7' pour analyser toutes les adresses IP se terminant
|
|
par .5.6 ou .5.7. Pour plus d'informations sur la spécification
|
|
des hôtes à analyser, voyez la section
|
|
.I exemples.
|
|
.SH EXEMPLES
|
|
Voici quelques exemples d'utilisation de \fBnmap\fR du plus simple au plus compliqué.
|
|
Remarquez que les noms et adresses sont utilisées pour rendre les choses
|
|
plus concrètes. À leur place vous devriez substituer les noms et adresses
|
|
de
|
|
.B votre propre réseau.
|
|
Je ne pense pas que l'analyse de ports d'autres réseaux soit illégale, ni
|
|
que l'analyse de ports doit être considérée par les autres comme une attaque.
|
|
J'ai analysé des centaines de milliers de machines et je n'ai reçu
|
|
qu'une seule plainte. Mais je ne suis pas juriste et certaines personnes pourraient
|
|
être ennuyées par les tests de
|
|
.I nmap.
|
|
Aussi demandez préalablement la permission ou utilisez \fBnmap\fR
|
|
à vos risques et périls.
|
|
.Sp
|
|
.B nmap -v cible.exemple.com
|
|
.Sp
|
|
Cette option analyse tous les ports TCP réservés sur la machine
|
|
cible.exemple.com . Le \-v signifie d'activer le mode verbeux.
|
|
.Sp
|
|
.B nmap -sS -O cible.exemple.com/24
|
|
.Sp
|
|
Envoie un scan SYN furtif contre chaque machine active parmi
|
|
les 255 machines de classe 'C' qui sont sur cible.exemple.com.
|
|
Il essaye aussi de déterminer quel système d'exploitation fonctionne sur
|
|
chaque hôte. Ceci nécessite les privilèges root en raison du scan SYN et
|
|
de la détection de système d'exploitation.
|
|
.Sp
|
|
.B nmap -sX -p 22,53,110,143,4564 "198.116.*.1-127"
|
|
.Sp
|
|
Envoie un scan Xmas tree à la première moitié
|
|
de chacun des 255 sous-réseaux de l'espace d'adresse de classe B
|
|
198.116. Nous sommes en train de tester si les systèmes font fonctionner sshd,
|
|
DNS, pop3d, imapd, ou port 4564. Remarquez que les scan Xmas
|
|
ne fonctionnent pas contre les machines Microsoft en raison de leur pile TCP
|
|
déficiente. Le même problème se produit aussi avec les machines
|
|
CISCO, IRIX, HP/UX, et BSDI.
|
|
.Sp
|
|
.B nmap -v --randomize_hosts -p 80 '*.*.2.3-5'
|
|
.Sp
|
|
Plutôt que de se concentrer sur une plage spécifique d'IP,
|
|
il est parfois intéressant de découper l'ensemble d'Internet et
|
|
d'analyser un petit échantillon de chaque tranche. Cette commande
|
|
trouve tous les serveurs web sur des machines dont l'adresse IP
|
|
se termine par .2.3, .2.4 ou .2.5 .
|
|
Si vous êtes root, vous pouvez aussi ajouter \fB-sS\fR.
|
|
Vous trouverez plus de machine intéressantes en commençant à 127, aussi
|
|
vous utiliserez '127-222' à la place de la première astérisque
|
|
car cette section possède une plus grande densité de machine intéressantes.
|
|
.Sp
|
|
.B host -l company.com | cut '-d ' -f 4 | ./nmap -v -iL -
|
|
.Sp
|
|
Fait un transfert DNS pour découvrir les hôtes de company.com
|
|
et utiliser leurs adresses IP pour alimenter
|
|
\fInmap\fR.
|
|
Les commandes ci-dessus sont pour mon ordinateur GNU/Linux.
|
|
Vous pouvez avoir besoin d'autres commandes/options pour d'autres systèmes d'exploitations.
|
|
.SH BOGUES
|
|
Bogues\ ? Quels bogues\ ? Envoyez-moi tout ce que vous trouverez.
|
|
Les patchs sont les bienvenus. Souvenez-vous
|
|
que vous pouvez aussi envoyer les empreintes de nouveaux systèmes
|
|
d'exploitation pour enrichir la base de données.
|
|
Si une empreinte appropriée est trouvée, Nmap
|
|
affichera l'URL à laquelle vous pourrez l'envoyer.
|
|
.SH AUTEUR
|
|
.Sp
|
|
Fyodor
|
|
.I <fyodor@insecure.org>
|
|
.SH DISTRIBUTION
|
|
La dernière version de
|
|
.I nmap
|
|
peut être obtenu depuis
|
|
.I http://www.insecure.org/nmap/
|
|
.Sp
|
|
.I nmap
|
|
est (C) 1995-2001 par Insecure.Com LLC
|
|
.Sp
|
|
.I libpcap
|
|
est aussi distribuée avec nmap. Il est copyrighté par
|
|
Van Jacobson, Craig Leres et Steven McCanne, tous du
|
|
Lawrence Berkeley National Laboratory, University of
|
|
California, Berkeley, CA. La version distribuée avec nmap
|
|
peut être modifiée, les sources d'origine sont disponibles
|
|
à ftp://ftp.ee.lbl.gov/libpcap.tar.Z .
|
|
.Sp
|
|
Ce programme est un logiciel libre, vous pouvez
|
|
le redistribuer et/ou le modifier sous les termes de la
|
|
GNU General Public License telle que publiée par
|
|
par la Free Software Foundation\ ;
|
|
Version 2. Ceci garantit votre droit d'utiliser, modifier
|
|
et redistribuer Nmap sous certaines conditions.
|
|
Si cette licence est inacceptable pour vous, Insecure.Org
|
|
pourrait éventuellement vendre d'autres licences.
|
|
(contacter \fBfyodor@dhp.com\fR).
|
|
.Sp
|
|
Les sources sont fournies avec ce logiciel
|
|
car nous croyons que les utilisateurs ont le droit de savoir exactement ce que
|
|
fait un programme avant de le lancer. Ceci vous permet aussi d'auditer le
|
|
logiciel pour rechercher des trous de sécurité
|
|
(aucun n'a été trouvé jusqu'à présent).
|
|
.Sp
|
|
Le code source vous permet aussi de porter Nmap vers de nouvelles plates-formes,
|
|
corriger des bogues et ajouter de nouvelles caractéristiques.
|
|
Vous êtes vivement encouragé à envoyer vos modifications
|
|
à \fBfyodor@insecure.org\fR pour une éventuelle incorporation dans
|
|
la distribution principale. En envoyant ces modifications à
|
|
Fyodor ou à quelqu'un de la liste de diffusion de développement
|
|
de insecure.org, il est supposé que vous offrez à
|
|
Fyodor le droit illimité et non exclusif de réutiliser,
|
|
modifier et relicencier le code. C'est important parce que l'impossibilité
|
|
de relicencier le code a provoqué des problèmes dévastateurs dans d'autres
|
|
projets de logiciel libre (comme KDE et NASM).
|
|
Nmap sera toujours disponible en Open Source.
|
|
Si vous désirez spécifier des conditions particulières de licence pour vos
|
|
contributions, dites-le nous simplement quand vous nous les envoyez.
|
|
.Sp
|
|
Ce programme est distribué dans l'espoir d'être utile, mais
|
|
.B SANS AUCUNE GARANTIE
|
|
même la garantie implicite relative à la
|
|
.B QUALITÉ MARCHANDE
|
|
ou
|
|
.B D'APTITUDE À UNE UTILISATION PARTICULIÈRE.
|
|
Voir la licence GPL (c'est le fichier COPYING de la
|
|
distribution \fInmap\fR.
|
|
.Sp
|
|
Remarque\ : Nmap a déjà fait planter certaines
|
|
applications, des piles TCP/IP et même des systèmes d'exploitations mal écrits.
|
|
Par conséquent
|
|
.B Nmap ne devrait jamais être utilisé contre des systèmes qui ont une mission
|
|
critique à moins que vous ne soyez prêt à souffrir d'une éventuelle
|
|
interruption de service. Nous reconnaissons ici que \fbnmap\fR
|
|
peut crasher vos systèmes et réseaux mais nous ne sommes pas responsables
|
|
des dégâts que Nmap pourrait provoquer.
|
|
.Sp
|
|
En raison du léger risque de crashs et parce que quelques personnes
|
|
mal intentionnées utilisent nmap pour les reconnaissances préliminaires à une
|
|
attaque, certains administrateurs deviennent furieux et se plaignent quand leurs
|
|
systèmes sont scannés. C'est pourquoi il est plus sage de demander la permission
|
|
avant de lancer l'analyse d'un réseau.
|
|
.Sp
|
|
Nmap ne devrait jamais être lancé avec des privilèges (par exemple suid root)
|
|
pour des raisons de sécurité.
|
|
.Sp
|
|
Toutes les versions de Nmap postérieures à la 2.0 sont compatibles
|
|
an 2000. Il n'y a aucune raison de penser que les versions antérieures ont des
|
|
problèmes, mais nous ne les avons pas testées.
|
|
.SH TRADUCTION
|
|
Sébastien Blanchet, 2002 <sebastien.blanchet AT free.fr>
|
|
.SH RELECTURE
|
|
Gérard Delafond
|