Nmap

Nmap
Nmap
LOGO Nmap.jpg
Capture8.png
Développeur Fyodor
Dernière version 5.50 (28 janvier 2011) [+/-]
Version avancée [+/-]
Environnements Multiplate-forme
Type Sécurité informatique
Licence GNU GPL
Site web nmap.org

Nmap est un scanner de ports open source créé par Fyodor et distribué par Insecure.org. Il est conçu pour détecter les ports ouverts, identifier les services hébergés et obtenir des informations sur le système d'exploitation d'un ordinateur distant. Ce logiciel est devenu une référence pour les administrateurs réseaux car l'audit des résultats de Nmap fournit des indications sur la sécurité d'un réseau. Il est disponible sous Windows, Mac OS X, Linux, BSD et Solaris.

Sommaire

Fonctionnement

Pour scanner les ports d'un ordinateur distant, Nmap utilise diverses techniques d'analyse basées sur des protocoles tels que TCP, IP, UDP ou ICMP.
De même, il se base sur les réponses particulières qu'il obtient à des requêtes particulières pour obtenir une empreinte de la pile IP, souvent spécifique du système qui l'utilise. C'est par cette méthode que l'outil permet de reconnaitre la version d'un système d'exploitation et aussi la version des services en écoute.

Le code source est disponible sous la licence GNU GPL.

Interface graphique

NmapFE, écrite au départ par Zach Smith, était l'interface graphique officielle de Nmap pour les versions 2.2 à 4.22. À partir de la version 4.23 de Nmap, NmapFE a été remplacé par Zenmap, une nouvelle interface graphique basée sur UMIT et développée par Adriano Monteiro Marques.

De nombreuses interfaces web sont également disponibles pour utiliser Nmap à partir d'un navigateur web. On peut citer LOCALSCAN, nmap-web et Nmap-CGI.
Enfin, il existe des interfaces graphiques disponibles sous Microsoft Windows. On peut citer NMapWin, qui n'est pas mis à jour depuis la version v1.4.0, et NMapW développé par Syhunt.

Options disponibles

Les options utilisables pour Nmap 4.60 sont les suivantes :

  • Spécifications des cibles :

Les cibles peuvent être spécifiées par des noms d'hôtes, des adresses IP (v4 ou v6), des adresses de réseaux…
Exemples : scanme.nmap.org, microsoft.com/24, 192.168.0.1, 10.0-255.0-255.1-254

  -iL <inputfilename>: Lit la liste des hôtes/réseaux cibles à partir du fichier
  -iR <num hosts>: Choisit les cibles au hasard
    --exclude <host1[, host2][, host3], ...>: Exclut des hôtes/réseaux du scan 
    --excludefile <exclude_file>: Exclut des hôtes/réseaux des cibles à partir du fichier
  • Découverte des hôtes :
  -sL: List Scan - Liste simplement les cibles à scanner
  -sP: Ping Scan - Ne fait que déterminer si les hôtes sont en ligne
  -P0: Considère que tous les hôtes sont en ligne -- évite la découverte des hôtes
  -PN: Considérer tous les hôtes comme étant connectés -- saute l'étape de découverte des hôtes
  -PS/PA/PU [portlist]: Découverte TCP SYN/ACK ou UDP des ports en paramètre
  -PE/PP/PM: Découverte de type requête ICMP echo, timestamp ou netmask 
  -PO [num de protocole]: Ping IP (par type)
  -n/-R: Ne jamais résoudre les noms DNS/Toujours résoudre [résout les cibles actives par défaut]
    --dns-servers <serv1[, serv2], ...>: Spécifier des serveurs DNS particuliers
    --system-dns: Utilise le résolveur DNS du système d'exploitation
  • 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 (Cette option ne fonctionne pas en IPv6)
    --scanflags <flags>: Personnalise les flags des scans TCP
  -sI <zombie host[:probeport]>: Idlescan (scan passif)
  -sO: Scan des protocoles supportés par la couche IP
  -b <ftp relay host>: Scan par rebond FTP
    --traceroute: Détermine une route vers chaque hôte
    --reason: Donne la raison pour laquelle tel port apparait à tel état
  • Spécifications des ports et ordre de scan :
  -p <plage de ports>: Ne scanne que les ports spécifiés
    Exemple: -p22; -p1-65535; -pU:53,111,137,T:21-25,80,139,8080
  -F: Fast - Ne scanne que les ports listés dans le fichier nmap-services
  -r: Scan séquentiel des ports, ne mélange pas leur ordre
    --top-ports <nombre>: Scan <nombre> de ports parmi les plus courants
    --port-ratio <ratio>: Scan <ratio> pour cent des ports les plus courants
  • Détection de service/version :
  -sV: Teste les ports ouverts pour déterminer le service en écoute et sa version
    --version-light: Limite les tests aux plus probables pour une identification plus rapide
    --version-intensity <niveau>: De 0 (léger) à 9 (tout essayer)
    --version-all: Tente un à un tous les tests possibles pour la détection des versions
    --version-trace: Affiche des informations détaillées du scan de versions (pour débogage)
  • Script scan :
  -sC: équivalent de --script=safe, intrusive
    --script=<lua scripts>: <lua scripts> est une liste de répertoires ou de scripts séparés par des virgules
    --script-args=<n1=v1,[n2=v2,...]>: passer des arguments aux scripts
    --script-trace: Montre toutes les données envoyées ou reçues
    --script-updatedb: Met à jour la base de données des scripts. Seulement fait si -sC ou --script a été aussi donné.
  • Détection de système d'exploitation :
  -O: Active la détection d'OS
    --osscan-limit: Limite la détection aux cibles prometteuses 
    --osscan-guess: Devine l'OS de façon plus agressive
  • Temporisation et performance :

