Nmap
Nmap est un scanner de ports libre 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.
Développé par | Fyodor |
---|---|
Première version | [1] |
Dernière version | 7.94 ()[2] |
Dépôt | github.com/nmap/nmap.git |
Assurance qualité | Intégration continue |
Écrit en | C++, Python, C, Lua et Java |
Système d'exploitation | GNU/Linux, BSD, Microsoft Windows et macOS |
Environnement | Multiplate-forme |
Type | Sécurité informatique |
Licence | GNU GPL, puis NPSL[3] à partir de la version 7.90 |
Documentation | nmap.org/docs.html |
Site web | nmap.org |
Le code source de Nmap est disponible sous la licence GNU GPL jusqu'à la version 7.90. Il est désormais distribuée sous la Nmap Public Source License (NPSL), qui est basée sur la GPLv2 mais ajoute des restrictions qui la rendent non-libre[4].
Fonctionnement
Pour scanner les ports d'un ordinateur distant, Nmap utilise diverses techniques d'analyse qui s'appuient sur des protocoles tels que TCP, IP, UDP ou ICMP. De même, il se fonde sur les réponses qu'il obtient à des requêtes particulières pour obtenir une empreinte de la pile IP, souvent propre au système qui l'utilise. C'est par cette méthode qu'il peut reconnaitre la version d'un système d'exploitation ainsi que la version des services (aussi appelés daemons) en écoute.
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 elle a été remplacée par Zenmap, fondée sur UMIT et développée par Adriano Monteiro Marques. D'autres interfaces sont disponibles, comme NmapSI4, qui s'appuie sur Qt.
De nombreuses interfaces web sont également disponibles pour utiliser Nmap à partir d'un navigateur web. On peut citer Nmap-CGI[5] et IVRE[6].
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.
Nmap et IPv6
Avant 2002, Nmap ne prenait IPv6 en charge que pour les fonctionnalités les plus populaires. Depuis la version 6.0, publiée en , Nmap prend complètement IPv6 en charge pour l'ensemble de ses fonctionnalités et pour toutes les plateformes sur lesquelles il fonctionne.
Exemple d'utilisation
❯ nmap -A scanme.nmap.org
Starting Nmap 7.93 ( https://nmap.org ) at 2022-12-24 15:37 CET
Nmap scan report for scanme.nmap.org (45.33.32.156)
Host is up (0.17s latency).
Other addresses for scanme.nmap.org (not scanned): 2600:3c01::f03c:91ff:fe18:bb2f
Not shown: 995 closed tcp ports (conn-refused)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 1024 ac00a01a82ffcc5599dc672b34976b75 (DSA)
| 2048 203d2d44622ab05a9db5b30514c2a6b2 (RSA)
| 256 9602bb5e57541c4e452f564c4a24b257 (ECDSA)
|_ 256 33fa910fe0e17b1f6d05a2b0f1544156 (ED25519)
25/tcp filtered smtp
80/tcp open http Apache httpd 2.4.7 ((Ubuntu))
|_http-server-header: Apache/2.4.7 (Ubuntu)
|_http-favicon: Nmap Project
|_http-title: Go ahead and ScanMe!
9929/tcp open nping-echo Nping echo
31337/tcp open tcpwrapped
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 80.08 seconds
Formats de sortie
Nmap fournit différents formats de sortie possibles, à savoir :
- Interactif
- les résultats d'analyse Nmap sont directement affichés sur la ligne de commande.
- Texte
- les résultats sont générés au format TXT, et peuvent être enregistré dans un fichier[7].
- XML
- format qui peut être traité ultérieurement par des outils XML.
Apparitions au cinéma
Nmap étant de plus en plus connu, on a pu voir des exemples d'utilisation dans plusieurs films[8].
Dans le second épisode de la trilogie Matrix (Matrix Reloaded, 2003), à 1 h 47 min et 50 secondes, Trinity se sert de nmap pour pirater la centrale électrique.
Nmap fait aussi une apparition dans le film thaïlandais 13 jeux de mort (2006), où une informaticienne utilise ce logiciel pour pénétrer dans le serveur d'un site web à la 57e minute.
Le troisième film de la série Jason Bourne, La Vengeance dans la peau (2007), montre la CIA utiliser nmap et 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 (2007), où le hacker Matthew Farrel (Justin Long) l'utilise pour scanner une machine tout en chattant sur son ordinateur (au début du film).
Cet outil est aussi utilisé dans le film Dredd par un pirate informatique du gang des trafiquants. Il sert à déterminer la position d'où le juge Dredd envoie un message à tout l'immeuble; ceci dans le but de tuer le juge.
Références
- « http://phrack.org/issues/51/11.html#article »
- « Nmap Changelog »
- « Nmap Public Source License » (consulté le )
- « A license change for Nmap [LWN.net] », sur lwn.net (consulté le )
- nmap-cgi homepage.
- IVRE homepage.
- « 7 commandes Nmap que vous devez connaître - Securly », sur securly.fr (consulté le )
- (en) Movies featuring the Nmap Security Scanner
Annexes
Bibliographie
- (en) Gordon Fyodor Lyon, Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning, Nmap Project, (ISBN 978-0-9799-5871-7)
Voir aussi
Liens externes
- (en) Site officiel
- (fr) Nmap network security scanner
- (fr) L'art du portscanning
- (en) Nmap dans l'actualité
- (fr) Apprendre avec nmap