2 points par GN⁺ 2025-12-21 | 1 commentaires | Partager sur WhatsApp
  • Un outil de proxy de débogage web permettant d’analyser visuellement le trafic HTTP et HTTPS, avec accès complet aux informations de requête, de réponse et d’en-têtes
  • Intègre les fonctions Reverse Proxy, SSL Proxy et HTTP Monitor, permettant aux développeurs de suivre finement les communications réseau
  • La version la plus récente, Charles 5.0.3, corrige des problèmes de performances sur macOS et inclut de petites améliorations
  • Des améliorations de l’interface, la prise en charge du mode sombre et des gains de performance sont ajoutés en continu depuis la phase bêta 5.x
  • Outil de débogage web de référence continuellement mis à jour depuis le milieu des années 2000, largement utilisé aussi dans les environnements de développement mobile, Flash et iOS

Vue d’ensemble

  • Charles est un proxy de débogage web qui permet aux développeurs de voir tout le trafic HTTP et SSL/HTTPS entre leur ordinateur et Internet
    • Affiche les requêtes (request), les réponses (response) et les en-têtes HTTP, y compris les cookies et les informations de cache
    • Fournit de manière intégrée les fonctions HTTP Proxy, HTTPS Proxy, Reverse Proxy et HTTP Monitor

Évolutions récentes

  • 20 septembre 2025 : sortie de Charles 5.0.3, correction de problèmes de performances sur macOS et petites améliorations
  • 9 août 2025 : sortie de la version 5.0.2, corrections de bugs et petites améliorations
  • 12 mars 2025 : sortie officielle de Charles 5
  • 24 janvier 2024 : publication de la bêta 13 de la version 5, avec améliorations de l’interface Windows et prise en charge du mode sombre
  • Juillet à avril 2023 : dans les versions bêta 9 à 11, améliorations de l’interface et des performances, ajout de nouvelles fonctionnalités, corrections de bugs
  • Septembre 2022 : sortie de la version 4.6.3, avec mise à jour vers Java 11 et corrections de bugs
  • Décembre 2021 : annonce liée à la vulnérabilité log4j2 — Charles n’utilise pas log4j et n’est donc pas concerné
  • 2019 à 2020 : dans les versions 4.5 à 4.6, prise en charge du Dark Mode, amélioration des certificats SSL, correctifs de vulnérabilités de sécurité
  • Mai 2018 : lancement de Charles pour iOS
  • 2016 : sortie de Charles 4 avec ajout de la prise en charge de HTTP/2 et d’IPv6
  • 2006 à 2009 : ajout de la prise en charge de AMF, SOAP et JSON, ainsi qu’une refonte majeure de l’interface
  • 2005 : introduction de la configuration automatique du proxy pour Firefox et des fonctions d’analyse de Flash Remoting
  • 2003 à 2004 : mise en place des fonctions clés comme SSL, Reverse Proxy et SOCKS Proxy

Principales fonctionnalités

  • Surveillance du trafic HTTP/HTTPS : consultation en temps réel des requêtes, réponses, en-têtes, cookies et informations de cache
  • SSL Proxy et Reverse Proxy : prise en charge de l’analyse des communications chiffrées et du suivi des réponses serveur
  • Outils d’analyse basés sur l’interface : comparaison de requêtes/réponses, filtrage du trafic, sauvegarde de sessions
  • Prise en charge de multiples plateformes : fonctionnement sur macOS, Windows, iOS, etc.
  • Améliorations des performances et de la stabilité : corrections de bugs continues et mises à jour de signature de code

Avis externes et cas d’usage

  • Andrew Bardallis : présente comment observer et modifier le trafic avec Charles en l’utilisant avec des appareils mobiles
  • Tobias Sjösten : explique des cas de surveillance et de débogage avec Charles
  • Dan Grigsby : utilise Charles pour analyser les données XML de l’App Store sur iPhone
  • Gary Rogers : utilise Charles pour le débogage des connexions HTTP sur iPhone
  • MadeByPi, Frankie Loscavio, Darren Richardson, uberGeek et d’autres soulignent l’efficacité du débogage dans les environnements de développement Flash et Flex

Évaluation globale

  • Grâce à plus de 20 ans de mises à jour continues, Charles s’est imposé comme un outil d’analyse réseau indispensable pour les développeurs web et mobile
  • Grâce à sa prise en charge de nombreux protocoles et à une interface intuitive, il améliore l’efficacité du débogage, tandis que les progrès en sécurité, performances et compatibilité se poursuivent régulièrement

