Question

Je souhaite surveiller toutes les demandes HTTP sortant d'une application donnée et les annuler si nécessaire.

Y a-t-il un moyen de faire cela en C #?

Était-ce utile?

La solution

Si vous pouvez toucher à la configuration du proxy du système (utilisée par de nombreuses applications) ou, si l'application ne tient pas compte de ce paramètre, appuyez sur la configuration de l'application pour utiliser un proxy de votre choix, vous pouvez créer un proxy HTTP qui ferait le travail à votre place.

Si vous souhaitez simplement profiler, il existe un outil prêt à l'emploi qui se comporte de la sorte et qui est très agréable, Fiddler .

Sinon, vous devrez approfondir la pile réseau et implémenter quelque chose comme un renifleur / pare-feu, en utilisant par exemple WinPcap . C'est beaucoup plus difficile à faire.

Autres conseils

Si vous travaillez avec Windows, il est possible de raccrocher les appels de l'API WinInet et d'en faire ce que vous voulez.

FreeCap (ou sa version commerciale, WideCap) le fait: vous permet d'envoyer du trafic TCP via un serveur proxy. Ce mandataire peut alors effectuer le filtrage (par exemple, Fiddler ).

Je sais que cela introduit davantage d'applications autonomes dans le système, mais cela fonctionne.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top