2016-12-12 21 views
0

私はexample.comにリクエストしているAndroidアプリを持っています。 example.com/etc/elseへのすべてのリクエストがdev.example.com/etc/elseに移動するようにmitmproxyを設定するにはどうすればよいですか?mitmproxyでドメインを書き換えます

私はこれを試してみました:

マイスクリプト(rewrite.py):

from mitmproxy import ctx 
... 
ctx.log.info("This is some informative text.") 

:私は例えば、ログ出力を表示されていない何らかの理由でも

import mitmproxy 
from mitmproxy.models import HTTPResponse 
from netlib.http import Headers 

def request(context, flow): 
    if 'example.com' in flow.request.url : 
     flow.request.host = 'dev.example.com' 

、私はこのようにmitmproxyを実行しています:

mitmproxy -p 8765 -e -s rewrite.py 
+0

どのバージョンのmitmproxyを実行していますか? mitmdumpを使って同じことを実行するとどうなりますか? –

+0

@ MaximilianHils私のバージョンは0.18.2です。同様に、defmodumpと同じことが私に表示されます。example.com:443に接続しますが、dev.example.comには接続しません。 – valk

+0

さらに、 'def request(context、flow)'には引数が1つしか必要ないので、 'def request(flow)'で残しておきます。 – valk

答えて

0

したがって、mitmproxy v0.18.2では、解決策は次のとおりです。

import mitmproxy 
from mitmproxy.models import HTTPResponse 
from netlib.http import Headers 
from mitmproxy import ctx 

def request(flow): 
    if flow.request.pretty_host.endswith('example.com'): 
     flow.request.host = 'dev.example.com' 
     flow.request.scheme = 'http' 
     flow.request.port = 80 
     ctx.log.info(" --->" + flow.request.url) 
関連する問題