TCP 3-Way Handshake: cos'è, come funziona e quali attacchi previene

✋ TCP 3-Way Handshake: cos’è, come funziona e quali attacchi previene

Quando due dispositivi vogliono comunicare su Internet usando il protocollo TCP, non iniziano a parlare subito. Prima si stringono “digitalmente” la mano per creare una connessione affidabile.

Questo processo si chiama 3-Way Handshake, ovvero “stretta di mano a tre passi”. In questo post lo vediamo in modo semplice, con esempi pratici e anche un pizzico di sicurezza informatica.


🧠 Cos’è il TCP?

Il Transmission Control Protocol (TCP) è un protocollo che garantisce una comunicazione affidabile tra due dispositivi: si occupa di far arrivare i dati senza errori, nell’ordine corretto e senza duplicazioni.


🤝 I tre passi del 3-Way Handshake

1. SYN – Il saluto iniziale

Il client invia un pacchetto SYN per iniziare la comunicazione.

“Ehi, ci sei? Vorrei parlare con te!”

2. SYN-ACK – La conferma del server

Il server risponde con un pacchetto SYN-ACK.

“Sì, ci sono! Anch’io voglio parlare. Tu sei ancora lì?”

3. ACK – L’ok finale del client

Il client invia un pacchetto ACK di conferma.

“Ricevuto tutto, iniziamo!”

✅ Connessione stabilita! Ora si possono scambiare dati in sicurezza.


🍕 Esempio pratico: ordiniamo la pizza!

  • Tu: “Hai fame?” → SYN
  • Amico: “Sì! E tu?” → SYN-ACK
  • Tu: “Anch’io! Ordiniamo.” → ACK

🎉 La connessione TCP è come il consenso reciproco prima di ordinare una pizza.


👻 E se qualcosa va storto?

Se il client invia SYN, ma non riceve risposta? Riprova.
Se il server invia SYN-ACK, ma non riceve ACK? Aspetta per un po’… poi chiude la connessione (evita di restare bloccato come un messaggio su WhatsApp lasciato su “solo una spunta”).


🔐 Perché è importante il 3-Way Handshake?

  • Garantisce che entrambi i lati siano pronti a comunicare.
  • Evita connessioni incomplete o false.
  • Serve come base per la sicurezza e l’affidabilità del TCP.

💣 Attacchi evitati dal 3-Way Handshake

🔹 1. IP Spoofing (con SYN Spoofing)

Un attaccante può falsificare l’indirizzo IP e inviare pacchetti SYN al server.

  • Il server risponde con SYN-ACK all’indirizzo falsificato, non all’attaccante.
  • Senza ACK, la connessione non si completa.

➡️ Questo riduce il rischio di connessioni fasulle.


🔹 2. SYN Flood Attack (DoS)

L’attaccante invia migliaia di SYN senza mai completare il 3° passo.

  • Il server riserva risorse per ogni richiesta in attesa di ACK.
  • Le risorse si saturano e i client legittimi restano fuori.

➡️ Tecniche come i SYN cookies aiutano a mitigare questi attacchi.


🧪 Verifica cosa hai imparato (interattivo)

1. Qual è lo scopo principale del 3-Way Handshake?

2. Cosa invia per primo il client?

3. Cosa succede se il server non riceve l’ACK finale?

4. Cosa rappresenta il pacchetto SYN-ACK?

5. In quale protocollo troviamo il 3-Way Handshake?

© Nc6 by Giuseppe Fanuzzi - IT08952900721 - PIQA6QP