Fondamentaux

TCP et UDP

TCP et UDP sont deux protocoles de transport. Ils permettent aux applications de communiquer, mais avec deux philosophies différentes : fiabilité pour TCP, simplicité et faible latence pour UDP.


TCP

TCP est orienté connexion. Avant l'échange de données, le client et le serveur établissent une connexion.

Three-Way Handshake

Client           Serveur

SYN      ───────►
         ◄─────── SYN-ACK
ACK      ───────►

Ce mécanisme permet aux deux machines de se mettre d'accord avant d'envoyer les données applicatives.

Caractéristiques

  • vérification de réception
  • réémission des paquets perdus
  • ordonnancement des données
  • contrôle d'erreur
  • adapté à HTTP, HTTPS, SSH, SMTP

Flags importants

FlagRôle
SYNDemande d'ouverture de connexion
ACKAccusé de réception
FINFermeture propre
RSTRéinitialisation brutale
PSHDemande de transmission rapide à l'application

Les flags TCP sont utiles pour comprendre les scans, les connexions bloquées et certains comportements anormaux.

États fréquents

ÉtatSignification
LISTENLe service attend des connexions
ESTABLISHEDLa connexion est active
TIME-WAITFermeture en cours côté TCP
SYN-SENTConnexion demandée mais pas encore établie
ss -tan

UDP

UDP est sans connexion. Il envoie les données sans vérifier leur bonne réception.

Caractéristiques

  • faible latence
  • peu de surcharge réseau
  • pas de réémission automatique
  • adapté à DNS, DHCP, VoIP, streaming et jeux en ligne

UDP ne signifie pas forcément "non fiable" au niveau applicatif. Certaines applications ajoutent leurs propres mécanismes de contrôle, de retransmission ou de chiffrement.


Comparaison

CaractéristiqueTCPUDP
Connexion préalableOuiNon
Vérification des donnéesOuiNon
RéémissionOuiNon
FiabilitéÉlevéeFaible
RapiditéMoyenneÉlevée

Attention aux raccourcis

TCP n'est pas automatiquement sûr et UDP n'est pas automatiquement dangereux. Le risque dépend du service exposé, de sa configuration, des données échangées et du contexte réseau.


Commandes utiles

Afficher les services en écoute :

ss -tuln

Options importantes :

  • -t : TCP
  • -u : UDP
  • -l : services en écoute
  • -n : affichage numérique

Tester un port TCP :

nc -vz example.com 443

Observer rapidement une connexion HTTP :

curl -I https://example.com

Capturer du trafic avec tcpdump :

sudo tcpdump -i any host example.com

Pourquoi c'est important

Comprendre TCP et UDP aide à lire un scan de ports, analyser une capture réseau, identifier un service exposé et reconnaître des flux suspects.

En défense, les points à regarder sont souvent :

  • ports en écoute non attendus
  • connexions sortantes inhabituelles
  • volume anormal vers une destination
  • nombreuses tentatives de connexion échouées
  • trafic UDP vers des destinations peu connues
Précédent
Modèles TCP/IP et OSI
Suivant
DNS