Вышестоящий сервер Mitmproxy - PullRequest
0 голосов
/ 08 мая 2018

Попытка настроить вышестоящий сервер в mitmproxy.

Схема очень проста: Браузер -> Mitmproxy -> Прокси -> AnyServer

Вот код: импорт митмпрокси из mitmproxy.models импортировать HTTPResponse из netlib.http заголовки импорта из mitmproxy import ctx

def request (flow):
    if flow.request.method == "CONNECT":
        return
    if flow.live:
        print (flow.request.host)
        address = ("92.247.125.246", 3128)
        flow.live.change_upstream_proxy_server(address)

После этого было исключение SetServerNotAllowedException:

enter image description here

Я отключил HTTP / 2 в своем браузере, и теперь нет ошибок, но на сайтах myip я вижу IP-адрес моего прокси-сервера MITM! Так что не использует последний прокси, почему? Есть идеи, пожалуйста?

1 Ответ

0 голосов
/ 10 мая 2018

Я нашел ответ.

change_upstream_proxy_server - это функция, которая может ИЗМЕНИТЬ только вышестоящий сервер. Он не может включить его, если вышестоящий сервер не был включен ранее.

Это означает, что если вы хотите изменить вышестоящий сервер, вам нужно запустить mitmproxy с параметром -U, например: mitmdump -U http://127.0.0.1:9999 -s server.py

После этого у вас будет работать change_upstream_proxy_server.

...