Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 241781|Ответ: 55

[Консольная программа] .NET/C# использует FiddlerCore4 для перехвата и изменения HTTP-запросов

  [Скопировать ссылку]
Опубликовано 20.12.2020 13:39:53 | | | |
Последняя FiddlerCoreAPIFreeSetup, захват нового dll-файла, использование его после установки, http-библиотека обработки перехвата Fiddler, FiddlerCore в настоящее время доступна как классовая библиотека .NET, которую может использовать любое .NET-приложение. FiddlerCore предназначен для выделенных приложений, которые работают без пользовательского интерфейса, таких как автоматизация тестирования, или интерфейсы специально для интерфейсов, в которые не подходит Fiddler Addon, например, визуализация трафика WPF.

FiddlerCore теперь перешёл на платный формат, но до введения платы в бета-версии были выпущены несколько новых версий стандарта .NET, которые были доступны и не имели 30-дневного лимита. Полный SDK и демо доступны. Адрес для скачивания следующий:

FiddlerCoreAPIFree_4_6_20191_7809.zip скачать
Вход по гиперссылке виден.

Создайте новый консольный проект .NET 4.6.2: HttpCapture, который ссылается на библиотеку классов FiddlerCore45.dll, которую можно получить, скачав её, как указано выше.

Мероприятие Fiddler выглядит следующим образом:

//
        Сводка:
        Это событие срабатывает после завершения сессии
        публичное статическое событие SessionStateHandler AfterSessionComplete;
        //
        Сводка:
        Это событие срабатывает, когда Фиддлер захватывает сообщение WebSocket
        публичное статическое событие EventHandler<WebSocketMessageEventArgs> OnWebSocketMessage;
        [CodeDescription("Это событие запускает HTTPS-сертификат валидирован.")]
        публичное статическое событие EventHandler<ValidateServerCertificateEventArgs> OnValidateServerCertificate;
        //
        Сводка:
        Это событие срабатывает, когда доступны заголовки ответа
        публичное статическое событие SessionStateHandler ResponseHeadersAvailable;
        //
        Сводка:
        Это событие запускается, когда доступны заголовки запросов
        публичное статическое событие SessionStateHandler RequestHeadersAvailable;
        //
        Сводка:
        Это событие срабатывает, когда Fiddler получает ответ сервера
        публичное статическое событие SessionStateHandler BeforeResponse;
        //
        Сводка:
        Это событие срабатывает, когда Fiddler получает запрос клиента
        публичное статическое событие SessionStateHandler BeforeRequest;
        //
        Сводка:
        Это событие срабатывает каждый раз, когда FiddlerCore считывает данные из сети для клиента
        Просьба. Обратите внимание, что эти данные никак не отформатированы и должны быть проанализированы
        от получателя.
        публичное статическое событие<RawReadEventArgs> EventHandler OnReadRequestBuffer;
        //
        Сводка:
        Это событие срабатывает каждый раз, когда FiddlerCore считывает данные из сети для сервера
        Ответ. Обратите внимание, что эти данные никак не отформатированы и должны быть проанализированы
        от получателя.
        публичное статическое событие<RawReadEventArgs> EventHandler OnReadResponseBuffer;
        [CodeDescription("Это событие запускается, когда пользователь приказывает Fiddler очистить кэш или куки.")]
        публичное статическое событие<CacheClearEventArgs> EventHandler OnClearCache;
        //
        Сводка:
        Синхронизируйте это событие, чтобы получить уведомление, когда FiddlerCore присоединится в качестве системного прокси.")]
        [CodeDescription("Синхронизировать это событие для уведомления, когда FiddlerCore присоединится в качестве системного прокси.")]
        [Устарело("Пожалуйста, используйте Telerik.NetworkConnections.NetworkConnectionsManager.")]
        публичное статическое событие SimpleEventHandler FiddlerAttach;
        //
        Сводка:
        Синхронизируйте это событие, чтобы получить уведомление, когда FiddlerCore отсоединится как системный прокси.
        [CodeDescription("Синхронизировать это событие для уведомления, когда FiddlerCore отсоединится как системный прокси.")]
        [Устарело("Пожалуйста, используйте Telerik.NetworkConnections.NetworkConnectionsManager.")]
        публичное статическое событие SimpleEventHandler FiddlerDetach;
        [CodeDescription("Это событие срабатывает, когда появляется уведомление пользователя. См. CONFIG. Свойство QuietMode.")]
        публичное статическое событие EventHandler<NotificationEventArgs> OnNotification;
        //
        Сводка:
        Это событие срабатывает, когда Fiddler генерирует ответ на ошибку
        публичное статическое событие SessionStateHandler BeforeReturningError;
        //
        Сводка:
        Срабатывает каждый раз, когда Fiddler успешно принимает TCP/IP-соединение
        публичное статическое событие<ConnectionEventArgs> EventHandler AfterSocketAccept;
        //
        Сводка:
        Срабатывает каждый раз, когда Фиддлер успешно устанавливает TCP/IP-соединение
        публичное статическое событие<ConnectionEventArgs> EventHandler AfterSocketConnect;

Часто используемые события — BeforeRequest, BeforeResponse и AfterSessionComplete.

Если вы хотите заблокировать HTTPS-запросы, вам нужно установить сертификат, код которого следующий:

Прилагается код, чтобы определить, существует ли сертификат:

Результаты были следующими:

1. Перехватwww.itsvse.comЗапрос на сайт, который напрямую возвращает JSON-контент.
2. Заблокируйте сайт down.itsvse.com и после ответа замените строку «Uploaded by» на «Uploaded by»

Код таков:

Затем вручную установите агент IE 127.0.0.1:9099, также с настройками кода, следующим образом:

Настройте системный прокси IE с помощью .NET/C#
https://www.itsvse.com/thread-9495-1-1.html

Визуализации следующие:



Примечание: при изменении контента после ответа нужно настроить сессию в событии BeforeRequestsession.bBufferResponse = true;, иначе вы не сможете изменить содержимое ответа!

Скачать исходный код:

Туристы, если вы хотите увидеть скрытое содержание этого поста, пожалуйстаОтвет


(Конец)





Предыдущий:ASP.NET Онлайн-декомпиляция текущего исходного кода сайта MVC
Следующий:Формат запроса не распознается, потому что URL неожиданно заканчивается на «/itsvse».
 Хозяин| Опубликовано 30.06.2023 20:07:39 |
О сертификате:

Опубликовано 06.03.2022 10:33:30 |
Очень хорошо                       
 Хозяин| Опубликовано 28.06.2023 17:11:09 |
Решена проблема с тем, что Fiddler не мог сканировать локальные локальные запросы сети 127.0.0.1
https://www.itsvse.com/thread-9137-1-1.html
Опубликовано 23.12.2020 20:51:15 |
При изменении содержания после ответа
Опубликовано 25.02.2021 19:39:28 |

При изменении содержания после ответа
Опубликовано 01.03.2021 13:03:56 |
Пространство имён FiddlerCoreStartupSettingsBuilder
Опубликовано 13.03.2021 15:15:48 |
Изучите исходный код
Опубликовано 31.03.2021 17:15:20 |
Изучите и посмотрите
Опубликовано 07.04.2021 18:09:31 |
После целого дня поисков я наконец нашёл тот, который соответствовал моим потребностям
Опубликовано 05.05.2021 16:28:11 |
Также возможно переместить ie proxy 127.0.0.1:9099
Опубликовано 04.06.2021 11:27:23 |
333333333333333333
Опубликовано 21.06.2021 0:33:29 |
session.bBufferResponse = true; Обязательно ли это устанавливать?
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com