La première phase du projet individuel est l’analyse du fonctionnement du protocole HTTP. Avant de démarrer la collecte des données, rappelez-vous que vous devrez écrire un rapport qui explique précisément ce que vous avez trouvé. Prenez des notes régulièrement sur toutes les manipulations que vous faites et sauvez toutes les données que vous pouvez (traces de paquets notamment) avec les informations décrivant comment ces données ont été collectées. Ces notes constitueront votre "cahier de laboratoire” qui sera très précieux pour rédiger votre rapport final.

Pour cette phase, vous devez collecter toutes les requêtes HTTP qui sont faites lorsque vous visitez le site web que vous avez choisi. Il existe différentes techniques pour analyser ces requêtes HTTP. Une des plus faciles est de s’appuyer sur les extensions développeurs que l’on trouve dans la plupart des navigateurs web (chrome, firefox notamment). Si possible, utilisez plusieurs navigateurs, votre navigateur habituel et un nouveau navigateur que vous n’avez jamais utilisé et qui a une cache complètement vide. Si possible, utilisez un outil de capture de paquets tel que wireshark ou tcpdump pour capturer tous les paquets envoyés par votre ordinateur (pensez à configurer la capture pour qu’elle porte sur les entêtes et les données réelles) et exportez les clés TLS si votre site utilise HTTPS. Essayez d’obtenir les informations suivantes :
  • liste de tous les noms de domaine qui ont étés contactés pour visualisez votre site web. Ne vous étonnez pas si de nombreux noms de domaine apparaissent. C’est souvent le cas sur les sites importants. Stockez la liste de ces noms de domaine dans un fichier CSV qui sera utile pour la suite
  • liste de tous les types de ressources (html, cc, javascript, flash, …) qui sont utilisées sur votre site web. Certains navigateurs peuvent exporter dans le format HAR une page web visualisée et il existe des outils pour analyser ce format HAR
  • liste des ports TCP utilisés (normalement 80 et 443, mais parfois il y en a d'autres) sur le site web
  • Pour chaque requête HTTP, analysez
      • la requête envoyée par votre navigateur (comparez différents navigateurs pour voir si ils se comportent de la même façon)
      • les cookies envoyés (comparez votre navigateur habituel et un navigateur vierge au niveau des cookies envoyés à certains sites web)
      • les informations non-standard qui pourraient se trouver dans la requête (essayez d’expliquer leur rôle)
  • Pour chaque réponse HTTP, analysez :
    • la version utilisée par le serveur (0.9?, 1.0 ou 1.1 ou 2.0)
    • La façon dont HTTP/2.0 est utilisé par le serveur, notamment le support éventuel du mode push, la taille des trames utilisées par le serveur et toute optimisation que vous pourriez détecter
    • Les lignes d’entête retournées par le serveur (y-a-t-il des lignes non-standard ?)

Durant votre analyse, essayez de vous concentrer sur les choses qui sont inattendues et essayez de les comprendre. Cela nécessitera probablement quelques recherches, mais vous permettra de renforcer votre connaissance des réseaux.

Un premier exemple vous indiquant comment démarrer avec les extensions developer de Firefox est disponible via http://blog.computer-networking.info/http-analysis/


Modifié le: samedi 27 mars 2021, 10:47