其他分享
首页 > 其他分享> > mitmproxy 拦截代理

mitmproxy 拦截代理

作者:互联网

mitmproxy 是什么?

mitmproxy 是用于 MITM 的 proxy,MITM 即中间人攻击(Man-in-the-middle attack)。用于中间人攻击的代理首先会向正常的代理一样转发请求,保障服务端与客户端的通信,其次,会适时的查、记录其截获的数据,或篡改数据,引发服务端或客户端特定的行为。

为什么要用mitmproxy?相比Fiddler 和 Charles它有什么优势?

不同于 fiddler 或 wireshark 等抓包工具,mitmproxy 不仅可以截获请求帮助开发者查看、分析,更可以通过自定义脚本进行二次开发。

举例来说,利用 fiddler 可以过滤出浏览器对某个特定 url 的请求,并查看、分析其数据,但实现不了高度定制化的需求,类似于:“截获对浏览器对该 url 的请求,将返回内容置空,并将真实的返回内容存到某个数据库,出现异常时发出邮件通知”。

而对于 mitmproxy,这样的需求可以通过载入自定义 python 脚本轻松实现。

特征

安装

在 windows 中,以管理员身份运行 cmd 或 power shell:pip install mitmproxy

检查安装是否成功:mitmdump --version

 运行

要启动 mitmproxy 用 mitmproxymitmdumpmitmweb 这三个命令中的任意一个即可,这三个命令功能一致,且都可以加载自定义脚本,唯一的区别是交互界面的不同。

命令行输入:mitmdump

默认就会监听8080端口;相当于加了一个代理层8080;如果此时请求是抓取不到包的,因为不经过代理层。

 

windows 配置代理

 1、电脑配置代理:8080 端口

 

2、浏览器设置代理:

 浏览器再次访问会提示报错:

安装证书

解决办法:从Windows用户界面的 .mitmproxy中,点击进去,可以看到有多个证书,

Windows端需安装:mitmproxy-ca-cert.p12

1、找到当前用户.mitmproxy 文件夹中的这个文件,点击直接安装

 

2、存储到对应的目录

 

 

 3、浏览器导入证书

 

 

 

 4、再次访问百度,可以看到抓取到请求了

 

标签:浏览器,请求,自定义,代理,mitmproxy,HTTP,拦截
来源: https://www.cnblogs.com/keenajiao/p/15773611.html