Fermer

mars 12, 2019

Comprendre Telerik Fiddler en tant que proxy


Comprendre le fonctionnement de Fiddler en tant que proxy de débogage Web vous permettra de voir ce qui est transmis sur le réseau.

Compte tenu de la nature omniprésente d’Internet, de nombreuses applications sont conçues pour assurer la connectivité réseau. En effet, une connexion au Web peut considérablement élargir les capacités d’une application grâce à l’intégration de données et de services distants. Cependant, cette intégration est souvent sujette aux erreurs; les services peuvent devenir indisponibles et le transfert de données sur des réseaux lents peut prendre longtemps. En fait, de nombreux bogues peuvent être attribués à des conditions relatives au réseau sous-jacent. Dans ces situations, il est utile de disposer d’un utilitaire capable de vous aider à résoudre le problème. un utilitaire pour surveiller le trafic réseau (HTTP ou HTTPS) existant entre votre application et les services sur lesquels elle s'appuie.

Entrez Telerik Fiddler .

Qu'est-ce que Telerik Fiddler?

Telerik Fiddler (ou Fiddler) est un serveur proxy à usage spécifique permettant de déboguer le trafic Web à partir d'applications telles que les navigateurs. Il est utilisé pour capturer et enregistrer ce trafic Web, puis le transférer sur un serveur Web. Les réponses du serveur sont ensuite renvoyées à Fiddler, puis au client. Le trafic Web enregistré est présenté via une liste de sessions dans l'interface utilisateur de Fiddler:

Presque tous les programmes utilisant des protocoles Web prennent en charge les serveurs proxy. En conséquence, Fiddler peut être utilisé avec la plupart des applications sans nécessiter de configuration supplémentaire. Lorsque Fiddler commence à capturer du trafic, il s'enregistre avec le composant réseau Windows Internet (WinINet) et demande à toutes les applications de commencer à diriger leurs demandes vers Fiddler.

“Qu'est-ce qu'un proxy?”

Si vous m'aviez posé cette question au début des années 90, j'aurais probablement répondu: «C'est ce truc qui tue votre connexion Internet, n'est-ce pas?» À l'époque, si je me retrouvais avec un proxy configuré sur ma Je voyais parfois des images brisées sur des pages Web. Cela serait suivi de quelques jurons et de nombreuses pressions sur la touche F5 . De toute évidence, les choses se sont améliorées depuis. Cependant, la question reste une bonne question à poser, en particulier pour les développeurs écrivant des applications qui les prendront en charge.

La section 2.3 de la spécification HTTP définit un proxy comme suit:

un agent de transfert de message qui est sélectionné par le client, généralement via des règles de configuration locales, pour recevoir des requêtes pour un ou plusieurs types d'URI absolu et tenter de satisfaire ces requêtes via une traduction via l'interface HTTP

La phrase, "sélectionnée par le client" la description (ci-dessus) est une caractéristique clé; un proxy est désigné par un utilisateur agent (UA) pour transmettre les messages au «serveur d'origine» (c'est-à-dire google.com ). Il est également spécialisé car il peut exécuter des actions sur les messages reçus. (Plus sur cela plus tard.)

Considérez cette scène classique (et très drôle) de la sitcom américaine, I Love Lucy :

Dans cette scène, quand un chocolat descend le long de la bande transporteuse, il est observé, ramassé, emballé, puis remis en place. C'est un bon moyen de réfléchir au fonctionnement d'un proxy. Ici, les ouvriers de montage (Lucy et Ethel) représentent des procurations, un chocolat représente un message et le tapis roulant représente le réseau. C’est une scène brillante car les concepts de latence et de fiabilité du réseau sont également personnifiés.

