Nmap Scan
nmap -sn ip-addr : ping scan (host discovery) : Nmap
cherche simplement si l'hôte est up, il ne lance pas de scan
de ports complet par défaut.
Nmap -O : pour savoir le type de system d’exploitation de la
machine cible.
-A : pour faire un scan plus detaille comme port , service ,
version …
La difference entre Ping ICMP et pin TCP :
Ping ICMP on le fait avec la permission sudo nmap
Fonctionnement :
1. Le client envoie un ICMP Echo Request (type 8).
2. La cible répond par un ICMP Echo Reply (type 0).
📡 Si la réponse arrive → la machine est active (up)
💤 Si pas de réponse → soit elle est injoignable, soit ICMP est
bloqué par un pare-feu.
Ping TCP :
Fonctionnement :
1. Le scanner (ex: Nmap) envoie un SYN sur un port connu.
2. Selon la réponse :
o SYN + ACK → la machine est active ✅
o RST → la machine est active (mais le port est fermé) ✅
o Pas de réponse → probablement inactive ou filtrée 🚫
➡️Donc même si le port est fermé, le fait de recevoir un RST
prouve que l’hôte est là.
Flag
Situation Signification
utilisé
Début de "Je veux me
SYN
connexion connecter"
Confirmation de "J’ai bien reçu ton
ACK
réception message"
"Connexion annulée /
Fin brutale / erreur RST
invalide"
Les ports :
ftp ( File Transfer Protocol ) : 21 pour transférer les fichiers ,
lister les répertoires , supprimer , modifier , login a un
compte.
NB :
Si le réseau est public → utilise sudo nmap -sn -PE -
PS80,443 <plage>
Si le réseau est privé → connecte-toi au réseau
(VPN/bastion) puis lance Nmap localement.
Si ICMP bloqué, Nmap utilisera des SYN TCP pour détecter
les hôtes (tu verras des SYN, SYN/ACK, RST dans Wireshark).
Scan NULL , FIN et XMAS :
NULL : sudo nmap -sN <cible> : Qu’est-ce qui est envoyé : un
paquet TCP sans aucun flag (ni SYN, ni ACK, ni FIN, ni PSH, etc.).
Réponse attendue (selon RFC) :
o Port fermé → la pile TCP devrait renvoyer RST.
o Port ouvert → aucune réponse (silence).
Interprétation pratique : silence = possible ouvert / open|
filtered ; RST = fermé.
Limite : certains systèmes (Windows notamment) ne
respectent pas ce comportement et renvoient RST quel que
soit l’état → faux négatifs.
FIN : sudo nmap -sF <cible> : Qu’est-ce qui est envoyé :
paquet TCP avec seulement le flag FIN.
Réponse attendue :
o Port fermé → RST.
o Port ouvert → aucune réponse.
Objectif : même logique que NULL — détecter les ports
ouverts quand ICMP/SYN peuvent être filtrés.
Limite : comme pour NULL, implémentations non-conformes
(Windows) cassent la technique.
XMAS : sudo nmap -sX <cible>: Qu’est-ce qui est envoyé :
paquet TCP avec flags FIN, PSH et URG allumés → paquet «
illuminé » (d’où le nom XMAS).
Réponse attendue :
Port fermé → RST.
Port ouvert → aucune réponse.
Objectif : même utilité que FIN/NULL mais change
l’empreinte des options pour tenter d’éviter
détection/filtrage.
Limite : identique — dépend fortement du comportement
de la pile TCP cible.
UDP scan :
Un UDP scan teste des ports UDP (pas TCP) pour déterminer si un service UDP
écoute sur une cible. En Nmap : -sU.
Contrairement à TCP (où un SYN/SYN-ACK/RST donne des réponses claires), UDP
est sans connexion — beaucoup de comportements sont ambigus, ce qui rend la
détection plus lente et moins fiable.
Principe de base (ce qui se passe sur le réseau)
Le scanner envoie un paquet UDP au port cible (souvent vide, ou avec une petite
payload adaptée au service).
Réponse possible :
o ICMP Port Unreachable (Type 3, Code 3) → le port est fermé.
o Réponse UDP (ex : un message DNS, SNMP reply) → le port est ouvert.
o Aucune réponse → open | filtered (port ouvert sans réponse ou filtré par
pare-feu).
Beaucoup d’hôtes n’envoient aucun reply pour ports ouverts (silence), d’où
l’ambiguïté.