最近在找 mac 上 charles 的替代方案,mac app store、google 查了一下都沒有比較完整的工具,在不想直接用 nodejs 重寫一套的狀況下最終找到了 mitmproxy。
就如同官方文黨上面說的很全面,擁有 command line tool 又擁有 GUI(簡直不可思議),所有功能都提供 command line 啟動時配置以及啟動後隨時修改,最厲害就是 open source,可以按照你自己的方式來 hack 他,或是有開放一些 script 進行簡單的修改。
在平常開發上除了抓封包看內容以外最常用就是把某個 url 代理到本地文件、url 做 302 到特殊 url,或是簡單的修改 http 的參數,但是以上這幾個功能只能使用都必須使用 script 來配置,但是...網路上幾乎是找不到相關的文件或是不完全,最終找到幾個簡單的語法可以來做這調整,可以參考以下的寫法
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
# https://docs.mitmproxy.org/en/stable/scripting/inlinescripts.html#inline-scripts | |
def response(context, flow): | |
if 'www.taobao.com' in flow.request.host: | |
flow.request.host = 'www.tmall.com' | |
def request(context, flow): | |
if 'www.taobao.com' in flow.request.host: | |
flow.request.host = 'www.tmall.com' |
沒有留言:
張貼留言