一、安装

安装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


【笔记】mitmproxy的使用_第1张图片