Les options qui intègrent un argument de temps sont basées sur une unité de temps exprimée en millisecondes à moins que soit spécifié 's' (secondes), 'm' (minutes), ou 'h' (heures) à la valeur (par exemple : 30m).

  -T[0-5]: Choisit une politique de temporisation (plus élevée, plus rapide)
    --min-hostgroup/max-hostgroup <msec>: Tailles des groupes d'hôtes à scanner en parallèle
    --min-parallelism/max-parallelism <msec>: Parallélisation des paquets de tests (probes)
    --min_rtt_timeout/max-rtt-timeout/initial-rtt-timeout <msec>: Spécifie le temps d'aller-retour des paquets de tests
    --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Précise le round trip time des paquets de tests.
    --max-retries <tries>: Nombre de retransmissions des paquets de tests des scans de ports.
    --host-timeout <msec>: Délai d'expiration du scan d'un hôte 
    --scan-delay/--max-scan-delay <time>: Ajuste le délai entre les paquets de tests.
  • Évasion pare-feu/ids et usurpation d'identité :
  -f; --mtu <val>: Fragmente les paquets (en spécifiant éventuellement la MTU)
  -D <decoy1,decoy2[, ME], ...>: Obscurcit le scan avec des leurres
  -S <IP_Address>: Usurpe l'adresse source
  -e <iface>: Utilise l'interface réseau spécifiée
  -g/--source-port <portnum>: Utilise le numéro de port comme source
    --data-length <num>: Ajoute des données au hasard aux paquets émis
    --ip-options <options>: Envoie des paquets avec les options IP spécifiées. 
    --ttl <val>: Spécifie le champ time-to-live IP
    --spoof-mac <adresse MAC, préfixe ou nom du fabriquant>: Usurpe une adresse MAC
    --badsum: Envoie des paquets TCP/UDP avec une somme de contrôle erronée.
  • Sortie :
  -oN/-oX/-oS/-oG <file>: Sortie dans le fichier en paramètre des résultats du scan
                          au format normal, XML, s|<rIpt kIddi3 et Grepable, respectivement
  -oA <basename>: Sortie dans les trois formats majeurs en même temps
  -v: Rend Nmap plus verbeux (-vv pour plus d'effet)
  -d[level]: Sélectionne ou augmente le niveau de débogage (significatif jusqu'à 9)
    --packet-trace: Affiche tous les paquets émis et reçus
    --iflist: Affiche les interfaces et les routes de l'hôte (pour débogage)
    --log-errors: Consigne les erreurs/alertes dans un fichier-journal au format normal
    --append-output: Ajoute la sortie au fichier plutôt 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 références 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 détection du système d'exploitation et des versions
    --datadir <dirname>: Spécifie un dossier pour les fichiers de données de Nmap
    --send-eth/--send-ip: Envoie des paquets en utilisant des trames Ethernet ou des paquets IP bruts
    --privileged: Suppose que l'utilisateur est entièrement privilégié
    --unprivileged: Suppose que l'utilisateur n'a pas les privilèges d'usage des raw socket
  -V: Affiche le numéro de version
  -h: Affiche ce résumé de l'aide
  • Exemples :
Analyse de l'hôte de nom symbolique (résolvable) scanme.nmap.org pour une identification du système d'exploitation sous-jacent :
  nmap -v -A scanme.nmap.org
Analyse de deux réseaux privées de classes respectives C et A pour une découverte des hôtes en ligne :
  nmap -v -sP 192.168.0.0/16 10.0.0.0/8
Analyse du port 80 de 10 000 hôtes sélectionnés de manière aléatoire et sans découverte préalable des hôtes :
  nmap -v -iR 10000 -P0 -p 80
Analyse de l'hôte courant par son adresse locale de bouclage[1] IPv6 :
  nmap -6 0::1

Exemple de sortie

Exemple d'un scan nmap 3.83 sur un Windows 2003 Server contrôleur de domaine avec les options d'identification des services et de reconnaissance du système d'exploitation.

Starting nmap 3.83.DC13 ( http://www.insecure.org/nmap/ ) at 2006-01-25 13:26 CET
Interesting ports on zinux.aur.home (192.168.10.34):
(The 1641 ports scanned but not shown below are in state: closed)
PORT     STATE SERVICE       VERSION
7/tcp    open  echo
9/tcp    open  discard?
13/tcp   open  daytime       Microsoft Windows International daytime
17/tcp   open  qotd?
19/tcp   open  chargen
21/tcp   open  ftp?
23/tcp   open  telnet        Microsoft Windows XP telnetd
42/tcp   open  wins          Microsoft Windows Wins
53/tcp   open  domain        Microsoft DNS
80/tcp   open  http          Microsoft IIS webserver 6.0
88/tcp   open  kerberos-sec  Microsoft Windows kerberos-sec
135/tcp  open  msrpc         Microsoft Windows RPC
139/tcp  open  netbios-ssn
389/tcp  open  ldap          Microsoft LDAP server
445/tcp  open  microsoft-ds  Microsoft Windows 2003 microsoft-ds
464/tcp  open  kpasswd5?
515/tcp  open  printer       Microsoft lpd
548/tcp  open  afpovertcp?
593/tcp  open  ncacn_http    Microsoft Windows RPC over HTTP 1.0
636/tcp  open  ssl/ldap      Microsoft LDAP server
1026/tcp open  msrpc         Microsoft Windows RPC
1027/tcp open  ncacn_http    Microsoft Windows RPC over HTTP 1.0
1723/tcp open  pptp?
3268/tcp open  ldap          Microsoft LDAP server
3269/tcp open  ssl/ldap      Microsoft LDAP server
3389/tcp open  microsoft-rdp Microsoft Terminal Service
MAC Address: 00:10:5C:DE:AD:A7 (Quantum Designs (h.k.))
Device type: general purpose
Running: Microsoft Windows NT/2K/XP|2003/.NET
OS details: Microsoft Windows 2003 Server, 2003 Server SP1 or XP Pro SP2
Service Info:  OSs: Windows, Windows XP, Windows 2003

Nmap finished: 1 IP address (1 host up) scanned in 122.918 seconds

Nmap et IPv6

Depuis 2002, Nmap supporte IPv6 pour les fonctionnalités les plus populaires. Cependant, Nmap ne supporte pas (en version 4.20) UDP.
De plus, la notation du masque de sous-réseau n'est pas supportée non plus.

Apparitions dans les films

Nmap étant un logiciel de plus en plus connu, on a pu voir des exemples d'utilisation dans plusieurs films[2].

Dans le second épisode de la trilogie Matrix (Matrix Reloaded), Trinity se sert de nmap pour pirater la centrale électrique.

Le troisième opus de la saga Jason Bourne, La Vengeance dans la peau, montre la CIA utiliser nmap ainsi que son interface graphique Zenmap pour s'introduire dans le serveur d'un journal (The Guardian).

Nmap est présent dans le quatrième volet de la série des Die Hard, "Retour en enfer", où le hacker Matthew Farrel (Justin Long) l'utilise pour scanner une machine tout en chattant sur son ordinateur (au début du film).

Nmap fait également une apparition dans le film 13 jeux de mort où une informaticienne utilise ce logiciel afin de pénétrer dans le serveur d'un site web à la 57ème minute.

Voir aussi

Références

  1. La notation de bouclage local en adressage IPv6 se note aussi ::1.
  2. Movies featuring the Nmap Security Scanner

Bibliographie

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Nmap de Wikipédia en français (auteurs)

Игры ⚽ Поможем решить контрольную работу

Regardez d'autres dictionnaires:

  • Nmap — Security Scanner results of an Nmap scan Original author(s) Gordon Lyon (Fyodor) Initial release September, 1997 …   Wikipedia

  • Nmap — Security Scanner Desarrollador Gordon Lyon insecure.org Información …   Wikipedia Español

  • Nmap — Ausgabe von Nmap gegen wikipedia.de Basisdaten Entwickler Gordon Lyon (Fyodor) und das „Nmap Developer Team“ …   Deutsch Wikipedia

  • Nmap — Security Scanner Результаты сканирования Nmap Тип Компьютерная безопасность, Управление компьютерной сетью Разработчик Fyodor ( …   Википедия

  • nmap — Security Scanner Результаты сканирования NMap Тип Компьютерная безопасность, Управление компьютерной сетью Разработчик …   Википедия

  • Nmap — es un programa open source que sirve para efectuar port scanning, distribuido por Insecure.org. Esta orientado a la indentificación de puertos abiertos en una computadora objetivo, determinando que servicio/s esta ejecutando la misma, e intenta… …   Enciclopedia Universal

  • Nmap Front End — Nmap Front End  графическая оболочка управления консольной программой nmap. Frontend for Nmap security scanner Интерфейс nmapfe v4.20 Тип …   Википедия

  • NMAP — • Network Management Application Program • National Metrich Advisory Panel ( > IEEE Standard Dictionary ) …   Acronyms

  • NMAP — [1] Network Management Application Program [2] National Metrich Advisory Panel ( > IEEE Standard Dictionary ) …   Acronyms von A bis Z

  • Nmap Security Scanner — …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”