• mitmproxy 拦截代理


    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、再次访问百度,可以看到抓取到请求了

    Android 配置代理

    Android 安装证书

    配置好wifi连接之后,访问 mitm.it

     

  • 相关阅读:
    软件建模之UML图形讲解
    Android中级第八讲安卓子线程,以及定时任务使用讲解
    有你同行,我不会寂寞物联网操作系统Hello China后续开发计划及开发者征集
    物联网操作系统再思考Hello China操作系统的运营商网络协同机制
    Windows Phone 7 Storage
    Silverlight &Windows phone7 中使用Isolated Storage存储与读取图片
    Windows Phone7的Pivot控件简介
    windowsphone7的启动器和选择器
    如何将App的图标放到起始页面
    WebBrowser控件用法总结
  • 原文地址:https://www.cnblogs.com/keenajiao/p/15773611.html
Copyright © 2020-2023  润新知