Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 241781|Respuesta: 55

[Programa de consola] .NET/C# utiliza FiddlerCore4 para interceptar y modificar las solicitudes HTTP

  [Copiar enlace]
Publicado en 20/12/2020 13:39:53 | | | |
La última versión de FiddlerCoreAPIFreeSetup, captura el nuevo archivo dll y úsalo después de la instalación, la biblioteca http personalizada de procesamiento de intercepción de Fiddler, FiddlerCore, está actualmente disponible como una biblioteca de clases .NET, que puede ser utilizada por cualquier aplicación .NET. FiddlerCore está diseñado para aplicaciones dedicadas que funcionan sin interfaz de usuario, como la automatización de pruebas, o interfaces específicas para interfaces en las que Fiddler Addon no encaja, como la visualización de tráfico de WPF.

FiddlerCore ha cambiado ahora a pagar, pero antes de la carga, se lanzaron varias nuevas versiones del estándar .NET en beta, que estaban disponibles y no tenían un límite de 30 días. El SDK completo y la demo están disponibles. La dirección de descarga es la siguiente:

FiddlerCoreAPIFree_4_6_20191_7809.zip descargar
El inicio de sesión del hipervínculo es visible.

Crea un nuevo proyecto de consola .NET 4.6.2: HttpCapture, que hace referencia a la biblioteca de clases FiddlerCore45.dll, que se puede obtener descargando como se ha mencionado antes.

El evento del Fiddler es el siguiente:

