本节主要一个特别重要的组件,mitmproxy中的mitmdump,为什么说它重要?因为它可以跟python脚本进行交互,是不是美滋滋!

如何进行交互
- mitmdump的启动
默认的端口是8080
mitmdump

- mitmdump指定端口的启动
指定端口是8889
mitmdump -p 8889

- mitmdump指定python程序
指定端口和python程序
mitmdump -p 8889 -s test.py

- 编写python程序
必须要有def requet,对于夜神模拟器的证书配置上次都说过了。这次都不说了。
from mitmproxy import ctx
#必须这么写有个request,有个response
def request(flow):
# print(flow.request.headers)
#ctx.log.info(str(flow.request.headers))
#ctx.log.warn(str(flow.request.headers))
ctx.log.error(str(flow.request.url)) ctx.log.error(str(flow.request.method)) ctx.log.error(str(flow.request.path))def response(flow): ctx.log.error(str(flow.response.status_code))

- mitmproxy 按键
按键说明q退出(相当于返回键,可一级一级返回)d删除当前(黄色箭头)指向的链接D恢复刚才删除的请求G跳到最新一个请求g跳到第一个请求C清空控制台(C是大写)i可输入需要拦截的文件或者域名(逗号需要用\来做转译,栗子:idig8.com)a放行请求A放行所有请求?查看界面帮助信息^ v上下箭头移动光标enter查看光标所在列的内容tab 分别查看Request 和 Response 的详细信息/搜索body里的内容esc退出编辑e进入编辑模式
使用命令启动mitmdump ,并将截获的数据保存到指定文件中
mitmdump -w outfile
使用指定命令截获的数据,如指定处理脚本文件为script.py.
mitmdump -s script.py
PS:mitmdump 其实不太复杂,重要是写python脚本。

回贴