ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

mitmproxy 拦截代理

2022-01-07 13:34:44  阅读:206  来源: 互联网

标签:浏览器 请求 自定义 代理 mitmproxy HTTP 拦截


mitmproxy 是什么?

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

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

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

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

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

特征

  • 拦截HTTP和HTTPS请求和响应并即时修改它们

  • 保存完整的HTTP对话以供以后重播和分析

  • 重播HTTP对话的客户端

  • 重播先前记录的服务器的HTTP响应

  • 反向代理模式将流量转发到指定的服务器

  • macOS和Linux上的透明代理模式

  • 使用Python对HTTP流量进行脚本化更改

  • 实时生成用于拦截的SSL / TLS证书

安装

在 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有