Привет, хабровчане!

У вас было такое, когда снифаешь спокойно трафик через бесплатную версию Charles, а потом появляется окошко через час работы и закрывает программу? А может вы думаете, что переросли функционал других снифферов и хотите попробовать что-то новое и необычное? Или устали от грустного UI, когда перехватываете запросы? Если хотя бы на один вопросов вы ответили «да» — добро пожаловать в эту обзорную статью.

Меня зовут Антон, я QA Web & Mobile в компании MobileUp. И сегодня я расскажу о полезном инструменте для сниффинга трафика в вебе от команды Postman. А именно — о Postman Interceptor. В статьем разберём, что это, для чего нужно, как установить и пользоваться. А в конце я оставлю ответы на вопросы, которые мне задавали коллеги, когда я рассказал про этот инструмент.

Что такое Postman Interceptor

Postman Interceptor — это расширение для перехвата трафика. Но с одной оговоркой: он используется только в браузере и, как правило, в связке с desktop-версией Postman.

Для чего используется Postman Interceptor:

  1. для сниффинга веб-трафика;

  2. для более детальной и «неклассической» работы с запросами;

  3. для создания новых неклассических тестовых сценариев быстро, удобно и просто.

Как установить Postman Interceptor в ваш браузер

Первым делом нужно установить расширение. Ниже оставляю ссылки для разных браузеров:

Дальше понадобится установленный Postman и работающий десктоп-девайс.

В некоторых пунктах я буду писать об установке на версии v.10 и версиях до 10, так как процесс для них немного отличается. 

Перейдите в раздел управления прокси (Start Proxy), нажав соответствующую надпись в правом нижнем углу приложения:

Следующие шаги зависят от версии приложения. Рассмотрим отдельно алгоритм установки для версии приложения 10 и выше и до 10 (в примерах у меня 9)

Версия 10 и новее

Откройте вкладку Interceptor:

Нажмите Start Proxy Session → Откроется окно с установкой сертификата  → Нажмите «Да»

Поздравляю, процесс снифинга начался!

Чтобы убедиться, что “нюхач” начал делать свою работу, перейдите в браузер и нажмите на расширение. При нажатии на значок Postman Interceptor, откроется вот такое окно с запросами, а снизу на кнопке появится  надпись «Stop Capture» (в самом Postman откроется соответствующая вкладка, и полетят запросы, если всё правильно включилось).


Запускать Interceptor можно через расширение в браузере или же через десктоп версию Postman. 

Редко случается, что утилита не включается в браузере, но включается в десктоп-версии приложения и наоборот. Мне в таких случаях помогало повторное включение или же включение из другого места (из браузера, если ранее включили в десктоп-версии, и наоборот).

Версия 9 и старше

Откройте вкладку Interceptor → Выберите Via Interceptor:


Здесь нужно нажать Install Interceptor Bridge, иначе наш нюхач не запустится ????

После нажатия обычно проходит несколько секунд, и синяя рамка меняется на зелёную:

После установки моста появится ещё два новых поля, и вкладка будет выглядеть так:

В первом поле вы можете выбрать коллекцию, куда будут лететь все снифаемые запросы. Во втором — поставить фильтр на определенный URL. В третьем поле — установить фильтры интересующего метода.

В моем случае заполненная страница выглядит так:

Congratulations! Вы прошли душную настройку! 

Как  пользоваться Postman Interceptor 

Теперь перейдем непосредственно к процессу «вынюхивания» запросов.

  1. Добавьте нужные фильтры в Interceptor:

  1. Нажмите Start Proxy Session в Postman или же Start Capture в Postman Interceptor. Наслаждайтесь перехватом!

Видео с кратким примером, как это всё работает, добавляю ниже: 

F.A.Q.

Я решил не расписывать подробно, что можно делать с запросами, так как это всем знакомые запросы в Postman. И в интернет есть множество статей, рассказывающих, как с ними работать. Вместо этого я дам ответы на вопросы, которые часто слышал от коллег. 

  • Можно ли снифать трафик одновременно с нескольких браузеров?

  • Да, можно. Я пробовал максимум с двух-трёх, но думаю при желании можно и больше.

  • Почему нужно выбрать его, а не более распространенный сниффер, например, Charles Proxy? 

  • Может показаться, что Interceptor уступает по функционалу другим «полноценным» снифферам, но это не так. 

