TCP IP

Fouad Fezzi

Ressources

Notes de cours

paramètres des requêtes dans l'URL (ex : https://guacamole.univ-avignon.fr/jplab/)

URL : "ça pointe vers une ressource"
DNS : résolutions d'adresses (nom <-> adresses IP)
IP : Internet Protocol (adresse IP)
DHCP : attribution des adresses dynamiques dans un réseau donné
Cache DNS : liste des correspondances entre IP et noms de domaine, en local (résolveur)

gateway = passerelle = routeur

quelques commandes :

  • ping [nom de domaine] : envoie un petit paquet au nom de domaine indiqué, pour vérifier que le serveur situé derrière ce nom de domaine répond
    ping.png
  • arp -a : affiche l'adresse IP de la passerelle à laquelle chaque carte réseau de l'ordinateur est connectée
    arp -a.png
  • ipconfig (pour Windows) / ifconfig (pour Mac/Linux) : affiche pour chaque carte réseau plusieurs infos détaillées dont :
    • l'adresse IP locale
    • l'adresse physique (= adresse MAC)
    • l'adresse de la passerelle à laquelle la carte est connectée
      ifconfig.png
  • ip (Linux) : la commande qui remplace arp et ifconfig (obsolètes)
    ip route.png

"ce qu'il faut retenir, c'est que quand je vais sur le réseau, il se passe des choses sur mon ordinateur, qui fonctionnent par couches d'abstraction"
le système d'exploitation de l'ordinateur contient plusieurs programmes (ping, etc.) qui dialoguent avec les couches au-dessus ou en-dessous de lui

"utilisez Wireshark pour voir les paquets"
contre les attaques informatiques, "il faut se prémunir à l'intérieur et à l'extérieur"

Aspects de sécurité

"chaque ordinateur a des logiciels en cascade, par exemple Firefox va utiliser HTTP, celui-là va ensuite demander une adresse IP pour qu'elle soit traduite en adresse MAC, qui sont de plus bas niveau que les adresse IP : on voit qu'il y a des couches"

l'adresse MAC est définie en dur dans la carte réseau

Menace sur la couche MAC : un ordinateur peut usurper une adresse IP en répondant avant la vraie machine, le protocole ARP va lui donner la priorité ("ARP spoofing"/attaque de l'homme du milieu)

Menace sur la couche Application : dépend des applications, ce qui en fait la couche la plus vulnérable

  • vol de cookies : si le cookie d'authentification est envoyé en clair par le client, un attaquant peut l'extraire et se faire passer pour le client ("si on est en HTTP non sécurisé, en HTTPS même les cookies sont chiffrés donc il n'y a pas de surprise")

"dans les années 90, tout était ouvert, tout le monde pouvait faire ce qu'il voulait sur le réseau, puis on s'est rendu compte qu'il y avait des gens malveillants"
pare-feux : "si une communication n'est pas admise, on ne la laisse pas passer"
"les pare-feux peuvent être des logiciels, mais aujourd'hui les pare-feux sont sur les routeurs eux-même, donc on ne s'en rend pas compte"
l'ensemble de règles de filtrage s'appelle une politique de filtrage

  • modèle négatif : quand l'action par défaut est d'autoriser, on liste les communications à bloquer => modèle plus permissif
  • modèle positif : l'action par défaut est de bloquer, les autorisations doivent être listées ("il faut connaître les besoins des utilisateurs") => réduit la surface d'attaque

TD

TCP et UDP

Le TCP et l’UDP sont deux protocoles de transport qui :

  • divisent les données en datagrammes (ou paquets, c'est la même chose)
  • précisent à quelles applications ces paquets sont destinés
  • et les envoient d’un point à un autre du réseau, via le protocole IP

Différences entre UDP et TCP :

  • L’UDP priorise la rapidité de transmission au détriment de la fiabilité, ce qui est utile dans les applications où la latence doit être minimale et où on peut accepter de perdre quelques paquets (par ex. les appels audio/vidéo en direct)
  • contrairement à l’UDP, le TCP vérifie l’ordre, la destination et le bon état des paquets envoyés, en établissant une liaison (handshaking) entre expéditeur et destinataire. On s’en sert pour les applications qui requièrent des paquets complets et ordonnés, même si cela prend plus de temps à acheminer (par ex. les fichiers, les pages web et les e-mails)

FTP

Pasted image 20231130101542.png
Dans HTTP, SMTP et FTP, le "TP" signifie "Transfer Protocol"
De la même façon que

  • HTTP est utilisé par les clients web (c'est à dire les navigateurs comme Firefox) pour dire "donne-moi cette page web"
  • et SMTP est utilisé par les client d'email (comme Thunderbird ou Outlook) pour dire "envoie cet email"
  • le FTP est utilisé par Filezilla pour dire "envoie ce fichier"

Tous ces protocoles se trouvent dans la couche d'application
tandis que le TCP et l'UDP se trouvent dans la couche de transport

Pasted image 20231130102007.png