質問

The process would be that the browser send a request to MITMproxy and then generate a request that gets sent to target proxy server which isn't controlled by us. The proxy server would send a response to MITMproxy which would then relay that response to the browser.

How would I go about doing this?

役に立ちましたか?

解決 2

You can do this with the -F flag to mitmproxy, which forwards proxy requests to an upstream server. Take a look at the docs here:

http://mitmproxy.org/doc/features/forwardproxy.html

他のヒント

I was able to achieve what you ask with the following. You need to enable the upstream mode and upstream auth (in case you have some username/password for your proxy):

mitmproxy --mode upstream:https://HOSTNAME:PORT --upstream-auth USER:PASSWORD

Then you can check it's working with a simple curl:

curl -x http://localhost:8080 -k https://api.ipify.org/

This will forward your request to mitmproxy which will forward it to your other proxy.

Hope it helps!

If you'd like to do this not from the script, you can change the upstream server with get_upstream_server from server.config see [mitmproxy config] (https://github.com/mitmproxy/mitmproxy/blob/42d4a2fae96b8b4ba35d3a88e20f278d79a0ccc6/libmproxy/proxy.py). For example:

self.server.config.get_upstream_server = proxy.ConstUpstreamServerResolver(cmdline.parser_server_spec("http://upstreamserver:port"))

I think it's the -U option:

command-line    -U http://hostname[:port]

source: http://docs.mitmproxy.org/en/stable/features/upstreamproxy.html

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top