Comprendre les protocoles de transport TCP et UDP, le protocole ICMP, et savoir analyser les échanges réseau courants.
Connaître les bases de l'adressage IP. Avoir lu la fiche sur le modèle OSI.
| Couche TCP/IP | Équivalent OSI | Protocoles |
|---|---|---|
| Application | Couches 5, 6, 7 | HTTP, HTTPS, FTP, SSH, DNS, SMTP, DHCP |
| Transport | Couche 4 | TCP, UDP |
| Internet | Couche 3 | IP, ICMP, ARP |
| Accès réseau | Couches 1 et 2 | Ethernet, Wi-Fi, PPP |
TCP (Transmission Control Protocol) garantit la livraison ordonnée et sans erreur des données. Il établit une connexion avant tout échange (connexion orientée).
CLIENT SERVEUR | | |--- SYN (seq=x) -----------→ | Étape 1 : client demande connexion | | | ←-- SYN-ACK (seq=y, ack=x+1)| Étape 2 : serveur accepte | | |--- ACK (ack=y+1) ----------→ | Étape 3 : client confirme | | |=== Connexion établie ==========| | | | --- DATA (requête HTTP) ----→ | Échange de données | ←-- DATA (réponse HTTP) --- | | | |--- FIN --------------------→ | Fermeture (4 voies) | ←-- FIN-ACK --------------- |
| Flag TCP | Signification | Usage |
|---|---|---|
| SYN | Synchronize | Initialisation de connexion |
| ACK | Acknowledge | Accusé de réception |
| FIN | Finish | Fermeture propre de connexion |
| RST | Reset | Fermeture brutale, port refusé |
| PSH | Push | Envoyer les données immédiatement |
| URG | Urgent | Données urgentes |
UDP (User Datagram Protocol) envoie des datagrammes sans établir de connexion et sans garantie de livraison. Il est plus rapide que TCP.
| Critère | TCP | UDP |
|---|---|---|
| Connexion | Oui (SYN/ACK) | Non |
| Fiabilité | Garantie (ACK + retransmission) | Aucune garantie |
| Ordre des paquets | Garanti | Non garanti |
| Contrôle de flux | Oui (fenêtrage) | Non |
| Vitesse | Plus lent | Plus rapide |
| En-tête | 20 octets minimum | 8 octets seulement |
| Usages | HTTP, SSH, FTP, SMTP | DNS, DHCP, VoIP, streaming, jeux |
ICMP (Internet Control Message Protocol) est utilisé pour envoyer des messages d'erreur et de diagnostic. Il fonctionne au niveau IP (couche 3), pas TCP ou UDP.
| Type ICMP | Code | Signification |
|---|---|---|
| Echo Request | 8 | Ping — demande de réponse |
| Echo Reply | 0 | Pong — réponse au ping |
| Destination Unreachable | 3 | Destination inaccessible (réseau, hôte, port) |
| Time Exceeded | 11 | TTL expiré — utilisé par traceroute |
| Redirect | 5 | Meilleure route disponible |
# Ping simple ping 8.8.8.8 ping -c 4 google.fr # 4 paquets seulement # Traceroute (utilise TTL décroissant + messages ICMP Time Exceeded) traceroute 8.8.8.8 # ou sous Debian : sudo apt install traceroute traceroute -n 8.8.8.8 # -n = pas de résolution DNS (plus rapide) # MTR — combinaison ping + traceroute en temps réel sudo apt install mtr -y mtr 8.8.8.8
Un port est un numéro (0-65535) qui identifie une application sur un hôte. Un socket est la combinaison IP:port.
| Plage de ports | Type | Exemples |
|---|---|---|
| 0 – 1023 | Well-known ports (ports bien connus) | 80 HTTP, 443 HTTPS, 22 SSH, 25 SMTP |
| 1024 – 49151 | Registered ports (ports enregistrés) | 3306 MySQL, 5432 PostgreSQL, 8080 HTTP alt |
| 49152 – 65535 | Dynamic/ephemeral ports (éphémères) | Ports clients assignés dynamiquement |
# Voir les ports en écoute sur le serveur ss -tlnp # TCP en écoute ss -ulnp # UDP en écoute ss -tlnp | grep :80 # Voir toutes les connexions établies ss -tnp # Tester si un port est ouvert depuis le client nc -zv 192.168.1.10 80 # netcat telnet 192.168.1.10 80 # telnet (si installé)
✅ Réponse : 3 (SYN + SYN-ACK + ACK)
✅ Réponse : UDP port 53
✅ Réponse : Time Exceeded (type 11)
✅ Réponse : 0 – 1023
✅ Réponse : ss -tlnp