Skip to content

Comment scanner des ports avec Nmap : guide pratique

Apprenez à scanner les ports TCP et UDP avec Nmap : installation, sélection de ports, scans SYN et connect, détection de version, scripts NSE et formats de sortie.

Publié le 4 min de lecture

Nmap est l'outil de référence pour découvrir quels ports un hôte expose et quels services s'exécutent derrière eux. Ce guide parcourt les commandes que vous utiliserez réellement, du premier scan jusqu'à la détection de version et au scripting. Tout au long, remplacez <target> par un nom d'hôte ou une IP que vous êtes autorisé à tester.

Une note sur la légalité et l'éthique

Le scan de ports touche des systèmes que vous ne possédez peut-être pas. Ne scannez que des hôtes et réseaux que vous possédez ou que vous avez l'autorisation écrite explicite de tester. Un scan non autorisé peut enfreindre les lois sur la fraude informatique, et même un scan « inoffensif » peut déclencher les systèmes de détection d'intrusion et vous faire bloquer. En cas de doute, obtenez d'abord une permission par écrit.

Installer Nmap

Nmap est disponible pour Linux, macOS et Windows.

# Debian / Ubuntu
sudo apt install nmap

# macOS (Homebrew)
brew install nmap

# Vérifier
nmap --version

Votre premier scan

L'invocation la plus simple scanne les 1 000 ports TCP les plus courants :

nmap <target>

Cela indique rapidement si des classiques comme le port 22 (SSH), le port 80 (HTTP) et le port 443 (HTTPS) sont ouverts. Pour un hôte Windows, vous verrez souvent aussi le port 445 (SMB) et le port 3389 (RDP).

Sélectionner les ports à scanner

Utilisez -p pour cibler des ports, plages ou les 65 535 ports spécifiques :

# Ports spécifiques
nmap -p 22,80,443 <target>

# Une plage
nmap -p 1-1024 <target>

# Tous les ports
nmap -p- <target>

# Les N ports les plus courants
nmap --top-ports 100 <target>

Si seule l'infrastructure de messagerie vous intéresse, vous pourriez scanner directement le port 25 (SMTP), le port 110 (POP3), le port 143 (IMAP) et le port 587 (soumission).

Scan SYN et scan connect

La méthode par défaut pour les utilisateurs privilégiés est le scan SYN (-sS), aussi appelé scan semi-ouvert. Il envoie un SYN, guette un SYN/ACK et ne termine jamais la poignée de main, ce qui le rend rapide et relativement discret :

sudo nmap -sS <target>

Sans privilèges root, Nmap se rabat sur le scan TCP connect (-sT), qui termine une poignée de main complète via le système d'exploitation :

nmap -sT <target>

Utilisez -sS quand vous le pouvez ; utilisez -sT quand vous ne pouvez pas exécuter en root.

Scanner les ports UDP

De nombreux services critiques sont uniquement en UDP. Utilisez -sU pour atteindre le port 53 (DNS), le port 123 (NTP), le port 161 (SNMP) et le port 69 (TFTP) :

sudo nmap -sU --top-ports 50 <target>

Les scans UDP sont lents car le protocole est sans connexion : limitez donc le nombre de ports et soyez patient.

Détection de version et de service

Savoir qu'un port est ouvert ne dit pas tout ; -sV sonde le service pour identifier le logiciel et sa version :

nmap -sV -p 22,443,3306 <target>

C'est précieux pour identifier des bases de données comme le port 3306 (MySQL), le port 5432 (PostgreSQL) ou le port 6379 (Redis).

Scan agressif

L'option -A regroupe la détection de version, la détection d'OS, le traceroute et les scripts par défaut en une seule commande :

nmap -A <target>

Elle est bruyante et plus lente, mais offre l'image la plus riche d'un hôte en une seule passe.

NSE : le moteur de script de Nmap

L'option --script exécute des scripts Lua pour des vérifications plus poussées. Par exemple, énumérer les partages SMB sur le port 139 et le port 445, ou sonder une application web sur le port 8080 :

# Scripts par défaut sûrs
nmap -sC <target>

# Une catégorie spécifique
nmap --script vuln <target>

# Un script nommé contre LDAP sur le port 389
nmap -p 389 --script ldap-rootdse <target>

Enregistrer votre sortie

Pour les rapports et l'outillage, enregistrez les résultats dans un format structuré :

# Normal, XML et grepable en une passe
nmap -oA scan-results <target>

# XML uniquement (idéal pour l'import dans d'autres outils)
nmap -oX scan.xml <target>

Conclusion

Nmap s'étend d'une commande d'un seul mot à une plateforme de reconnaissance hautement scriptable. Commencez par un scan par défaut, affinez avec -p, choisissez -sS ou -sU pour le transport, ajoutez -sV pour identifier les services, et recourez à --script quand vous avez besoin de détails. Pour rechercher n'importe quel numéro que vous rencontrez, parcourez tous les ports sur PortsDB. Et rappelez-vous toujours la règle d'or : ne scannez que ce que vous êtes autorisé à scanner.

Articles liés

Une fiche de référence des ports TCP et UDP courants regroupés par usage — web, messagerie, transfert de fichiers, accès distant, bases de données et infrastructure.
Les ports exposés sur Internet que les attaquants ciblent en premier — RDP, SSH, SMB, bases de données — et la mesure de durcissement essentielle pour chacun.
Un guide pratique des ports à ne jamais exposer sur internet — SMB, RDP, Telnet, bases de données et plus — avec le risque et une alternative plus sûre pour chacun.