SlideShare une entreprise Scribd logo
1  sur  52
CHARLES PROXY
Analyse HTTP et modification des requêtes

Arnaud Guéras (@arnaudgueras)
Front End Developer Senior chez Axa
CHARLES C’EST QUI ? C’EST QUOI ?
PROXY DE DEBUG HTTP
Navigateurs

Charles Proxy

Serveur
PROXY DE DEBUG HTTP
Serveur

Navigateurs
Charles Proxy

Proxy
Entreprise
CHARLES FAIT QUOI ?
•

Enregistrement de requêtes

•

Local Mapping

•

Analyse de requêtes

•

Remote Mapping

•

Limitation de bande passante
(Throttling)

•

Réécriture automatique (rewrite)

•

Blacklist

•

DNS Spoofing

•

Mirroring

•

Répéter et modifier des requêtes

•

Validation de markup

•

…

•

Breakpoint

•

SSL Proxying

•

Reverse Proxy

•

Port Forwarding

•

Suppression de cache (No cache)

•

Bloquer les cookies
L’ANALYSE DE REQUETE
AFFICHE DES TABLEAUX SUR LES RESOURCES
CHARGÉES
AFFICHE DES GRAPHIQUES EN TIMELINE
EN FONCTION DU POIDS DES RESSOURCES
EN FONCTION DU TEMPS DE CHARGEMENT
EN FONCTION DES TYPES DES RESSOURCES
ON PEUT AUSSI ANALYSER UNE RESOURCE
SPECIFIQUE
ON PEUT AUSSI ANALYSER UNE RESOURCE
SPECIFIQUE
THROTTLING
LE THROTTLING PERMET…
• Limiter la bande passante afin de simuler une ligne ADSL, 56K
ou une connexion depuis un téléphone mobile
• De comprendre pourquoi en prod on a parfois des problèmes
d’ordre de chargement dans la page alors qu’on ne l’a pas en
local

• De vérifier comportement du chargement de son site dans les
mêmes conditions que sur une ligne Adsl standard ou autre type
de connexion
CHARLES PROXY THROTTLING
CHARGEMENT DE CANIUSE.COM
Simulation d’une ligne 64kb/s

Sans Throttling (4,95s)*

Avec Throttling (35,24s)

*Ma ligne ADSL est pourrie

THROTTLING
NO CACHING
NO CACHING
NO CACHING
NO CACHING
BLOCK COOKIES

*La recette est ici : http://goo.gl/lufbRv
BLOCK COOKIES
BLOCK COOKIES
Sans blocage

Avec blocage

BLOCK COOKIES
LOCAL MAPPING
• Fait un lien des ressources du serveur directement sur des fichiers locaux
REDIRECTION D’UN FICHIER
Redirection du fichier base.js du site viedemerde.fr
REDIRECTION D’UN FICHIER
Redirection du fichier base.js du site viedemerde.fr
REDIRECTION D’UN FICHIER
Le mapping est bien fait
REDIRECTION D’UN FICHIER
Avant (sans mapping du fichier base.js)

Après (avec mapping)
ON PEUT REDIRIGER DES DOSSIERS COMPLETS
ON PEUT REDIRIGER DES DOSSIERS COMPLETS
ON PEUT REDIRIGER DES DOSSIERS COMPLETS
REMOTE MAPPING
• Fait un lien des ressources du serveur vers un autre serveur

http://
REDIRECTION D’UN DOSSIER COMPLET
On peut rediriger vers un serveur distant ou un serveur local
REWRITE
AVEC REWRITE ON PEUT TOUT MODIFIER DANS
UNE REQUETE HTTP
•

Ajouter un header

•

Supprimer un header

•

Modifier un header

•

Changer le host

•

Changer le path

•

Changer l’url de la requête (un peu comme le mapping)

•

Ajouter un query param

•

Supprimer un query param

•

Modifier un query param

•

Modifier le corps (body) de la requête

•

Modifier le corps de la réponse
REWRITE
REWRITE
REWRITE
REWRITE
REWRITE
REWRITE
RÉPÉTER ET MODIFIER UNE REQUETE
RÉPÉTER ET MODIFIER UNE REQUETE
• Repeat :
Répéter une requête une seule fois
• Repeat Advanced :
Répéter une requête N fois par paquet de X requêtes
• Edit :
Editer une requête avant de l’envoyer
REPEAT ADVANCED
• Iteration :10 et Concurrency : 1
Répète la requête 10x mais attends que la requête
précédente soit finie avant d’en envoyer une
nouvelle
REPEAT ADVANCED
• Iteration :10 et Concurrency : 2
Répète la requête 10x mais envoie 2 requêtes à
chaque fois, donc 5 paquets de requêtes sont
envoyés.
Charles proxy est payant
License
1-4 User Licenses
5+ User Licenses
10+ User Licenses
Site License
Multi-Site License

