Универсальный инструмент для захвата пакетов Fiddler

Fiddler

1. Введение в Скрипач

Fiddler — это инструмент захвата http-пакетов, написанный на C#. Он гибкий, мощный и поддерживает множество задач по отладке HTTP.Это мощный инструмент для разработки и отладки веб-приложений и мобильных приложений.

Статья, которую я написал давноFiddler собирает данные и зарабатывает 500 юаней за 20 строк кода, случилось помочь другу решить его потребности. Спустя столько времени кто-то пришел ко мне, чтобы зафиксировать официальные данные аккаунта. Сегодня я поделюсь, как я использую инструмент Fiddler.

2. Настоящий бой

2.1 Установка инструмента

Адрес загрузки скрипача:www.telerik.com/fiddlerПерейдите по ссылке, чтобы войти на домашнюю страницу веб-сайта, как показано ниже.

Нажмите, чтобы загрузить, после чего вы перейдете на страницу анкеты, введите информацию для загрузки. Дважды щелкните загруженный установщик и нажмите «Далее» для установки.

2.2 Запрос на захват со стороны ПК

Посмотреть запросОткрытьFiddlerинструмент, эффект отображения выглядит следующим образом:

две настройки

  1. Открытьfiddler, щелкните меню ИнструментыTools->optins..->HTTPSвкладку, измените следующее:В основном проверьте здесьDecrypt HTTPS trafficэту опцию и выберите...from all processesВот и все. и нажмите справаActions, экспортируйте сертификат на рабочий стол.

  2. Открыть браузерInternet 选项->连接->局域网设置, появится следующая страница, здесь в основном добавьте IP-адрес и порт локального прокси.Примечание. Windows, похоже, не нуждается в этом шаге.

Фильтровать запросыпроверилFiddlerВ записи щелкните правой кнопкой мышиFilter Now, затем выберитеHide 'xxx'фильтровать.

Как показано на рисунке ниже, щелкните правой кнопкой мыши отфильтрованный запрос, чтобы автоматически отменить фильтрацию.

2.3 Запрос мобильного клиента на захват

конфигурация скрипачаОткрытьfiddler, щелкните меню ИнструментыTools->optins..->Connectionsвкладка, проверитьAllow remote computers to conectТо есть это означает, что разрешен прием подключений от удаленных клиентов.

Конфигурация телефона

  1. 查看服务IP地址 существуетcmdокно вводаipconfig /allПросмотрите информацию о сети и получите IP-адрес текущего компьютера, как показано ниже:

  2. Установить сертификат Посетите 192.168.1.105:8888 в мобильном браузере, загрузите на мобильныйFiddlerсертификат, как показано ниже:

    сертификат доверия айфона,设置->通用->描述文件, выберите сертификат и добавьте доверие.

  3. wifiНастроить прокси Включите телефонwifiНастройки, входим в настройки прокси, вот основные дополнения服务器,端口Эти две информации, нажмите сохранить. Как показано нижеУведомление:

  • Убедитесь, что мобильный телефон и компьютер находятся в одной локальной сети, а сервер запущенFiddlerIP-адрес компьютера, на котором находится инструмент.
  • Порт указан вышеFiddlerинструмент,Tools->optins..->ConnectionsЕго можно увидеть во вкладке, значение по умолчанию8888.

парсинг данныхДелайте что угодно на телефоне, на компьютереFiddlerОба отображают запрос на соответствующую операцию, как показано ниже:

2.4 Пользовательские правила Fiddler

Какие из вышеперечисленных конфигураций являются базовыми, а следующий шаг — изюминкой.FiddlerЕго сила в том, что он может изменять параметры запроса, отвечать на данные и настраивать правила по мере необходимости.OnBeforeRequestа такжеOnBeforeResponseДва наиболее часто используемых метода. нажмитеFiddlerменюRules->Customize Rules...Вы можете открыть инструмент скрипта, здесь скрипт поддерживает часто используемыеjsграмматика.

OnBeforeRequest

Означает что-то, что можно сделать до запроса. Реализованная здесь функция заключается в записи информации заголовка запроса веб-сайта в локальный файл. код показывает, как показано ниже:

if (oSession.uriContains("mobile/wx/product/"))
  { 
    var fso;  
    var file;
    fileName = fileName + "_" + ucp;
    fileName = fileName.replace(/\*/g,"");
    var filePath="C:\\mntListen\\" + fileName  + ".txt";
    fso = new ActiveXObject("Scripting.FileSystemObject");
    file = fso.OpenTextFile(filePath,2 ,true, false);
    file.writeLine(" " + oSession.oRequest.headers);
    file.close();
 }

Примечание. Если в соответствующем месте на диске нет пути к файлу, вам необходимо указать его, чтобы создать его вручную.

OnBeforeResponse

Это означает что-то, что можно сделать до того, как сообщение ответит. Мое требование здесь - отфильтровать веб-сайт и изменить его ответное сообщение.

if (oSession.uriContains("mobile/wx/detail/v2"))        
{ 
    var body = oSession.GetResponseBodyAsString();
    body = body.replace(/INVALID/g,"VALID");
    body = body.replace(/title/g,"title1");
    body = body.replace(/name/g,"title");
    oSession.utilSetResponseBody(body);
    file.close();
}

Приведенный выше код означает, что когда ссылка URL-адреса ответа содержитmobile/wx/detail/v2, чтобы заменить содержимое.

Посмотреть руководство по скрипачуОткрытьFiddlerИнструменты, правая сторона имеет использование общих объектов, с которыми можно быстро ознакомиться.

3. Наконец

Потребовалось почти два дня, чтобы, наконец, помочь другу решить его проблему, что является большим достижением! Были времена, когда я хотел сдаться, но, в конце концов, я много раз общался со своими друзьями и полностью понимал потребности, прежде чем я закончил. В конце концов, я пришел к выводу: при разработке проекта нам сначала нужно понять потребности клиентов, прежде чем мы сможем найти для них решения. если вы также используетеFiddlerЕсли есть проблема с инструментом, давайте обсудим ее вместе!

Ссылаться на

Беспокойная обезьяна
Усердно делитесь технологией!