Nmap: le scanneur de réseau
Date: 27/08/2007 | Catégories: Open-source,Reseau | Tags: nmap,Open-source,réseau,scan,tutoriel
Nmap est un scanneur de port réseau disponible sur Linux, Mac, FreeBSD, Windows... Le but de ce logiciel est de détecter les ports réseau ouvert sur des machines. Il permet donc de détecter si une machine est sur un réseau, d'identifier les services qui tournent dessus et même d'en déduire dans certain cas le type d'operating system. Voici une petit tutoriel avec quelques commandes de bases.
Remarque: Le scanning de port est considéré comme une intrusion. Il est donc interdit de scanner un réseau qui ne nous appartient pas.
Détection des machines sur un réseau
Si vous souhaitez identifier toutes les machines présentes sur votre réseau (cela peut être utile surtout si votre réseau est sans fils - wifi).
# nmap -sP
<cible>
ou <cible>peut être:
- une machine: ex. 192.168.0.1
- un réseau: ex. 192.168.0.0/24 ( scan de toutes les adresses comprises entre 192.168.0.0 et 192.168.0.255)
- une plage d'adresse: ex: 192.168.100-200 ( scan de toutes les adresses comprises entre 192.168.0.100 et 192.168.0.200)
Le résultat d'une telle commande sera du type:
# nmap -sP 192.168.0.0/24
Starting Nmap 4.20 ( http://insecure.org ) at 2007-08-27 11:45 CEST
Host routeur (192.168.0.254) appears to be up.
Host pc (192.168.0.1) appears to be up.
Host mac (192.168.0.2) appears to be up.
Détection des ports réseau ouverts sur une machine
Une fois les machines disponibles identifiées, il est possible d'aller plus loin et de scanner tous les ports réseau ouvert. Pour cela il faut utiliser la commande suivante:
# nmap <cible>
Par exemple, le résultat de cette commande sur un serveur web ne devrait faire apparaitre que le port TCP/80 (HTTP).
# nmap www
Starting Nmap 4.20 ( http://insecure.org ) at 2007-08-27 12:01 CEST
Interesting ports on 192.168.0.1:
Not shown: 1354 closed ports, 340 filtered ports
PORT STATE SERVICE
80/tcp open http
Nmap finished: 1 IP address (1 host up) scanned in 20.677 seconds
Cette commande est un peu longue car elle scanne tous les ports réseau. Si vous souhaitez scanner un port en particulier, vous pouvez utilisez l'option -p
# nmap -p 22 192.168.0.0/24
Starting Nmap 4.20 ( http://insecure.org ) at 2007-08-27 12:06 CEST
Interesting ports on al-ras.alcasat.net (192.168.0.1):
PORT STATE SERVICE
22/tcp open ssh
Interesting ports on al-ns1.alcasat.net (192.168.0.2):
PORT STATE SERVICE
22/tcp open ssh
Nmap finished: 256 IP addresses (3 hosts up) scanned in 5.356 seconds
Autres exemples de scan:
Scan de tous les ports TCP ouverts sur la machine cible:
# nmap -sS <cible>
Scan de tous les ports UDP ouverts sur la machine cible:
# nmap -sU <cible>
Identifier l'OS d'une machine
Nmap permet également d'identifier l'OS d'une machine scannée. Il utilise pour cela des algorithmes qui se basent sur l'identification des caractéristiques des paquets réseau et des ports ouverts. Même si cette méthode n'est pas parfaite elle marche dans environ 90% des cas.
On utilise l'option -O sur la cible à identifier:
# nmap -O --osscan-guess <cible>
Exemple de sortie:
# nmap -O --osscan-guess 127.0.0.1
Starting Nmap 4.20 ( http://insecure.org ) at 2007-08-27 12:15 CEST
Interesting ports on localhost (127.0.0.1):
Not shown: 1692 closed ports
PORT STATE SERVICE
22/tcp open ssh
139/tcp open netbios-ssn
445/tcp open microsoft-ds
631/tcp open ipp
9090/tcp open zeus-admin
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.18 - 2.6.19 (x86)
Uptime: 4.025 days (since Thu Aug 23 11:39:26 2007)
Network Distance: 0 hops
OS detection performed. Please report any incorrect results at http://insecure.org/nmap/submit/ .
Nmap finished: 1 IP address (1 host up) scanned in 1.408 seconds
Cet article n'est qu'un premier tutoriel qui montre comment utiliser les fonctions de bases de Nmap. Si vous avez d'autres exemples d'utilisations, vous pouvez postez un commentaire.