Pricing
US$50 / license
US$40 / license (20% discount)
US$30 / license (40% discount)
US$400
US$700

http://www.charlesproxy.com

Arnaud Guéras (@arnaudgueras)
arnaudgs@gmail.com

Contenu connexe

En vedette

Charles guide sharing
Charles guide sharingCharles guide sharing
Charles guide sharingVincent Chang
 
The 2016 Android Developer Toolbox [MOBILIZATION]
The 2016 Android Developer Toolbox [MOBILIZATION]The 2016 Android Developer Toolbox [MOBILIZATION]
The 2016 Android Developer Toolbox [MOBILIZATION]Nilhcem
 
Usint Charles Proxy to understand REST
Usint Charles Proxy to understand RESTUsint Charles Proxy to understand REST
Usint Charles Proxy to understand RESTAnatoliy Odukha
 
Usage Of Paros & Charles For SSL Debugging
Usage Of Paros & Charles For SSL DebuggingUsage Of Paros & Charles For SSL Debugging
Usage Of Paros & Charles For SSL DebuggingPradeep Patel
 
Extreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile DevicesExtreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile DevicesMaximiliano Firtman
 

En vedette (6)

Charles
CharlesCharles
Charles
 
Charles guide sharing
Charles guide sharingCharles guide sharing
Charles guide sharing
 
The 2016 Android Developer Toolbox [MOBILIZATION]
The 2016 Android Developer Toolbox [MOBILIZATION]The 2016 Android Developer Toolbox [MOBILIZATION]
The 2016 Android Developer Toolbox [MOBILIZATION]
 
Usint Charles Proxy to understand REST
Usint Charles Proxy to understand RESTUsint Charles Proxy to understand REST
Usint Charles Proxy to understand REST
 
Usage Of Paros & Charles For SSL Debugging
Usage Of Paros & Charles For SSL DebuggingUsage Of Paros & Charles For SSL Debugging
Usage Of Paros & Charles For SSL Debugging
 
Extreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile DevicesExtreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile Devices
 

Similaire à Charles proxy

Comment réussir une migration de site web en seo ?
Comment réussir une migration de site web en seo ?Comment réussir une migration de site web en seo ?
Comment réussir une migration de site web en seo ?Patrick Valibus
 
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big DataJSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big DataGUSS
 
this a course about the methodologie of DNS
this a course about the methodologie of DNSthis a course about the methodologie of DNS
this a course about the methodologie of DNSkhalidkabbad2
 
Journées SQL 2014 - Hive ou la convergence entre datawarehouse et Big Data
Journées SQL 2014 - Hive ou la convergence entre datawarehouse et Big DataJournées SQL 2014 - Hive ou la convergence entre datawarehouse et Big Data
Journées SQL 2014 - Hive ou la convergence entre datawarehouse et Big DataDavid Joubert
 
Migrer une application existante vers Elasticsearch - Nuxeo Tour 2014 - workshop
Migrer une application existante vers Elasticsearch - Nuxeo Tour 2014 - workshopMigrer une application existante vers Elasticsearch - Nuxeo Tour 2014 - workshop
Migrer une application existante vers Elasticsearch - Nuxeo Tour 2014 - workshopNuxeo
 
CocoaHeads Rennes #16: OHHTTPStubs
CocoaHeads Rennes #16: OHHTTPStubsCocoaHeads Rennes #16: OHHTTPStubs
CocoaHeads Rennes #16: OHHTTPStubsCocoaHeadsRNS
 
JSS2014 – Azure SQL Database : 1 an après
JSS2014 – Azure SQL Database : 1 an aprèsJSS2014 – Azure SQL Database : 1 an après
JSS2014 – Azure SQL Database : 1 an aprèsGUSS
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partiekadzaki
 
Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09Olivier Gutknecht
 
Haute disponibilité et Reprise sur Incident en SharePoint 2013 Journées SQL S...
Haute disponibilité et Reprise sur Incident en SharePoint 2013 Journées SQL S...Haute disponibilité et Reprise sur Incident en SharePoint 2013 Journées SQL S...
Haute disponibilité et Reprise sur Incident en SharePoint 2013 Journées SQL S...serge luca
 
