mitmproxy的安裝【macOS】及使用


mitmproxy的安裝

打開mitmproxy官網,可以看到官方提供的安裝命令,使用brew來直接進行安裝

brew install mitmproxy

image

如果是windows系統,可以看考mitmproxy的windows安裝方法來進行安裝

mitmweb的使用

1、打開mitmweb

#命令行輸入mitmweb,即可在瀏覽器中打開本地的mitmweb的監聽頁面
mitmweb

image
image

2、配置系統代理或谷歌OmegaSwitch插件代理【我這里使用的谷歌瀏覽器插件】

image

3、安裝證書,切換至mitm代理,瀏覽器中輸入mitm.it

image

點擊mac,下載證書

image

雙擊下載的證書,進行證書安裝,並信任

image

4、訪問https站點,查看加密信息是否能正常查看

image

mitmdump的使用

1、命令行輸入mitmdump啟動mitmdump,默認監聽8080,也可以使用-p參數指定端口

mitmdump

mitmdump -p 8090

image

2、mitmdump實現charles的maplocal功能

先抓取要篡改的接口信息

image

編寫插件代碼,先查看下能否正常獲取到接口數據

可以參考官方文檔的插件例子

import mitmproxy.http
from mitmproxy import ctx


class ZWmaplocal:
    def __init__(self):
        self.num = 0

    def request(self, flow: mitmproxy.http.HTTPFlow):
        self.num += 1
        ctx.log.info("We've seen %d flows" % self.num)
        ctx.log.info("Base content %s" % str(flow.get_state()))


addons = [
    ZWmaplocal()
]

image

接着,對request方法進行修改,實現maplocal,修改響應的內容,with中本地讀取之前抓取到接口中的response內容,將要修改的內容修改后保存

image

from mitmproxy import http, ctx


class ZWmaplocal:
    def __init__(self):
        self.num = 0

    def request(self, flow: http.HTTPFlow):
        # if "baidu" in flow.request.pretty_url:
        if f"v5/stock/batch/quote.json" in flow.request.pretty_url:
            with open(r"/Users/CreamK/Desktop/maplocal.json", "r", encoding="utf-8") as f:
                flow.response = http.HTTPResponse.make(
                    200,  # (optional) status code
                    f.read(),  # (optional) content
                    {"Content-Type": "application/json"}  # (optional) headers
                )


addons = [
    ZWmaplocal()
]

刷新頁面,即可看到信息修改成功

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM