
Всем привет, на связи Дима Котиков. Продолжаем рассматривать инструменты перехвата и подмены интернет‑трафика при разработке.
В прошлой статье мы разобрали, когда может потребоваться перехватывать интернет‑трафик, делать моки для запросов, перенаправлять трафик на локальные серверы. Посмотрели, как работает сниффер, и поняли, что для успешного использования сниффера нам нужен root‑сертификат.
В этой статье разберем настройку сниффера для прослушивания интернет‑трафика.
Установка и запуск OWASP ZAP
Настройка у различных программ‑снифферов может различаться, но общий принцип один:
сгенерировать root‑сертификат;
установить root‑сертификат на клиенте;
настроить клиент на ту же сеть, что и сниффер, настроить прокси через сниффер;
успешно слушать передаваемый интернет‑трафик.
Разбирать особенности настройки будем на примере сниффера OWASP ZAP. Популярные снифферы по типу Charles Proxy или Proxyman дают бесплатный trial‑период пользования, после чего нужно приобрести лицензию. И если захочется приобрести лицензию, можно столкнуться с невозможностью ее покупки. А использование Trial‑версии на постоянной основе может доставить проблем с тем, что инструменты нужно перезапускать каждые 30 минут или же в trial‑версии будут не все функции, которые могут быть нужны.
OWASP ZAP — полностью бесплатный open‑source‑инструмент с исходным кодом на Github. Он успешно справляется практически со всеми задачами, которые можно делать в Charles Proxy или Proxyman, при этом лишен препятствий, которые можно наблюдать в trial‑версиях других снифферов.
Для настройки OWASP ZAP нужно скачать инструмент, установить и запустить. На MacOS может отобразиться предупреждение «Apple не удалось подтвердить, что файл не содержит вредоносного ПО» и не получится открыть приложение.

Чтобы убрать предупреждение, нужно пройти по пути «Системные настройки» → «Конфиденциальность и безопасность», проскроллить вниз и нажать на кнопку «Все равно открыть» напротив сообщения о блокировке открытия ZAP.

Генерация root‑сертификата
После установки нужно сгенерировать root‑сертификат и установить его на ПК как доверенный. Для этого в открытой программе OWASP ZAP заходим в Tools → Options.

В открывшемся окне Options идем по пути Network → Server Certificates и выбираем таб Root CA Certificate, он обычно выбран по умолчанию при открытии. Там жмем кнопку Generate, затем — Save и сохраняем сертификат в удобное место, жмем кнопку OK.

Установка сертификата на macOS
Следующий шаг — установка сохраненного сертификата на ПК.
Открываем сохраненный файл, и система предложит установить сертификат в Keychain («Связку ключей»). Соглашаемся и устанавливаем.

Сертификат установится, но не будет доверенным — нужно это исправить. Для этого заходим в системное приложение Keychain («Связка ключей»), выбираем в левом меню пункт «Вход» и в верхнем меню таб «Сертификаты».

Видим наш установленный сертификат OWASP Zed Attack Proxy Root CA с иконкой красного крестика — это означает, что MacOS не считает сертификат доверенным. Сделаем его доверенным, для этого дважды кликаем по строке с сертификатом, в открывшемся окне раскрываем пункт «Доверие», в пункте «Параметры использования сертификата» выбирем «Всегда доверять» и закрываем окно с настройкой сертификата.

После этого сертификат станет доверенным и напротив иконки будет отображаться синий плюсик вместо красного крестика.

Настройка прокси‑сервера
Процесс настройки прокси‑сервера на стороне OWASP ZAP для прослушивания трафика клиента (android/iOS/web/desktop) выглядит так:
1. Конфигурируем прокси в настройках OWASP ZAP: открываем Tools → Options, в открывшемся окне в боковом меню выбираем Network → Local Server/Proxies и в открывшемся контенте справа выбираем таб Local Server/Proxies. Обычно этот таб выбран по умолчанию при открытии.

2. Меняем в строке Address localhost на IP‑адрес сети, начинающийся на 192.168., в поле port либо оставляем все как есть, либо меняем на любой другой свободный, если 8 080 уже используется в другом месте. Если IP‑адрес автоматически не определился, его можно получить в консоли или терминале с помощью команды ipconfig getifaddr en0 и затем вручную вписать в поле Address.

Далее нужно запомнить указанный IP‑адрес и порт, временно сохранить их где‑нибудь в файле или просто запомнить что их можно посмотреть в этом меню. IP‑адрес и порт понадобятся далее для настройки клиентов. Важно не забыть нажать OK при выходе из настроек прокси в OWASP ZAP.
Итоги и следующие шаги
Итоги по настройке сниффера:
Установили OWASP ZAP, сгенерировали root‑сертификат.
Установили root‑сертификат на ПК и сделали его доверенным.
Сконфигурировали прокси в OWASP ZAP.
Подключили клиент к той же WiFi‑сети, что и ПК с OWASP ZAP (для прослушивания трафика с браузера на этом же ПК этот пункт пропускаем).
Для дальнейшей настройки клиентов у нас есть все необходимые входные данные: файл с root‑сертификатом, который мы сохраняли ранее, и IP‑адрес и порт для настройки прокси на клиенте.
В следующих статьях разберем, как настраивать каждый из клиентов: Android‑устройства и эмуляторы, iOS‑устройства и симуляторы, ПК для прослушивания трафика браузеров и десктопных приложений. Не переключайтесь!