Cette scène ne représente pas un réseau dans tous ses aspects. Par exemple, il ne représente que le trafic sortant. N'oublions pas que HTTP est un protocole de requête-réponse. Qu'en est-il du trafic entrant? Pour cela, il faudrait imaginer des chocolats voyageant simultanément dans la direction opposée. Le monteur modifierait et acheminerait les chocolats de la même manière qu'auparavant. Lorsque cela se produit avec un réseau, un proxy est défini comme un «proxy inverse» ou une «passerelle». En d'autres termes, un serveur d'origine pour les messages sortants; il traduit les demandes et les transmet en entrée.

Telerik Fiddler en tant que proxy

Fiddler est un proxy de débogage Web. Cela signifie qu'il agit en tant qu'intermédiaire et peut dépanner le trafic envoyé entre un agent utilisateur (Google Chrome) et le réseau.

Comme mentionné ci-dessus, presque tous les programmes utilisant des protocoles Web prennent en charge l'intégration avec Un proxy et Fiddler peuvent être utilisés avec la plupart des applications sans configuration supplémentaire.

Dans le scénario le plus courant où Fiddler est le seul proxy configuré pour fonctionner sur le réseau, l'architecture devient un peu plus simple:

De nombreux développeurs Web utiliseront Fiddler de cette manière. enregistrer le trafic Web généré par un navigateur pour voir ce qui a été transmis. Fiddler étant un proxy, il peut traiter ce trafic Web avant de le transférer en amont. Cela inclut la réponse aux messages de la part du serveur d'origine. La spécification HTTP permet aux mandataires de le faire. En fait, Fiddler peut être configuré pour répondre aux messages correspondant aux critères que vous avez définis via le répondeur Auto . La fonctionnalité peut être configurée pour servir des fichiers locaux (faisant office de cache) ou effectuer des actions pour les messages qu'elle reçoit:

L'AutoResponder prend en charge un scénario de développement utile lorsque des ressources et / ou des services peuvent être indisponibles. Il peut être utilisé pour simuler des réponses d'API d'un service. L'AutoResponder peut également être configuré avec un paramètre de latence pour simuler un temps de réponse plus réaliste.

La spécification HTTP permet aux mandataires de transformer les messages et leurs charges utiles (voir section 5.7.2 ). Dans l'exemple que j'ai cité (ci-dessus), cela est représenté par Lucy et Ethel qui enveloppent les chocolats individuels lorsqu'ils voyagent le long du tapis roulant. Fiddler est capable de transformer les messages lorsqu'ils sont interceptés. Par exemple, je peux ajouter / supprimer des en-têtes HTTP et modifier les charges utiles des messages.

La transformation des messages est rendue possible par le biais de règles personnalisées écrites en FiddlerScript. FiddlerScript est l’une des fonctionnalités les plus puissantes de Fiddler; il peut être utilisé pour améliorer l’interface utilisateur de Fiddler, ajouter de nouvelles fonctionnalités et modifier les messages. Il peut même changer diverses caractéristiques du réseau ou du client au fur et à mesure de la transmission des messages. Par exemple, je peux écrire FiddlerScript pour simuler les conditions du navigateur (c.-à-d. Pas de cookies) ou rediriger le trafic.

Eric Lawrence a écrit un excellent article, Comprendre FiddlerScript où il décrit ses fonctions disponibles. Il a également publié une liste de «recettes» FiddlerScript: Débogueur Web Fiddler – Exemples de script .

Plus vous en savez

Comprendre le fonctionnement de Fiddler en tant que proxy de débogage Web vous permettra de cibler des scénarios vous êtes intéressé à voir ce qui est transmis sur le réseau. Une fois que vous aurez configuré Fiddler correctement, vous pourrez utiliser son large ensemble de fonctionnalités. Pour commencer, pourquoi ne pas télécharger Fiddler et casser les pneus vous-même? Et si vous souhaitez voir l’avenir, jetez un œil à Fiddler Everywhere qui fonctionne sous Windows, macOS et Linux.


Les commentaires sont désactivés en mode Aperçu.




Source link