1、代理安装配置:
1.1、方式一:客户端
地址:https://mitmproxy.org/downloads/
1.2、方式二:Python库
pip install mitmproxy
2、证书安装
安装成功后
进入C:\Users\admin\.mitmproxy目录,该目录下有一系列的证书。 windows安装mitmproxy-ca-cert.p12,手机安装mitmproxy-ca-cert.pem,手机安装完成后,添加信任。
3、开启代理
3.1、电脑代理
抓电脑的应用程序才开启
3.2、手机代理
保证同一个网络WiFi代理即可
4、启动MitmProxy
MitmProxy启动有三个命令(三种模式)
(1)mitmproxy,提供命令行界面
cmd输入mitmproxy
(2)mitmdump,提供一个简单的终端输出(还可以配合Python抓包改包)
(3)mitmweb,提供在线浏览器抓包界面
访问应用程序,查看抓取的数据
5、python代码
下面开始演示,先新建一个py文件(lyc.py)
from mitmproxy import ctx # 所有发出的请求数据包都会被这个方法所处理 # 所谓的处理,我们这里只是打印一下一些项;当然可以修改这些项的值直接给这些项赋值即可 def request(flow): # 获取请求对象 request = flow.request # 实例化输出类 info = ctx.log.info # 打印请求的url info(request.url) # 打印请求方法 info(request.method) # 打印host头 info(request.host) # 打印请求端口 info(str(request.port)) # 打印所有请求头部 info(str(request.headers)) # 打印cookie头 info(str(request.cookies)) # 所有服务器响应的数据包都会被这个方法处理 # 所谓的处理,我们这里只是打印一下一些项 def response(flow): # 获取响应对象 response = flow.response # 实例化输出类 info = ctx.log.info # 打印响应码 info(str(response.status_code)) # 打印所有头部 info(str(response.headers)) # 打印cookie头部 info(str(response.cookies)) # 打印响应报文内容 info(str(response.text))
在终端中输入一下命令启动:
mitmdump.exe -s lyc.py
备注:如果在启动过程,报端口被占用,杀掉进程,再启动即可
管理员身份运行cmd
netstat -aon|findstr 8080 taskkill /F /PID "4976"