Как отфильтровать POST-запросы в fiddler по телу?

#windows #post #fiddler

#Windows #Публикация #скрипач

Вопрос:

Использование Fiddler.

Я слушаю только трафик, например

superhost.org

который добавляется в мои фильтры (например, через «Показывать только, если URL содержит«).

Трафик состоит из похожих POST-запросов, которые могут отличаться только по телу. Пример:

Первый запрос:

 {
  "param 1" : "1"
  "param 2" : "2"
}
  

Второй запрос:

 {
  "param 1" : "1"
  "param 2" : "3"
}
  

Все заголовки и т. Д. Одинаковые, Отличается только тело.

Вопрос: Как я могу прослушивать (просто говоря — см. В списке запросов в Fiddler) только запросы, у которых в теле есть «параметр 2»: «3». (Итак, в нашем примере fakeExample, Request1 должен быть отфильтрован, и только Request2 должен прослушиваться Fiddler)

Комментарии:

1. Под «прослушанным» вы подразумеваете отображение в списке запросов / ответов?

2. @Robert: в списке запросов, который мы видим в Fiddler в левой части.

Ответ №1:

Вы можете сделать это с помощью Fiddler.Script, который считывает тело, проверяет, содержит ли оно строку, и, если находит строку, скрывает полный запрос / ответ:

 static function OnBeforeRequest(oSession: Session) {
    
    if (oSession.HostnameIs("superhost.org")) {
        var body = oSession.GetRequestBodyAsString();
        if (!body.Contains(""param 2" : "3"")) {
            oSession["ui-hide"] = "does not have search string";
        }
    }
}
  

Для более продвинутой версии вы могли бы проверить путь и / или content-type запроса до, а затем проанализировать его в JSON, чтобы изменения форматирования не влияли на распознавание искомого значения.