zoukankan      html  css  js  c++  java
  • 初步认识mitmproxy(一)

    在windows机器上,经常用的最多的是fiddler工具,很强大,图形化界面,使用方便、简单;在mac上,Charles 类似fiddler工具,同样是易于操作的图形化界面,同样都是通过代理的方式实现抓包功能,可通过工具分析http(s)包、修改resquest、response内容,满足日常需求
       而笔者不想每次打开fiddler、手动去修改request或者response,希望通过脚本定制化实现篡改。首选mitmproxy , mitmproxy顾名思义中间人代理【man-in-the-middle proxy】,和fiddler、Charles等工具类似,通过代理方式实现对http(s)的拦截

    环境
      1.Python3.6及以上 (python -V查看版本)
       2.更新pip(避免部分依赖包未下载)
       3.安装mitmproxy
         pip install mitmproxy #安装依赖包的同时也将环境安装

    介绍
    引用原文:
    The mitmproxy project’s tools are a set of front-ends that expose common underlying functionality.
       mitmproxy is an interactive man-in-the-middle proxy for HTTP and HTTPS with a console interface.
       mitmdump is the command-line version of mitmproxy. Think tcpdump for HTTP.
       mitmweb is a web-based interface for mitmproxy.
    也就是说:
    mitmproxy工程工具包,主要包含了3个组件
       mitmproxy:拦截的http(s)记录控制台显示 【window不支持】
       mitmdump:命令行接口,可以对接python脚本,通过脚本实现监听后的处理,可定制个人需求
       mitmweb:web形式展示

    特性
       - Intercept HTTP & HTTPS requests and responses and modify them on the fly
       - Save complete HTTP conversations for later replay and analysis
       - Replay the client-side of an HTTP conversations
       - Replay HTTP responses of a previously recorded server
       - Reverse proxy mode to forward traffic to a specified server
       - Transparent proxy mode on OSX and Linux
       - Make scripted changes to HTTP traffic using Python
       - SSL/TLS certificates for interception are generated on the fly
       - And much, much more…

    使用
    配置代理
       - 手机和电脑同处一个局域网,配置手机代理设置,与其他代理工具的配置方式一致
       - 访问mitm.it 网址,直接下载、安装、信任CA证书(https协议需要)

    使用mitmproxy【window不可用,linux、mac可使用,笔者使用linux系统】
       - 启动mitmproxy,默认8080,可指定端口
       mitmproxy -p 8888

    - 控制台快捷命令说明

    按键 说明
    q 退出(相当于返回键,可一级一级返回)
    d 删除当前(黄色双箭头)指向的链接
    D 恢复刚才删除的请求
    G 跳到最新一个请求
    g 跳到第一个请求
    C 清空控制台(C是大写)
    i 可输入需要拦截的文件或者域名(起到过滤作用)
    a 放行请求
    A 放行所有请求
    ? 查看界面帮助信息
    ^ v 上下箭头移动光标
    enter 查看光标所在列的内容
    tab 分别查看 Request 和 Response 的详细信息
    / 搜索body里的内容
    esc 退出编辑
    e 进入编辑模式
    结语
       这里仅仅介绍了环境搭建及mitmproxy的使用,其实很类似fiddler,甚至没有fiddler直观,不过用习惯了命令也是操作比较简单的,但是我的目的不在于此,我的目的是通过脚本的方式定制化篡改http(s)的request或者response,下一章继续mitmdump
    【官网】https://docs.mitmproxy.org/stable/tools-mitmproxy/

    作者:小蜗牛的成长
    链接:https://www.jianshu.com/p/749a6b766884
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  • 相关阅读:
    sql中的Bulk 导入txt文本
    通过SQL自动添加流水号
    JAVA XML格式化输出
    nginx 服务端口权限13的问题
    使用hangfire在xunit中
    自动提交代码
    系统性能测试
    前端性能——速度之书
    node fs相对路径
    yum 初始化国内
  • 原文地址:https://www.cnblogs.com/c-x-a/p/9753514.html
Copyright © 2011-2022 走看看