Camping des Speakers - React Query.pdf
Camping des Speakers - React Query.pdfCamping des Speakers - React Query.pdf
Camping des Speakers - React Query.pdfOlivierThierry9
 
Digital GraphTour Paris - Neo4j 4.0, les nouveautés
Digital GraphTour Paris - Neo4j 4.0, les nouveautésDigital GraphTour Paris - Neo4j 4.0, les nouveautés
Digital GraphTour Paris - Neo4j 4.0, les nouveautésNeo4j
 
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Christophe Laporte
 
Hadoop MapReduce - OSDC FR 2009
Hadoop MapReduce - OSDC FR 2009Hadoop MapReduce - OSDC FR 2009
Hadoop MapReduce - OSDC FR 2009Olivier Grisel
 
Stats web avec Hive chez Scoop.it
Stats web avec Hive chez Scoop.itStats web avec Hive chez Scoop.it
Stats web avec Hive chez Scoop.ithibnico
 

Similaire à Charles proxy (19)

Comment réussir une migration de site web en seo ?
Comment réussir une migration de site web en seo ?Comment réussir une migration de site web en seo ?
Comment réussir une migration de site web en seo ?
 
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big DataJSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
 
Introduction à Laravel
Introduction à LaravelIntroduction à Laravel
Introduction à Laravel
 
this a course about the methodologie of DNS
this a course about the methodologie of DNSthis a course about the methodologie of DNS
this a course about the methodologie of DNS
 
Cours 70 410 - J3
Cours 70 410 - J3Cours 70 410 - J3
Cours 70 410 - J3
 
Journées SQL 2014 - Hive ou la convergence entre datawarehouse et Big Data
Journées SQL 2014 - Hive ou la convergence entre datawarehouse et Big DataJournées SQL 2014 - Hive ou la convergence entre datawarehouse et Big Data
Journées SQL 2014 - Hive ou la convergence entre datawarehouse et Big Data
 
Migrer une application existante vers Elasticsearch - Nuxeo Tour 2014 - workshop
Migrer une application existante vers Elasticsearch - Nuxeo Tour 2014 - workshopMigrer une application existante vers Elasticsearch - Nuxeo Tour 2014 - workshop
Migrer une application existante vers Elasticsearch - Nuxeo Tour 2014 - workshop
 
CocoaHeads Rennes #16: OHHTTPStubs
CocoaHeads Rennes #16: OHHTTPStubsCocoaHeads Rennes #16: OHHTTPStubs
CocoaHeads Rennes #16: OHHTTPStubs
 
JSS2014 – Azure SQL Database : 1 an après
JSS2014 – Azure SQL Database : 1 an aprèsJSS2014 – Azure SQL Database : 1 an après
JSS2014 – Azure SQL Database : 1 an après
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partie
 
Devoxx fr 2015 HAProxy
Devoxx fr 2015 HAProxyDevoxx fr 2015 HAProxy
Devoxx fr 2015 HAProxy
 
Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09
 
2194 A 07
2194 A 072194 A 07
2194 A 07
 
Haute disponibilité et Reprise sur Incident en SharePoint 2013 Journées SQL S...
Haute disponibilité et Reprise sur Incident en SharePoint 2013 Journées SQL S...Haute disponibilité et Reprise sur Incident en SharePoint 2013 Journées SQL S...
Haute disponibilité et Reprise sur Incident en SharePoint 2013 Journées SQL S...
 
Camping des Speakers - React Query.pdf
Camping des Speakers - React Query.pdfCamping des Speakers - React Query.pdf
Camping des Speakers - React Query.pdf
 
Digital GraphTour Paris - Neo4j 4.0, les nouveautés
Digital GraphTour Paris - Neo4j 4.0, les nouveautésDigital GraphTour Paris - Neo4j 4.0, les nouveautés
Digital GraphTour Paris - Neo4j 4.0, les nouveautés
 
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
 
Hadoop MapReduce - OSDC FR 2009
Hadoop MapReduce - OSDC FR 2009Hadoop MapReduce - OSDC FR 2009
Hadoop MapReduce - OSDC FR 2009
 
Stats web avec Hive chez Scoop.it
Stats web avec Hive chez Scoop.itStats web avec Hive chez Scoop.it
Stats web avec Hive chez Scoop.it
 

Charles proxy