Proxyman: от настройки до использования

Привет! Не нашла статей в интернете, которые бы классно описывали настройку и возможности Proxyman (в отличие от Charles, имхо) для русскоговорящей аудитории, давай это исправим, и я расскажу, как настроить Proxyman и какие возможности у него есть для тебя 🧡.

Proxyman - сниффер трафика, позволяющий отслеживать запросы и ответы, подменять любые части запроса и ответа, работает как на Windows, так и на MacOS. Молодой и развивающийся инструмент, имеющий супер friendly функционал, живую поддержку и темную тему в своем арсенале 😎.

Proxyman: от настройки до использования

I. Скачиваем приложение

Здесь же мы получим уведомление о том, что пользуемся пробной версией и предложение купить Pro-подписку. Стоит ли покупать подписку поговорим в самом конце, я пользовалась обеими и мне есть, что рассказать.

Сразу рекомендую установить темную тему, если для тебя это важно: Settings → Appearance → App Theme: Dark Theme. И отключить автоматическое проксирование ПК при запуске: Settings → Auto Override System Proxy Settings at Launch - снимаем галочку.

II. Устанавливаем сертификат на ПК и доверяем ему

Certificate → Install Certificate on this Mac/Windows. В появившемся окне нажимаем "Install and Trust".

Proxyman: от настройки до использования

Далее соглашаемся с возможностью вносить изменения на этот ПК, и готово!

Proxyman: от настройки до использования

Тут круто то, что автоматически настроится доверие сертификату и не нужно это делать вручную.

Proxyman подскажет, что серт скачан и мы ему доверяем зелененьким:

Proxyman: от настройки до использования

И вот так, если еще не все готово:

Proxyman: от настройки до использования

Если сертификат автоматически не стал доверенным:

  • кликаем на Manage Certificates
  • перебросило в настройки Proxyman
  • кликаем на желтую надпись под сертификатом "Installed, But not trusted"
  • попадаем в системные настройки сертификатов и ключей
  • в Trust меняем на "Always Trust"
  • закрываем окно, подтверждая наш выбор (потребует ввести пароль).

III. Устанавливаем сертификат на мобилки

Android/ IOS:

  • Certificate → Install Certificate on Android/IOS → Physical Devices.

Дальше открывается инструкция от Proxyman по установке сертификата - выполняем ее, основные действия:

  • подключаем WiFi с настроенным прокси-сервером, выставляя хост и порт, которые он просит
  • открываем браузер на девайсе по ссылке http://cert.proxyman.io или http://proxy.man/ssl
  • скачиваем сертификат и доверяем ему в настройках телефона.

Если не получается скачать сертификат, проверь настройки Firewall - должно быть разрешено входящее соединение Proxyman (Настройки → Сеть → Firewall). Если там все окей, может помочь "забыть эту WiFi сеть", перезагрузка Proxyman, переподключение к WiFi на ПК. Еще убедишь, что выключены все VPN, антивирусы, и твои расширения не блокируют трафик прокси.

Proxyman: от настройки до использования
Proxyman: от настройки до использования

IV. Настраиваем SSL

Tools → SSL Proxying List. Включаем Enable SSL Proxying Tool ✅ и добавляем звездочкой (*) все хосты в Include list. Теперь мы видим весь входящий и исходящий трафик с подключенных устройств.

Proxyman: от настройки до использования

V. Где что ...

  • проверь, что у тебя включено проксирование - отображается ⏸ в левом верхнем углу
  • слева появятся подключенные устройства, чтобы не путаться между ними переименуй их в удобные для тебя названия. Я разделяю по моделям + место подключения (дом/ офис)
Proxyman: от настройки до использования
  • по Time можно отфильтровать отображение новых запросов - вверху или внизу (№1)
  • по клику на запрос открывается вся информация о запросе и ответе (№2)
  • на примере запроса в Wiki видим, что слева (№3) отображается инфа о запросе: header, query, body, Cookies. А справа (№4) инфа об ответе: header, body...
Proxyman: от настройки до использования

Кстати, очень классная реализована штука в ответе - Treeview. Если ответ громадный, а нужна структура (например, для автотеста), то treeview очень поможет понять структуру запроса и не запутаться.

Proxyman: от настройки до использования
  • чтобы воспользоваться поиском по запросам нажимаем CTRL+F. Там можно отфильтровать как тебе нужно.
Proxyman: от настройки до использования

VI. Tools

Breakpoint

  • для подмены запроса/ответа в моменте отправки
  • правой кнопкой мыши на запрос → Tools → Breakpoint или в меню Tools → Breakpoint.

Ставь * после пути, если не нужно смотреть на какие-то кастомные квери-параметры или * после домена, если путь не важен.
Если нужно подменить только ответ, то убирай галочку с Request для удобства.

Proxyman: от настройки до использования

Map Local

  • для подмены ответа константными данными
  • правой кнопкой мыши на запрос → Tools → Map Local или в меню Tools → Map Local.
Proxyman: от настройки до использования

Map Remote

  • для перенаправления запроса на другой адрес
  • правой кнопкой мыши на запрос → Tools → Map Remote или в меню Tools → Map Remote.
Proxyman: от настройки до использования

Scripting

  • позволяет гибко модифицировать запрос/ответ: менять заголовки, тело, перенаправлять запросы, добавлять/удалять куки и т.д., работает на Java Script. Я использую Scripting, если мне нужно подменить хэдеры и перенаправить запрос, еще и в боди что-нибудь добавить - универсально вместо отдельных Breakpoint + Map Remote + Map Local. Да иногда даже, чтоб с помощью Breakpont не менять каждый раз body запроса я использую Scripting, который после включения будет применяться ко всем последующим запросам, а не одноразово как Breakpoint. Документация от Proxyman по настройке скрипта https://docs.proxyman.com/scripting/script
  • Tools → Scripting
Proxyman: от настройки до использования

Лайфхак: скинув схему скрипта в Proxyman искусственному интеллекту и объяснив что тебе нужно подменить/добавить, он обычно сразу накидывает рабочие варианты и не нужно закапываться в синтаксисе.

Network Conditions

  • имитация разных скоростей сети (2G, 3G и т. д.)
  • Tools → Network Conditions
  • можно выбрать пресеты (3G, 4G) или выставить свои параметры
Proxyman: от настройки до использования

XI. Экспорт запросов и ответов

  • для отправки коллегам для дебагинга/ примера и т.д
  • выделяем нужные запросы → нажимаем правой кнопкой мыши → Export → as HAR (HTTP Archive).
Proxyman: от настройки до использования

XII. Trial VS Pro

У меня месяц назад закончилась подписка и я пока ее не продлеваю, в целом, тестированию не мешает, что из критичного:

  • только одно правило можно создать по всем инструментам, что накладывает некоторе ограничения. Я не смогу применить на два и более разных запросов Map Local/Breakpoint/Map Remote. Пока не нужно было, но в дальнейшем может понадобиться и тогда либо использовать Scripting, либо Charles 😭..

Как я обхожу это ограничение: экспортирую все важные скрипты, map local в папку на компьютере и просто в нудный момент импортирую обратно в Proxyman.

Резюмируем

Если тебе не нужно одновременно подменять несколько разных запросов, то Proxyman отлично подойдет, а если нет, то печально, так как подписка из России не доступна, да и цена не каждому понравится. В целом, Proxyman очень интуитивный, удобный, быстро работающий инструмент, ни разу не подводил, с очень доступной документацией, highly recommend!

Начать дискуссию