Mais pourquoi :

Le but du scan de ports, c’est de trouver les ports ouverts/fermés ou filtrés sur une machine distante.

Comment ça marche :

Toute connexion réseau commence par le “Three-Way Handshake”, plutôt qu’un long discours, voici un schéma : Three-Way Handshake

Les flags TCP :

TCP Flags

Stealth scans :

TCP Connect / Full Open Scan :

Full Open Scan
Aussi appelé Vanilla scanning, c’est le scan par défaut de nmap.

$ nmap @IP
ou
$ nmap -sT @IP

Inconvénient : pas discret du tout.

Half-Open Scan :

Half-Open Scan

$ nmap -sS @IP

Note : pas de log dans l’application car la connexion n’est pas établie.

Xmas Scan :

Xmas Scan

$ nmap -sX @IP

Note : ce scan fonctionne sur les systèmes conforme à la RFC 793.
Ce scan n’est valable qu’à destination des machines Unix, Windows va répondre que tous les ports sont ouverts et/ou filtrés. Et résultat faux en cas de firewall statefull sur le chemin.
Optionnellement, il peut aussi y avoir les flags ACK, RST et SYN de positionné.

FIN Scan :

FIN Scan

$ nmap -sF @IP

Note : ce scan fonctionne sur les systèmes conforme à la RFC 793.
Il ne fonctionne pas avec toutes les versions de Windows.

Null Scan :

Null Scan

$ nmap -sN @IP

Note : ce scan fonctionne sur les systèmes conforme à la RFC 793.
Il ne fonctionne pas avec toutes les versions de Windows.

Idle Scan :

Null Scan

$ nmap -sI @IP

Note : il faut plusieurs facteurs pour que cela fonctionne correctement :

  • Pas de firewall sur la machine zombie
  • Pas de trafic réseau sur la machine zombie autre que notre scan
  • La machine zombie doit avoir un IPID incrémental (en fonction des OS)

ICMP Echo Scanning / List Scan :

SYN / FIN Scan utilisant la fragmentation IP :

UDP Scanning :

Inverse TCP flag scanning :

ACK flag scanning :