Лично для себя я выделяю несколько преимуществ этого сниффера перед другими.
Во-первых, это фактически браузерный Postman! А он обладает огромным функционалом, который можно реализовать в самых разных областях. Например, можно удобно писать автотесты в Postman (почему бы и нет?)

Во-вторых, это интерфейс и поддержка. Charles Proxy, бесспорно, обладает серьёзным функционалом, но его интерфейс на сегодняшний день кажется устаревшим. И он достаточно редко получает апдейты (а его завершение сессии через час работы на бесплатной версии просто ужасно).
Команда Postman не забывает про своё творение и частенько обновляет этот плагин. Это подтверждает недавний его редизайн и изменение флоу установки.

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

  • Инструмент подходит только для Web-тестирования?

  • Да, данный инструмент заточен чисто под Web и может быть использован при его тестировании. 

Если у вас тоже есть вопросы, смело пишите их в комментариях. Буду рад помочь!

Комментарии (5)


  1. igor_pugatschev
    29.11.2023 09:00

    В постмане есть сертификат.

    Добавляем его на мобильное устройство, чтобы читать шифрованный трафик по https протоколу

    В андроид-приложение добавляем несколько строк кода в манифест

    Включаем в постмане режим прокси

    Подключаем мобильное устройство в туже сеть, что и ПК. Принимаем предупреждение, что сеть ненадежна.

    Вуаля, мы снифим мобильный трафик

    Ус


  1. Papinva
    29.11.2023 09:00

    Спасибо за статью, было бы интересно узнать чем же intercept лучше Charles. Маппинг запросов? Подмена параметров запросов? В чарлике беда в интерфейсе это факт. Но позволяет ли intercept делать все то что позволяет чарлик хотя бы в рамках веба?


    1. AntonioSux Автор
      29.11.2023 09:00

      Спасибо большое!)
      На текущий момент Interceptor лишь частично покрывает функционал Charles, но продукт развивается достаточно активно, на мой взгляд, и что добавление функционала лишь вопрос времени. Тут стоит отметить,что Postman(соответственно и Interceptor) всегда был заточен немного под другие задачи в тестировании API нежели Charles, поэтому возможности использования немного другие, другая специфика.
      Скорее главным преимуществом Interceptor`a является то, что ограничен лишь функционалом Postman`a , который действительно может быть применен разнообразным образом)
      Эта статья была направлена скорее на то,чтобы немного развить интерес к расширению , показать, что оно в принципе существует. Может, кто-то её найдет полезной для своих задач и напишет статью уже с практическим применением в конкретных кейсах, может это даже буду я ,если дойдут пальцы до печати)


  1. maximq
    29.11.2023 09:00

    Почему мало кто знает про Fiddler? Из его плюсов: бесплатный, поддержка кастомных правил с помощью скриптов. Можно даже настроить автоизменение заголовков или тела. Например, я использовал правила чтобы фильтровать запросы только от андроида


    1. AntonioSux Автор
      29.11.2023 09:00

      Мне кажется, что кто пользовался Чарликом, тот должен был что-то слышать про Фиддлер).
      Сам я очень давно им пользовался, но на тот момент для меня он не подошел по нескольким причинам:
      1. У фиддлера есть 2 варианта, насколько я помню - Classic и Everywhere. Classic обладает старым и непонятным интерфейсом и не поддерживается на MacOS (в настоящее время я использую именно эту ОС). Everywhere также имеет проблемы с установкой, т.к. устанавливается только на девайсы с процессором от Apple + кажется, что он тоже платный (могу ошибаться).
      2. Что касается функционала, то текущая версия Interceptor'а пока еще имеет некоторые недостатки (в т.ч. в отсутствии части функционала, которые все привыкли видеть в популярных снифферах), но они перекрываются тем функционалом, что предлагает Postman.
      Как пользователю, мне просто интересно следить именно за этим инструментов, потому что он предлагает что-то новое для сниффинга и тестирования API)