关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回

MITMProxy如何配置二次代理

发布时间:2022-09-11 23:37:45

前序:

mitmproxy真的很强大,或许是大家都各自使用,或者没有相关的需求,导致我废了很大精力找了很久的资料都很难找到二次代理的配置方法,看了很久源代码加上搜了很久的资料,最终让我终于找到方法,下面记录一下,大家就不用跟我一样踩坑了。


以下配置使用mitmproxy版本信息如下

Mitmproxy: 4.0.4
Python:    3.6.3

配置步骤实际相当简单,但所有步骤缺一不可:

第一步 命令行启用upstream模式

注:只有在一开始启动了upstream模式,后续才可以进行定制化跳转

mitmdump --mode upstream:http://default-upstream-proxy.local:8080/ -s ./change_upstream_proxy.py
第二步 mitmdump脚本根据所需定义规则跳转不同的二级代理
def request(flow: http.HTTPFlow) -> None:
    if flow.request.method == "CONNECT":
        # If the decision is done by domain, one could also modify the server address here.
        # We do it after CONNECT here to have the request data available as well.
        return
        client_ip = flow.client_conn.address[0]
        if 'ip.cn' in flow.request.url:
                ctx.log.info(flow.request.url)
                proxy =("localhost", 8888)
        else:
                proxy = ("localhost", 3800)
    # 这里配置二级代理的ip地址和端口
    if flow.live:
        flow.live.change_upstream_proxy_server(proxy)
第三步 测试结果

设备连接mitmproxy后,访问http://www.ip.cn 及 http://httpbin.org/ip
MITMProxy如何配置二次代理
MITMProxy如何配置二次代理

另外有需要云服务器可以了解下风纳云fengnayun.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


/template/Home/Dawn/PC/Static

选择风纳云,也许是您成就一番大事业的开端

注册账号