一、安裝
安裝mitmproxy的4.0.4版本
安裝後有3個命令行工具:mitmproxy, mitmdump, mitmweb
mitmproxy:交互式;查看流量數據(請求與響應);執行自定義腳本
mitmdump:執行自定義腳本,腳本在Mitmproxy中叫做Addon
使用mitmdump --version查看版本信息
使用mitmweb直接啓動web頁面
二、手機抓包
手機連接電腦代理和ip,同fiddler(如果命令是mitmweb -p 8889指定的端口號,要修改端口)
手機端打開http://mitm.it/ 安裝https證書就可以抓https請求
三、mitmdump
mitmdump -w outfile:把截獲的信息保存到文件
mitmdump -s script.py:執行python腳本
四、日誌
mitmdump提供了專門的日誌輸出功能,可以設定不同級別以不同顏色輸出結果,我們可以把腳本修改成以下內容:
from mitmproxy import ctx
def request(flow):
flow .request . headers['User-Agent'] ='mitmProxy'
ctx.log.info(str(flow.request.headers))
ctx.log.warn(str(flow.request.headers))
ctx.log.error(str(flow.request.headers))
在這裏調用了ctx模塊,它有一個log功能,調用不同的輸出方法就可以輸出不同顏色的結果,以方便我們做調試。例如:info()方法輸出的內容是白色的,warn()方法輸出的內容是黃色的,error()方法輸出的內容是紅色的。
五、python腳本
【request】
request.url、headers、cookies、host、method、port、request.scheme:請求鏈接、請求頭、請求cookies、請求host、請求方法、請求端口、請求協議這些內容。
【response】
response.status_code、headers、cookies、text:響應的狀態碼status_code、響應頭headers、cookies、響應體text