mitmproxy как обратный прокси — принудительный SSL?

#mitmproxy

#mitmproxy

Вопрос:

Допустим, у вас есть какой-то игрушечный проект, который должен получить поддержку SSL. Просто настройте mitmproxy как обратный прокси-сервер на порту 443, и все готово (mitmdump -p 443 —mode reverse: http://localhost:80/). Mitmproxy автоматически определяет трафик TLS и динамически перехватывает его.

https://docs.mitmproxy.org/stable/concepts-modes/

Можете ли вы заставить mitmdump принудительно использовать SSL? Или убедиться, что клиент действительно использует SSL?

Ответ №1:

Вы можете написать дополнение mitmproxy, которое проверяет именно это:

 from mitmproxy import http

def request(flow):
    if not flow.client_conn.tls_established:
        flow.request.response = http.HTTPResponse.make(400)