Je dois surveiller mon application à partir des demandes http POST
et GET
entrantes provenant de l'extérieur et parfois de la machine.
Est-ce possible?
Vous utilisez fiddler mais cela ne fait que les envois non entrants (de l'extérieur de la machine) ou est-ce que je l'ai mal configuré?
Ceci concerne mon application Web destinée à recevoir une POST
d'un serveur externe.
Les gars ont trouvé le moyen idéal pour surveiller TOUT le trafic qui circule localement entre les demandes de ma machine à ma machine:
Lorsque vous devez capturer le trafic d'un hôte local à un hôte local, vous aurez du mal à utiliser Wireshark car cela ne fait que surveiller le trafic entrant sur la carte réseau. Pour ce faire, vous devez ajouter aux routes une route qui forcera l’ensemble du trafic sur une passerelle et sera capturé sur l’interface réseau.
Pour ce faire, ajoutez une route avec <ip address>
<gateway>
:
cmd> route add 192.168.20.30 192.168.20.1
Ensuite, exécutez une capture sur wireshark (assurez-vous de sélectionner l’interface traversée par les octets), puis filtrez.
Les itinéraires nouvellement ajoutés apparaîtront en noir. (car ce sont des adresses locales)
Ce que vous devez faire, c'est configurer Fiddler pour qu’il fonctionne comme un "proxy inverse"
Il existe des instructions sur 2 manières différentes de le faire sur le site Web de Fiddler. Voici une copie des étapes:
Étape # 0
Avant que l’une des options suivantes ne fonctionne, vous devez autoriser d’autres ordinateurs à se connecter à Fiddler. Pour ce faire, cliquez sur Outils> Options Fiddler> Connexions et cochez la case "Autoriser les ordinateurs distants à se connecter". Puis fermez Fiddler.
Option n ° 1: Configurer Fiddler en tant que proxy inverse
Fiddler peut être configuré de manière à ce que tout le trafic envoyé à http://127.0.0.1:8888
soit automatiquement envoyé à un autre port de la même machine. Pour définir cette configuration:
http://127.0.0.1:8888
Option n ° 2: Écrire une règle FiddlerScript
Alternativement, vous pouvez écrire une règle qui fait la même chose.
Supposons que vous exécutiez un site Web sur le port 80 d'une machine nommé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 voulez capturer le trafic du téléphone et la réponse du serveur.
http://webserver:8888
Les demandes du SmartPhone apparaîtront dans Fiddler. Les demandes sont transférées du port 8888 vers le port 80 où le serveur Web est en cours d'exécution. Les réponses sont renvoyées via Fiddler au SmartPhone, qui n'a aucune idée que le contenu provient du port 80.
J'installerais Microsoft Network Monitor, configurerais l'outil pour qu'il ne voie que les paquets HTTP (filtrer le port) et commence à capturer les paquets.
Vous pouvez le télécharger ici
(pour Mac, voir le lien dans le commentaire de Partizano ci-dessous)
Je sais qu'il existe déjà une réponse suggérant ceci, mais je souhaite fournir l'explication et les instructions fournies par Telerik devrait, et également couvrir certains des «pièges», alors voici:
NOTE: Pour que cela fonctionne, toute requête que vous souhaitez intercepter doit être envoyée au port 8888
Pour ce faire, vous ajoutez: 8888 à votre nom d’hôte, par exemple comme ceci pour une route MVC:
http: // myhostname: 8888/contrôleur/action
Exécuter Fiddler en tant qu'administrateur Sélectionnez Outils> Options Fiddler> Connexions et assurez-vous que l'option "Autoriser les ordinateurs distants à se connecter" est cochée et que "Fiddler écoute sur le port" est défini sur 8888:
Configurer Fiddler pour transférer les demandes reçues sur le port 8888 vers le port 80
C'est tout! Fiddler doit maintenant être configuré en tant que proxy inverse pour intercepter toutes les demandes du port 8888 (afin que vous puissiez les visualiser dans Fiddler). Il les transmettra ensuite à votre serveur Web pour qu’il soit traité.
http: // nomhôte distant: 8888/contrôleur/action
IMPORTANT: une fois que vous avez consulté vos demandes, revenez dans Outils> Options de violonettes> Connexions et supprimez l'option "Autoriser les ordinateurs distants à se connecter", sinon des tiers pourront faire rebondir le trafic sur votre serveur
Microsoft Message Analyzer est le successeur de Microsoft Network Monitor 3.4
Si votre trafic HTTP entrant se rend sur votre serveur Web au port 58000, démarrez Analyzer en mode Administrateur et cliquez sur nouvelle session:
utiliser le filtre: tcp.Port = 58000 et HTTP
scénario de trace: "Interfaces réseau locales (Win 8 et antérieures)" ou "Interfaces réseau locales (Win 8.1 et ultérieures)" dépend de votre système d'exploitation
Niveau d'analyse: complet
Vous pouvez envisager d'utiliser Fiddler en tant que proxy inverse, vous devez pouvoir amener les clients à se connecter à l'adresse de Fiddler, puis transférer les demandes de Fiddler vers votre application.
Cela nécessitera un peu de manipulation du port ou la configuration du client, selon ce qui est plus facile en fonction de vos besoins.
Vous trouverez des détails sur la procédure à suivre ici: http://www.fiddler2.com/Fiddler/Help/ReverseProxy.asp
Utiliser Wireshark ..
Je n'ai pas essayé ceci: http://wiki.wireshark.org/CaptureSetup/Loopback
Si cela fonctionne, vous pouvez alors filtrer le trafic http
/http contains GET
/http contains POST
.
Vous devrez peut-être exécuter deux instances de Wireshark, une capture locale et une capture distante. Je ne suis pas sûr.
Vous pouvez également essayer le HTTP Debugger , il a la capacité intégrée d’afficher les demandes HTTP entrantes et ne nécessite aucune modification de la configuration du système.