Rappels TCP
Afin d’aborder aisément les définitions des divers scans, je vous propose de revoir quelques bases du TCP.
Structure d’un segment TCP

Signification des champs TCP
- Port source : Numéro du port source
- Port destination : Numéro du port destination
- Numéro de séquence : Numéro de séquence du premier octet de ce segment
- Numéro d’acquittement : Numéro de séquence du prochain octet attendu
- Taille de l’en-tête : Longueur de l’en-tête en mots de 32 bits (les options font partie de l’en-tête)
- Réservé : Réservé pour un usage futur
- ECN : signale la présence de congestion, voir RFC 3168
- Drapeaux
- URG : Signale la présence de données URGentes
- ACK : Signale que le paquet est un accusé de réception (ACKnowledgement)
- PSH : Données à envoyer tout de suite (PuSH)
- RST : Rupture anormale de la connexion (ReSeT)
- SYN : Demande de SYNchronisation ou établissement de connexion
- FIN : Demande la fin de la connexion
- Fenêtre : Taille de fenêtre demandée, c’est-à-dire le nombre d’octets que le récepteur souhaite recevoir sans accusé de réception
- Checksum : Somme de contrôle calculé sur l’ensemble de l’en-tête TCP et des données, mais aussi sur un pseudo en-tête (extrait de l’en-tête IP)
- Pointeur de données urgentes : Position relative des dernières données urgentes
- Options : Facultatives
- Remplissage : Zéros ajoutés pour aligner les champs suivants du paquet sur 32 bits, si nécessaire
- Données : Séquences d’octets transmis par l’application (par exemple: +OK POP3 server ready, …)
Ouverture de connexion TCP

Le client effectue une ouverture active en 3 temps (poignée de mains en trois temps) :
- Le client envoie un segment SYN au serveur ;
- Le serveur lui répond par un segment SYN/ACK ;
- Le client confirme par un segment ACK.