1. Введение в Скрипач
Fiddler — это инструмент захвата http-пакетов, написанный на C#. Он гибкий, мощный и поддерживает множество задач по отладке HTTP.Это мощный инструмент для разработки и отладки веб-приложений и мобильных приложений.
Статья, которую я написал давноFiddler собирает данные и зарабатывает 500 юаней за 20 строк кода, случилось помочь другу решить его потребности. Спустя столько времени кто-то пришел ко мне, чтобы зафиксировать официальные данные аккаунта. Сегодня я поделюсь, как я использую инструмент Fiddler.
2. Настоящий бой
2.1 Установка инструмента
Адрес загрузки скрипача:www.telerik.com/fiddlerПерейдите по ссылке, чтобы войти на домашнюю страницу веб-сайта, как показано ниже.
Нажмите, чтобы загрузить, после чего вы перейдете на страницу анкеты, введите информацию для загрузки. Дважды щелкните загруженный установщик и нажмите «Далее» для установки.
2.2 Запрос на захват со стороны ПК
Посмотреть запросОткрытьFiddler
инструмент, эффект отображения выглядит следующим образом:
две настройки
-
Открыть
fiddler
, щелкните меню ИнструментыTools->optins..->HTTPS
вкладку, измените следующее:В основном проверьте здесьDecrypt HTTPS traffic
эту опцию и выберите...from all processes
Вот и все. и нажмите справаActions
, экспортируйте сертификат на рабочий стол. -
Открыть браузер
Internet 选项->连接->局域网设置
, появится следующая страница, здесь в основном добавьте IP-адрес и порт локального прокси.Примечание. Windows, похоже, не нуждается в этом шаге.
Фильтровать запросыпроверилFiddler
В записи щелкните правой кнопкой мышиFilter Now
, затем выберитеHide 'xxx'
фильтровать.
Как показано на рисунке ниже, щелкните правой кнопкой мыши отфильтрованный запрос, чтобы автоматически отменить фильтрацию.
2.3 Запрос мобильного клиента на захват
конфигурация скрипачаОткрытьfiddler
, щелкните меню ИнструментыTools->optins..->Connections
вкладка, проверитьAllow remote computers to conect
То есть это означает, что разрешен прием подключений от удаленных клиентов.
Конфигурация телефона
-
查看服务IP地址 существует
cmd
окно вводаipconfig /all
Просмотрите информацию о сети и получите IP-адрес текущего компьютера, как показано ниже: -
Установить сертификат Посетите 192.168.1.105:8888 в мобильном браузере, загрузите на мобильный
сертификат доверия айфона,Fiddler
сертификат, как показано ниже:设置->通用->描述文件
, выберите сертификат и добавьте доверие. -
wifi
Настроить прокси Включите телефонwifi
Настройки, входим в настройки прокси, вот основные дополнения服务器
,端口
Эти две информации, нажмите сохранить. Как показано нижеУведомление:
- Убедитесь, что мобильный телефон и компьютер находятся в одной локальной сети, а сервер запущен
Fiddler
IP-адрес компьютера, на котором находится инструмент. - Порт указан выше
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
Если есть проблема с инструментом, давайте обсудим ее вместе!
Ссылаться на
- Детали захвата Fiddler:у-у-у. Краткое описание.com/afraid/1 из 57 из 8 из 1 ах…