Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 241781|Odpowiedź: 55

[Program konsolowy] .NET/C# wykorzystuje FiddlerCore4 do przechwytywania i modyfikowania zapytań HTTP

  [Skopiuj link]
Opublikowano 20.12.2020 13:39:53 | | | |
Najnowsza wersja FiddlerCoreAPIFreeSetup, przechwycająca nowy plik dll, używając go po instalacji, niestandardowa biblioteka przetwarzania przechwytów http Fiddlera, FiddlerCore, jest obecnie dostępna jako biblioteka klas .NET, którą może używać dowolna aplikacja .NET. FiddlerCore został zaprojektowany dla dedykowanych aplikacji działających bez interfejsu użytkownika, takich jak automatyzacja testów, lub interfejsów dedykowanych interfejsom, w których Fiddler Addon nie pasuje, takich jak wizualizacja ruchu WPF.

FiddlerCore przeszedł teraz na płatny tryb, ale przed naliczeniem opłaty wydano kilka nowych wersji standardu .NET w wersji beta, które były dostępne i nie miały limitu 30 dni. Pełne SDK i demo są dostępne. Adres pobrania jest następujący:

FiddlerCoreAPIFree_4_6_20191_7809.zip pobierz
Logowanie do linku jest widoczne.

Stwórz nowy projekt konsolowy .NET 4.6.2: HttpCapture, który odnosi się do biblioteki klas FiddlerCore45.dll, którą można pozyskać, pobierając ją jak powyżej.

Wydarzenie Fiddler wygląda następująco:

//
        Streszczenie:
        To zdarzenie uruchamia się po zakończeniu sesji
        publiczne zdarzenie statyczne SessionStateHandler AfterSessionComplete;
        //
        Streszczenie:
        To zdarzenie uruchamia się, gdy Fiddler przechwyci wiadomość WebSocket
        publiczne zdarzenie statyczne EventHandler<WebSocketMessageEventArgs> OnWebSocketMessage;
        [CodeDescription("To zdarzenie uruchamia certyfikat HTTPS jest zweryfikowany.")]
        publiczne zdarzenie statyczne EventHandler<ValidateServerCertificateEventArgs> OnValidateServerCertificate;
        //
        Streszczenie:
        To zdarzenie uruchamia się, gdy dostępne są nagłówki odpowiedzi
        publiczne zdarzenie statyczne SesjaStanieObsługa OdpowiedźOdpowiedziDostępne;
        //
        Streszczenie:
        To zdarzenie uruchamia się, gdy dostępne są nagłówki żądań
        publiczne zdarzenie statyczne SessionStateHandler RequestHeadersAvailable;
        //
        Streszczenie:
        To zdarzenie uruchamia się, gdy Fiddler otrzyma odpowiedź serwera
        publiczne zdarzenie statyczne SessionStateHandler BeforeResponse;
        //
        Streszczenie:
        To zdarzenie uruchamia się, gdy Fiddler otrzyma żądanie klienta
        publiczne zdarzenie statyczne SessionStateHandler BeforeRequest;
        //
        Streszczenie:
        To zdarzenie uruchamia się za każdym razem, gdy FiddlerCore odczytuje dane z sieci dla klienta
        prośba. Należy zauważyć, że dane te nie są w żaden sposób sformatowane i muszą być analizowane
        przez odbiorcę.
        publiczne zdarzenie statyczne EventHandler<RawReadEventArgs> OnReadRequestBuffer;
        //
        Streszczenie:
        To zdarzenie uruchamia się za każdym razem, gdy FiddlerCore odczytuje dane z sieci dla serwera
        odpowiedź. Należy zauważyć, że dane te nie są w żaden sposób sformatowane i muszą być analizowane
        przez odbiorcę.
        publiczne zdarzenie statyczne EventHandler<RawReadEventArgs> OnReadResponseBuffer;
        [CodeDescription("To zdarzenie uruchamia się, gdy użytkownik instruuje Fiddlera o wyczyszczenie pamięci podręcznej lub plików cookie.")]
        publiczne statyczne zdarzenie EventHandler<CacheClearEventArgs> OnClearCache;
        //
        Streszczenie:
        Zsynchronizuj to zdarzenie, aby otrzymać powiadomienie, gdy FiddlerCore zostanie podłączony jako proxy systemowy.")]
        [CodeDescription("Synchronizuj to zdarzenie, aby zostać powiadomione, gdy FiddlerCore zostanie podłączony jako proxy.")]
        [Przestarzałe ("Proszę, użyj Telerik.NetworkConnections.NetworkConnectionsManager.")]
        publiczne wydarzenie statyczne SimpleEventHandler FiddlerAttach;
        //
        Streszczenie:
        Zsynchronizuj to zdarzenie, aby otrzymać powiadomienie, gdy FiddlerCore odłączy się jako system proxy.
        [CodeDescription("Synchronizuj to zdarzenie, aby otrzymać powiadomienie, gdy FiddlerCore odłączy się jako proxy.")]
        [Przestarzałe ("Proszę, użyj Telerik.NetworkConnections.NetworkConnectionsManager.")]
        publiczne zdarzenie statyczne SimpleEventHandler FiddlerDetach;
        [CodeDescription("To zdarzenie uruchamia się, gdy pojawi się powiadomienie użytkownika. Zobacz CONFIG. Własność QuietMode.")]
        publiczne statyczne zdarzenie<NotificationEventArgs> EventHandler OnNotification;
        //
        Streszczenie:
        To zdarzenie uruchamia się, gdy Fiddler generuje odpowiedź błędu
        publiczne zdarzenie statyczne SessionStateHandler BeforeReturningError;
        //
        Streszczenie:
        Uruchamiane za każdym razem, gdy Fiddler pomyślnie zaakceptuje połączenie TCP/IP
        publiczne zdarzenie statyczne EventHandler<ConnectionEventArgs> AfterSocketAccept;
        //
        Streszczenie:
        Uruchamiane za każdym razem, gdy Fiddler pomyślnie nawiązuje połączenie TCP/IP
        publiczne zdarzenie statyczne EventHandler<ConnectionEventArgs> AfterSocketConnect;