1 commentaires

 
GN⁺ 2025-12-21
Avis Hacker News
  • Je veux absolument mentionner Fiddler, que j’adorais à l’époque
    La première fois que je l’ai utilisé, il y a presque 20 ans, ça ressemblait à un outil venu du futur. Dans mon souvenir, c’était même plus puissant que Charles à l’époque
    Au départ, il était réservé à Windows, mais des builds pour d’autres plateformes étaient en préparation. Puis il y a eu le rachat, la feuille de route a changé, et entre-temps j’ai quitté Windows
    Site officiel de Fiddler

    • Entièrement d’accord. Il m’arrive souvent de reparler de mes souvenirs de cet outil fantastique
      Je me demande si tu as déjà trouvé une alternative pour macOS. Moi, je n’en ai toujours pas trouvé de vraiment convaincante
  • C’était un outil méconnu mais exceptionnel
    L’alternative gratuite la plus proche, c’est mitmproxy, mais honnêtement, ce n’est pas comparable
    Il y a bien sûr aussi Wireshark, mais c’est trop généraliste et la courbe d’apprentissage est raide
    À l’époque, on pouvait l’utiliser sans abonnement, et ça valait largement son prix

    • Cet été, j’ai essayé de créer un clone de Charles Proxy. L’architecture était : VPN iOS → mitm → certificat racine personnalisé → journalisation
      J’ai utilisé gomitmproxy pour le sniffing du trafic et le rechiffrement
      J’avais mis le code source ici, mais mon serveur git a cassé et je n’ai pas pu le récupérer
      Je me demande si l’IA d’aujourd’hui pourrait transformer mon code bancal en clone complet de Charles
      Par contre, c’est pénible qu’Apple exige un compte développeur payant pour accéder à la Packet Tunnel API. Je n’ai même pas pu tester dans le simulateur et j’y ai perdu plus d’une journée
    • Vers 2016-2017, j’utilisais énormément mitmproxy et mitmdump. C’était puissant, facile à scripter, et pour mon usage c’était bien meilleur que Charles
    • À une époque, mitmproxy me suffisait largement pour faire du reverse engineering sur des extensions de navigateur ou des applis mobiles
    • Ce que j’aime avec mitmproxy, c’est qu’on peut le faire tourner directement sur un serveur, installer un certificat de confiance sur son téléphone, relier le trafic via WireGuard, et voir tout le trafic sur le web
      Aujourd’hui, beaucoup d’apps sont bloquées par le certificate pinning, mais dans ce cas j’utilise Frida
    • Burp existe aussi en version gratuite (Community Edition)
      Lien de téléchargement de Burp
  • Burp Suite propose des fonctionnalités similaires, mais l’orientation est différente
    Charles est centré sur l’observation et le débogage du trafic HTTP(S), donc très pratique pour identifier rapidement un problème
    Burp, en revanche, est orienté sécurité, avec des points forts sur l’interception, la réémission, l’automatisation et l’analyse de la surface d’attaque
    Donc pour une simple visibilité, j’utilise Charles ; pour une analyse de sécurité, j’utilise Burp

    • Caido mérite aussi d’être considéré comme alternative. C’est un nouvel arrivant, mais il progresse vite, et récemment plusieurs fonctionnalités de Burp ont en pratique été inspirées par Caido
    • Pour mon usage, Burp me suffit largement. Même la version communautaire fonctionne très bien
    • Autre alternative : ZAP (Zed Attack Proxy). C’est entièrement gratuit et open source
  • Je n’ai jamais eu besoin de fonctions complexes, donc j’ai utilisé Charles pendant longtemps, puis je suis passé à Proxyman il y a quelques années, et je l’ai trouvé bien plus agréable à utiliser

    • Proxyman est un peu plus cher, mais ça vaut 100 fois le coup. L’interface native, les raccourcis, l’assistant d’installation des certificats et l’éditeur de scripts sont bien meilleurs que dans Charles
    • Moi aussi, j’ai utilisé Charles pendant plus de 10 ans, mais pour un utilisateur macOS, Proxyman est beaucoup plus naturel et pratique
    • Dans mon ancien travail, Charles ne figurait pas dans la liste des logiciels approuvés, donc j’utilisais Requestly. Plus tard, j’ai réessayé Charles, mais je suis finalement revenu à Requestly parce que c’est plus simple
    • Charles est presque parfait sur le plan fonctionnel, mais avec juste quelques améliorations de l’interface, ce serait un outil parfait
      La structure des menus est compliquée et les fonctions liées au DNS sont insuffisantes. J’ai aussi essayé Proxyman, mais je ne l’ai pas trouvé vraiment meilleur à l’usage, donc je n’ai pas acheté de licence supplémentaire
    • J’utilise les deux en parallèle. Proxyman n’a pas de fonction de regroupement de sessions, donc j’ai du mal à abandonner complètement Charles
      Merci aux deux développeurs
  • Je me demandais pourquoi c’était maintenant à la une de Hacker News. Pour moi, c’était déjà un outil bien connu

    • Certains ne le connaissaient pas encore, donc ils étaient contents de le voir présenté
    • Moi aussi, ça me laisse perplexe. Il n’y a pas eu de mise à jour récente, donc je ne sais pas pourquoi il revient dans l’actualité
  • Pour un usage simple, j’utilise la version gratuite de HTTP Toolkit
    Il lance sa propre fenêtre Firefox, ce qui lui permet d’intercepter le trafic sans avoir à modifier la configuration de mon navigateur de travail, ce qui est pratique

  • Quand j’ai commencé le développement iOS en 2011, Charles était indispensable pour le débogage d’API HTTP
    Ça fait plaisir de voir qu’il est toujours maintenu régulièrement

  • J’ai utilisé Charles Proxy pour la première fois l’an dernier, et je l’ai trouvé excellent
    Il existe aussi une version mobile qu’on peut utiliser quand on a besoin d’un proxy SSL pour une application mobile

  • Je pense toujours que c’est l’un des meilleurs logiciels qui existent
    De nos jours, j’utilise Proxyman

    • Moi aussi, je suis passé de Charles à Proxyman. Il permet aussi le débogage à distance, donc on peut brancher directement un iPhone par câble et vérifier immédiatement
  • Je suis un utilisateur de Burp, mais en ce moment Caido monte en puissance
    C’est léger et peut s’exécuter en mode headless. Ça reste orienté sécurité, mais c’est conçu pour faire passer tout le trafic via un proxy sur un VPS ou dans des conteneurs

    • Je suis cofondateur de Caido. Merci de l’avoir mentionné, et nous nous étendons désormais aussi au domaine DevSecOps