Host and Port Scanning
Dans le cadre d'une analyse de réseau, une fois qu'un hôte est confirmé comme "vivant", la prochaine étape cruciale est l'identification des ports ouverts et des services à l'écoute. Cette phase est essentielle pour obtenir une vision globale du système cible. Voici les informations que l'on cherche à collecter :
Les ports ouverts et les services actifs
Les versions des services
Les informations fournies par ces services
Le système d'exploitation utilisé
🔐 Les états d'un port selon Nmap
open
Une connexion a été établie (TCP/UDP/SCTP).
closed
Le port est inaccessible. Un paquet RST est renvoyé (TCP).
filtered
Nmap n'a pas pu déterminer si le port est ouvert ou fermé.
unfiltered
Vu uniquement lors d'un scan TCP ACK. Port accessible mais état inconnu.
`open
filtered`
`closed
filtered`
🔹 Scan des ports TCP les plus fréquents
sudo nmap 10.xx.xx.xx --top-ports=10
Cette commande scanne les 10 ports les plus couramment ouverts. Le flag --top-ports=10
provient de la base de données interne de Nmap.
🌐 Analyse des paquets envoyés et reçus
Pour comprendre ce qu'envoie Nmap et comment les réponses sont traitées :
sudo nmap 10.xx.xx.xx -p 21 --packet-trace -Pn -n --disable-arp-ping
-Pn
: Ignore les requêtes ICMP-n
: Pas de résolution DNS--disable-arp-ping
: Pas de ping ARP
🌐 Scan TCP Connect (3-way handshake complet)
sudo nmap 10.xx.xx.xx -p 443 -sT --packet-trace -Pn -n --disable-arp-ping --reason
Le scan TCP Connect (-sT
) est très fiable mais moins discret que le SYN scan. Il complète le 3-way handshake et peut générer des logs sur le système cible.
🔒 Ports filtrés par pare-feu
Un port filtré peut soit dropper les paquets sans réponse (lent), soit renvoyer une réponse ICMP (plus rapide).
Exemple 1 - Drop silencieux :
sudo nmap 10.xx.xx.xx -p 139 --packet-trace -n -Pn --disable-arp-ping
Exemple 2 - Port inaccessible (rejet explicite) :
sudo nmap 10.xx.xx.xx -p 445 --packet-trace -n -Pn --disable-arp-ping
On obtient une réponse ICMP type 3/code 3 signifiant que le port est inaccessible.
📁 Scan UDP
Le scan UDP (-sU
) est plus lent car il n'y a pas de handshake et peu de réponses en retour.
Scan rapide des ports UDP :
sudo nmap 10.xx.xx.xx -F -sU
Analyse d'un port UDP ouvert :
sudo nmap 10.129.2.28 -sU -Pn -n --disable-arp-ping --packet-trace -p 137 --reason
Exemple d'un port UDP fermé (ICMP port unreachable) :
sudo nmap 10.129.2.28 -sU -Pn -n --disable-arp-ping --packet-trace -p 100 --reason
Port UDP open|filtered :
sudo nmap 10.129.2.28 -sU -Pn -n --disable-arp-ping --packet-trace -p 138 --reason
ℹ️ Scan de version avec -sV
Pour obtenir des détails sur les services en cours d'exécution :
sudo nmap 10.129.2.28 -Pn -n --disable-arp-ping --packet-trace -p 445 --reason -sV
Permet de repérer par exemple : Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
🔧 Récapitulatif des options utiles
-sS
SYN scan (semi-ouvert)
-sT
TCP connect scan (complet)
-sU
UDP scan
-sV
Détection de version
--top-ports=N
Scan des N ports les plus courants
-p
Définir les ports à scanner
--packet-trace
Montrer les paquets envoyés/reçus
--reason
Afficher la raison de l'état du port
-n
Pas de résolution DNS
-Pn
Pas de ping ICMP
--disable-arp-ping
Désactive le ping ARP
⚠️ Note : Chaque environnement peut réagir différemment selon les réglages pare-feu. Adaptez vos scans en conséquence et utilisez
--max-retries
,-T4
, etc., pour améliorer les performances.
Find all TCP ports on your target. Submit the total number of found TCP ports as the answer.
$ nmap -n -Pn -oA tnet 10.129.225.24
Nmap scan report for 10.129.225.24
Host is up (0.032s latency).
Not shown: 993 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
110/tcp open pop3
139/tcp open netbios-ssn
143/tcp open imap
445/tcp open microsoft-ds
31337/tcp open Elite
# Nmap done at Tue Jun 17 18:51:44 2025 -- 1 IP address (1 host up) scanned in 0.63 seconds
Nous pouvons compter 7 ports TCP
sur notre cible.
Enumerate the hostname of your target and submit it as the answer. (case-sensitive)
$ nmap -A 10.129.225.24
Starting Nmap 7.93 ( https://nmap.org ) at 2025-06-17 19:05 CEST
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.7 (Ubuntu Linux; protocol 2.0)
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
110/tcp open pop3 Dovecot pop3d
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
143/tcp open imap Dovecot imapd (Ubuntu)
445/tcp open netbios-ssn Samba smbd 4.7.6-Ubuntu (workgroup: WORKGROUP)
31337/tcp open Elite?
Service Info: Host: NIX-NMAP-DEFAULT; OS: Linux; CPE: cpe:/o:linux:linux_kernel
Host script results:
[...]
| smb-os-discovery:
| OS: Windows 6.1 (Samba 4.7.6-Ubuntu)
| Computer name: nix-nmap-default
| NetBIOS computer name: NIX-NMAP-DEFAULT\x00
| Domain name: \x00
| FQDN: nix-nmap-default
|_ System time: 2025-06-17T19:08:41+02:00
[...]
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 190.28 seconds
Nous relevons ici le nom de la machine : nix-nmap-default
.
Mis à jour