mitmproxy2swagger — утилита для автоматического преобразования захваченного трафика через
mitmproxy в
OpenAPI Specification. Установка происходит через
pip3 install mitmproxy2swagger
или docker:
git clone [email protected]:alufers/mitmproxy2swagger.git
cd mitmproxy2swagger
docker build -t mitmproxy2swagger .
Использование1️⃣Для создания спецификации сначала запускаем mitmweb — веб-интерфейс, встроенный в mitmproxy, с помощью команды
mitmweb
. Теперь необходимо настроить браузер, чтобы весь трафик проходил через mitmproxy.
2️⃣Изучаем наш целевой сайт, самостоятельно переходим на разные эндпоинты, генерируя трафик. Далее необходимо сохранить полученные пакеты в файл и запустить команду:
mitmproxy2swagger -i <path_to_mitmptoxy_file> -o <path_to_output_schema> -p <api_prefix>
<api_prefix> Это базовый URL-адрес API, который мы хотим проанализировать.
3️⃣При выполнении первого прохода в файле схемы появляются эндпоинты API, которые удалось вычленить из файла, с префиксом
ignore. Его необходимо удалить и запустить второй проход, тем самым сгенерировав описания конечных точек:
mitmproxy2swagger -i <path_to_mitmptoxy_file> -o <path_to_output_schema> -p <api_prefix>
4️⃣ Финальный шаг — скопировать полученное описание в swagger для получения удобочитаемой документации.
‼️ Удобным является поддержка в
mitmproxy2swagger формата har. Можно также осуществить взаимодействие с целевым веб-сайтом и экспортировать трафик из браузера DevTools на вкладке Network и проделать шаги 2-4.