Aller au contenu

PUSH : Push Function (bit PSH de l'en-tête TCP)

Réseau

Drapeau de l'en-tête TCP qui demande de transmettre les données en attente sans délai et de les remettre aussitôt à l'application réceptrice, sans attendre de remplir un tampon. Dans hping3, l'option -P l'active sur le paquet forgé.

Schéma de séquence entre quatre acteurs : l'application émettrice, la pile TCP émettrice, la pile TCP réceptrice et l'application réceptrice. 1, l'application émettrice écrit des données dans la pile TCP émettrice. 2, à la fin de l'écriture, la pile émettrice envoie un segment PSH/ACK à la pile réceptrice. 3, la pile réceptrice remet tout de suite le tampon à l'application réceptrice. 4, la pile réceptrice renvoie à la pile émettrice un ACK des données reçues.

Rôle dans l'en-tête : Le bit PSH appartient à l'octet des drapeaux TCP défini par la RFC 793, aux côtés de SYN, ACK, FIN, RST et URG. Côté émetteur, il signale qu'il faut envoyer sans attendre d'accumuler davantage de données ; côté récepteur, qu'il faut livrer le contenu du tampon à l'application.

Qui le positionne : C'est la pile TCP qui le pose, en général sur le dernier segment d'une écriture applicative, d'où l'omniprésence du couple PSH/ACK dans les captures. L'interface socket courante n'offre aucun moyen direct de le forcer : pour le placer à volonté, il faut forger le paquet, ce que fait hping3.

À ne pas confondre avec URG : URG marque des données urgentes repérées par un pointeur, alors que PSH ne fait passer aucun octet devant les autres et ne modifie pas l'ordre du flux. PSH demande seulement de ne plus attendre, nuance que des années de slides sur « l'accélération TCP » n'ont jamais réussi à faire tenir dans une puce.

Usage dans hping3 : Avec -A, l'option -P imite un segment de données ordinaire au milieu d'une session. Avec -F et -U, elle compose le paquet FIN+PSH+URG du scan dit Xmas, qui sert à observer comment un pare-feu traite une combinaison hors de toute connexion établie.

Explication de la marmotte

Quand deux ordinateurs discutent, ils découpent leurs messages en petits morceaux. Pour gagner du temps, ils attendent parfois d'avoir assez de texte pour remplir un morceau entier, comme un facteur qui ne part qu'une fois son sac plein. PUSH est une petite case cochée sur un morceau qui dit : « n'attends pas, livre tout de suite ce que tu as ». C'est pratique quand tu tapes un ordre et que tu veux la réponse sans délai. Attention, ça ne double pas les autres morceaux : ça évite seulement qu'ils restent coincés en salle d'attente.

Où ce terme est utilisé

← Tout le glossaire