7 votes

Utiliser Fiddler comme proxy inverse

Fiddler spécifie deux options pour l'utiliser comme proxy inverse.

Option 1 :

Fiddler peut être configuré pour que tout le trafic envoyé à http://127.0.0.1:8888 est automatiquement envoyé à un port différent sur la même machine. Pour définir cette configuration :

Démarrer REGEDIT

Créez un nouveau DWORD nommé ReverseProxyForPort dans HKCU. \SOFTWARE\Microsoft\Fiddler2.

Définissez le DWORD sur le port local vers lequel vous souhaitez réacheminer le trafic entrant (généralement le port 80 pour une application serveur HTTP standard)

Redémarrer Fiddler

Naviguez dans votre navigateur vers http://127.0.0.1:8888

Option 2 :

Vous pouvez également écrire une règle qui fait la même chose.

Disons que vous exécutez un site Web sur le port 80 d'une machine appelée WEBSERVER. Vous vous connectez au >site Web à l'aide d'Internet Explorer Mobile Edition sur un périphérique Windows SmartPhone pour lequel vous ne pouvez pas >configurer le proxy Web. Vous souhaitez capturer le trafic provenant du téléphone et la réponse du serveur.

Démarrez Fiddler sur la machine WEBSERVER, en l'exécutant sur le port par défaut de 8888.

Cliquez sur Outils | Options Fiddler, et assurez-vous que la case "Autoriser les clients distants à se connecter" est cochée. Redémarrez si nécessaire.

Choisissez Règles | Personnaliser les règles.

Dans le gestionnaire OnBeforeRequest, ajoutez une nouvelle ligne de code : si (oSession.host.toLowerCase() == "webserver:8888") oSession.host = "webserver:80" ;

Sur le SmartPhone, naviguez vers http://webserver:8888

Les deux options impliquent l'utilisation de Fiddler sur la même machine, mais que faire si Fiddler et le serveur web fonctionnent sur deux machines différentes ? Par exemple, disons que le site exemple.com est interrogé par un utilisateur et qu'il se résout en 1.2.3.4. Puis-je exécuter Fiddler sur 1.2.3.4 pour transférer le trafic vers 1.2.3.5 chaque fois qu'exemple.com est interrogé ? En supposant que j'utilise l'option 2 pour configurer Fiddler, dois-je définir 'webserver' sur exemple, exemple.com, www.example.com ou l'adresse IP d'exemple.com (en supposant que www.example.com est un alias d'exemple.com) ?

12voto

easylogic Points 156
if (oSession.HostNameIs("subdomain.example.com")) {
    oSession.bypassGateway = true; // Prevent this request from going through an upstream proxy
    oSession["x-overrideHost"] = "128.123.133.123"; // DNS name or IP address of target server
}

Simuler le fichier HOSTS de Windows, en faisant pointer un nom d'hôte vers une adresse IP différente.

0voto

rafaelcarioca7 Points 11

Il peut arriver que vous souhaitiez utiliser Fiddler pour piéger le trafic mais que, pour une raison quelconque, vous ne puissiez pas configurer le client pour qu'il utilise un serveur proxy.

Fiddler peut fonctionner comme un "proxy inverse", ce qui signifie qu'il peut s'exécuter sur le serveur et transférer les demandes entrantes vers un port ou un serveur web différent.

Vidéo sur la façon de configurer fiddler comme proxy inverse

0voto

blackcatweb Points 557

J'ai configuré correctement le proxy inverse sur Fiddler 2 et mon appareil iOS s'est connecté. Cependant, je n'ai pas réussi à faire en sorte que Fiddler affiche le trafic provenant de cet appareil. Si vous rencontrez ce problème, il s'avère qu'il y a une étape de configuration insupportablement simple mais critique.

En bas de la fenêtre de capture de trafic, il y a une option qui spécifie à partir de quoi capturer le trafic. Par défaut, il s'agit de "Web Browsers", c'est-à-dire les navigateurs Web de la machine hôte, et non les navigateurs des machines distantes.

Web Browsers Option

Changez cela en "Tous les processus" et la capture du trafic fonctionne.

All Processes Option

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X