Привет, хабровчане!
У вас было такое, когда снифаешь спокойно трафик через бесплатную версию Charles, а потом появляется окошко через час работы и закрывает программу? А может вы думаете, что переросли функционал других снифферов и хотите попробовать что-то новое и необычное? Или устали от грустного UI, когда перехватываете запросы? Если хотя бы на один вопросов вы ответили «да» — добро пожаловать в эту обзорную статью.
Меня зовут Антон, я QA Web & Mobile в компании MobileUp. И сегодня я расскажу о полезном инструменте для сниффинга трафика в вебе от команды Postman. А именно — о Postman Interceptor. В статьем разберём, что это, для чего нужно, как установить и пользоваться. А в конце я оставлю ответы на вопросы, которые мне задавали коллеги, когда я рассказал про этот инструмент.
Что такое Postman Interceptor
Postman Interceptor — это расширение для перехвата трафика. Но с одной оговоркой: он используется только в браузере и, как правило, в связке с desktop-версией Postman.
Для чего используется Postman Interceptor:
для сниффинга веб-трафика;
для более детальной и «неклассической» работы с запросами;
для создания новых неклассических тестовых сценариев быстро, удобно и просто.
Как установить 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
Теперь перейдем непосредственно к процессу «вынюхивания» запросов.
Добавьте нужные фильтры в Interceptor:
Нажмите Start Proxy Session в Postman или же Start Capture в Postman Interceptor. Наслаждайтесь перехватом!
Видео с кратким примером, как это всё работает, добавляю ниже:
F.A.Q.
Я решил не расписывать подробно, что можно делать с запросами, так как это всем знакомые запросы в Postman. И в интернет есть множество статей, рассказывающих, как с ними работать. Вместо этого я дам ответы на вопросы, которые часто слышал от коллег.
Можно ли снифать трафик одновременно с нескольких браузеров?
Да, можно. Я пробовал максимум с двух-трёх, но думаю при желании можно и больше.
Почему нужно выбрать его, а не более распространенный сниффер, например, Charles Proxy?
Может показаться, что Interceptor уступает по функционалу другим «полноценным» снифферам, но это не так.
Лично для себя я выделяю несколько преимуществ этого сниффера перед другими.
Во-первых, это фактически браузерный Postman! А он обладает огромным функционалом, который можно реализовать в самых разных областях. Например, можно удобно писать автотесты в Postman (почему бы и нет?)
Во-вторых, это интерфейс и поддержка. Charles Proxy, бесспорно, обладает серьёзным функционалом, но его интерфейс на сегодняшний день кажется устаревшим. И он достаточно редко получает апдейты (а его завершение сессии через час работы на бесплатной версии просто ужасно).
Команда Postman не забывает про своё творение и частенько обновляет этот плагин. Это подтверждает недавний его редизайн и изменение флоу установки.
В-третьих, достаточно мало людей слышали о нём, а если и слышали, то не использовали. Вы можете почувствовать себя в клубе избранных и говорить позже коллегам, что пользовались Interceptor до того, как это стало мейнстримом .
Инструмент подходит только для Web-тестирования?
Да, данный инструмент заточен чисто под Web и может быть использован при его тестировании.
Если у вас тоже есть вопросы, смело пишите их в комментариях. Буду рад помочь!
Комментарии (5)
Papinva
29.11.2023 09:00Спасибо за статью, было бы интересно узнать чем же intercept лучше Charles. Маппинг запросов? Подмена параметров запросов? В чарлике беда в интерфейсе это факт. Но позволяет ли intercept делать все то что позволяет чарлик хотя бы в рамках веба?
AntonioSux Автор
29.11.2023 09:00Спасибо большое!)
На текущий момент Interceptor лишь частично покрывает функционал Charles, но продукт развивается достаточно активно, на мой взгляд, и что добавление функционала лишь вопрос времени. Тут стоит отметить,что Postman(соответственно и Interceptor) всегда был заточен немного под другие задачи в тестировании API нежели Charles, поэтому возможности использования немного другие, другая специфика.
Скорее главным преимуществом Interceptor`a является то, что ограничен лишь функционалом Postman`a , который действительно может быть применен разнообразным образом)
Эта статья была направлена скорее на то,чтобы немного развить интерес к расширению , показать, что оно в принципе существует. Может, кто-то её найдет полезной для своих задач и напишет статью уже с практическим применением в конкретных кейсах, может это даже буду я ,если дойдут пальцы до печати)
maximq
29.11.2023 09:00Почему мало кто знает про Fiddler? Из его плюсов: бесплатный, поддержка кастомных правил с помощью скриптов. Можно даже настроить автоизменение заголовков или тела. Например, я использовал правила чтобы фильтровать запросы только от андроида
AntonioSux Автор
29.11.2023 09:00Мне кажется, что кто пользовался Чарликом, тот должен был что-то слышать про Фиддлер).
Сам я очень давно им пользовался, но на тот момент для меня он не подошел по нескольким причинам:
1. У фиддлера есть 2 варианта, насколько я помню - Classic и Everywhere. Classic обладает старым и непонятным интерфейсом и не поддерживается на MacOS (в настоящее время я использую именно эту ОС). Everywhere также имеет проблемы с установкой, т.к. устанавливается только на девайсы с процессором от Apple + кажется, что он тоже платный (могу ошибаться).
2. Что касается функционала, то текущая версия Interceptor'а пока еще имеет некоторые недостатки (в т.ч. в отсутствии части функционала, которые все привыкли видеть в популярных снифферах), но они перекрываются тем функционалом, что предлагает Postman.
Как пользователю, мне просто интересно следить именно за этим инструментов, потому что он предлагает что-то новое для сниффинга и тестирования API)
igor_pugatschev
В постмане есть сертификат.
Добавляем его на мобильное устройство, чтобы читать шифрованный трафик по https протоколу
В андроид-приложение добавляем несколько строк кода в манифест
Включаем в постмане режим прокси
Подключаем мобильное устройство в туже сеть, что и ПК. Принимаем предупреждение, что сеть ненадежна.
Вуаля, мы снифим мобильный трафик
Ус