Najczęściej używane zdarzenia to BeforeRequest, BeforeResponse oraz AfterSessionComplete.

Jeśli chcesz zablokować żądania HTTPS, musisz zainstalować certyfikat, a kod jest następujący:

Dołączony jest kod określający, czy certyfikat istnieje:

Osiągnęliśmy następujące rezultaty:

1. Przechwyceniewww.itsvse.comProśba o stronę, która zwraca fragment treści JSON bezpośrednio.
2. Zablokować down.itsvse.com stronę i po odpowiedzi zastąpić ciąg "Uploaded by" na "Uploaded by"

Kod jest następujący:

Następnie ręcznie ustaw agenta ie na 127.0.0.1:9099, również z ustawieniami kodu, w następujący sposób:

Skonfiguruj system IE proxy w .NET/C#
https://www.itsvse.com/thread-9495-1-1.html

Przedstawienia przedstawiają się następująco:



Uwaga: Przy modyfikacji treści po odpowiedzi musisz ustawić sesję w zdarzeniu BeforeRequestsession.bBufferResponse = true;, w przeciwnym razie nie możesz modyfikować treści odpowiedzi!

Pobranie kodu źródłowego:

Turyści, jeśli chcecie zobaczyć ukrytą zawartość tego wpisu, proszęOdpowiedź


(Koniec)





Poprzedni:ASP.NET Online dekompilacja aktualnego kodu źródłowego strony internetowej MVC
Następny:Format żądania nie jest rozpoznawany, ponieważ URL niespodziewanie kończy się na "/itsvse".
 Ziemianin| Opublikowano 30.06.2023 20:07:39 |
O certyfikacie:

Opublikowano 06.03.2022 10:33:30 |
Bardzo dobrze                       
 Ziemianin| Opublikowano 28.06.2023 17:11:09 |
Rozwiązano problem, że Fiddler nie mógł przeszukiwać lokalnego localhosta, 127.0.0.1 zapytań sieciowych 127.0.0.1
https://www.itsvse.com/thread-9137-1-1.html
Opublikowano 23.12.2020 20:51:15 |
Podczas modyfikowania treści po odpowiedzi
Opublikowano 25.02.2021 19:39:28 |

Podczas modyfikowania treści po odpowiedzi
Opublikowano 01.03.2021 13:03:56 |
przestrzeń nazw FiddlerCoreStartupSettingsBuilder
Opublikowano 13.03.2021 15:15:48 |
Poznaj kod źródłowy
Opublikowano 31.03.2021 17:15:20 |
Przeanalizuj to i spójrz
Opublikowano 07.04.2021 18:09:31 |
Po całym dniu poszukiwań w końcu znalazłem taki, który spełnił moje potrzeby
Opublikowano 05.05.2021 16:28:11 |
Możliwe jest także przeniesienie proxy ie 127.0.0.1:9099
Opublikowano 04.06.2021 11:27:23 |
333333333333333333
Opublikowano 21.06.2021 00:33:29 |
session.bBufferResponse = true; Czy konieczne jest ustawienie tego systemu?
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com