//
        Resumen:
        Este evento se activa cuando una sesión ha finalizado
        evento estático público SessionStateHandler AfterSessionComplete;
        //
        Resumen:
        Este evento se activa cuando Fiddler captura un mensaje de WebSocket
        evento estático público EventHandler<WebSocketMessageEventArgs> OnWebSocketMessage;
        [CodeDescription("Este evento activa un certificado HTTPS validado.")]
        evento estático público<ValidateServerCertificateEventArgs> EventHandler OnValidateServerCertificate;
        //
        Resumen:
        Este evento se activa cuando hay encabezados de respuesta disponibles
        evento estático público SesiónEstadoHandler RespuestaEncabezadosDisponible;
        //
        Resumen:
        Este evento se activa cuando hay encabezados de solicitud disponibles
        evento estático público SesiónEstadoHandler RequestHeadersDisponibles;
        //
        Resumen:
        Este evento se activa cuando Fiddler recibe una respuesta del servidor
        evento estático público SessionStateHandler BeforeResponse;
        //
        Resumen:
        Este evento se activa cuando Fiddler recibe una solicitud de cliente
        evento estático público SessionStateHandler BeforeRequest;
        //
        Resumen:
        Este evento se activa cada vez que FiddlerCore lee datos de la red para el cliente
        Petición. Ten en cuenta que estos datos no están formateados de ninguna manera y deben analizarse
        por el destinatario.
        evento estático público EventHandler<RawReadEventArgs> OnReadRequestBuffer;
        //
        Resumen:
        Este evento se activa cada vez que FiddlerCore lee datos de la red para el servidor
        respuesta. Ten en cuenta que estos datos no están formateados de ninguna manera y deben analizarse
        por el destinatario.
        evento estático público EventHandler<RawReadEventArgs> OnReadResponseBuffer;
        [CodeDescription("Este evento se activa cuando el usuario indica a Fiddler que borre la caché o las cookies.")]
        evento estático público EventHandler<CacheClearEventArgs> OnClearCache;
        //
        Resumen:
        Sincroniza este evento para que te notifique cuando FiddlerCore se haya adjuntado como proxy del sistema.")]
        [CodeDescription("Sincroniza este evento para que se notifique cuando FiddlerCore se haya adjuntado como proxy del sistema.")]
        [Obsoleto("Por favor, usa el Telerik.NetworkConnections.NetworkConnectionsManager.)]
        evento estático público SimpleEventHandler FiddlerAttach;
        //
        Resumen:
        Sincroniza este evento para que te notifiquen cuando FiddlerCore se haya separado como proxy del sistema.
        [CodeDescription("Sincroniza este evento para que se notifique cuando FiddlerCore se haya separado como proxy del sistema.")]
        [Obsoleto("Por favor, usa el Telerik.NetworkConnections.NetworkConnectionsManager.)]
        evento estático público SimpleEventHandler FiddlerDetach;
        [CodeDescription("Este evento se activa cuando se muestra una notificación al usuario. Consulta CONFIG. Propiedad QuietMode.")]
        evento estático público EventHandler<NotificationEventArgs> OnNotification;
        //
        Resumen:
        Este evento se activa cuando Fiddler genera una respuesta de error
        evento estático público SessionStateHandler BeforeReturningError;
        //
        Resumen:
        Se activa cada vez que Fiddler acepta con éxito una conexión TCP/IP
        evento estático público EventHandler<ConnectionEventArgs> AfterSocketAccept;
        //
        Resumen:
        Se activa cada vez que Fiddler establece con éxito una conexión TCP/IP
        evento estático público EventHandler<ConnectionEventArgs> AfterSocketConnect;

Los eventos más utilizados son AntesDeSolicitud, AntesDeRespuesta y DespuésSesiónCompleta.

Si quieres bloquear las solicitudes HTTPS, necesitas instalar un certificado, el código es el siguiente:

Adjunto el código para determinar si el certificado existe:

Los resultados que logramos fueron los siguientes:

1. Interceptarwww.itsvse.comSolicitud del sitio, que devuelve directamente un fragmento de contenido JSON.
2. Bloquea el sitio down.itsvse.com y, tras la respuesta, sustituye la cadena "Subido por" por "Subido por"

El código es el siguiente:

Luego configura manualmente el agente IE 127.0.0.1:9099, también con los ajustes de código, de la siguiente manera:

Configura el proxy de IE del sistema usando .NET/C#
https://www.itsvse.com/thread-9495-1-1.html

Las representaciones son las siguientes:



Nota: Al modificar el contenido después de la respuesta, necesitas configurar una sesión en el evento BeforeRequestsession.bBufferResponse = true;¡de lo contrario no puedes modificar el contenido de la respuesta!

Descarga del código fuente:

Turistas, si queréis ver el contenido oculto de esta publicación, por favorRespuesta


(Fin)





Anterior:ASP.NET Descompilación en línea de MVC del código fuente actual del sitio web
Próximo:El formato de la solicitud no se reconoce porque la URL termina inesperadamente con "/itsvse".
 Propietario| Publicado en 30/6/2023 20:07:39 |
Sobre el certificado:

Publicado en 6/3/2022 10:33:30 |
Muy bien                       
 Propietario| Publicado en 28/6/2023 17:11:09 |
Se resolvió el problema de que Fiddler no podía rastrear localhost local, solicitudes de red 127.0.0.1
https://www.itsvse.com/thread-9137-1-1.html
Publicado en 23/12/2020 20:51:15 |
Al modificar el contenido tras la respuesta
Publicado en 25/2/2021 19:39:28 |

Al modificar el contenido tras la respuesta
Publicado en 1/3/2021 13:03:56 |
espacio de nombres de FiddlerCoreStartupSettingsBuilder
Publicado en 13/3/2021 15:15:48 |
Aprende el código fuente
Publicado en 31/3/2021 17:15:20 |
Estúdialo y échale un vistazo
Publicado en 7/4/2021 18:09:31 |
Después de buscar todo un día, por fin encontré uno que se adaptaba a mis necesidades
Publicado en 5/5/2021 16:28:11 |
También es posible mover el proxy IE 127.0.0.1:9099
Publicado en 4/6/2021 11:27:23 |
333333333333333333
Publicado en 21/6/2021 0:33:29 |
session.bBufferResponse = true; ¿Es necesario configurarlo?
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com