美文网首页
初步认识mitmproxy(一)

初步认识mitmproxy(一)

作者: 小蜗牛的成长 | 来源:发表于2018-07-28 14:15 被阅读0次

作为一名伟大的测试工程师,工作中免不了需要与各种接口打交道,构造假数据、修改response等等

   在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/

相关文章

  • 初步认识mitmproxy(一)

    作为一名伟大的测试工程师,工作中免不了需要与各种接口打交道,构造假数据、修改response等等 在window...

  • mac + firefox + mitmproxy安装

    mitmproxy介绍 mitmproxy中间人代理是一组暴露通用底层功能的前端工具。mitmproxy是一个交互...

  • Mitmproxy基本使用介绍

    Mitmproxy(man-in-the-middle proxy) 一、什么是Mitmproxy?[#_Toc6...

  • 初步认识

    初识C语言 开始 我从高三毕业假期开始涉及C语言学习,经过了九个月左右的学习,初步认识了这种语言的语法和具体特质。...

  • macOS下常用的抓包工具:mitmproxy和Charles

    mitmproxy 如果你偏爱geek风,命令行,可以采用mitmproxy。在采用mitmproxy官网给出的安...

  • mitmproxy 代理

    安装mitmproxy mitmproxy 快捷键 mitmproxy的操作链接列表 按键说明q退出(相当于返回键...

  • 初步认识分数(一)

    学习目标: 1.了解和无意识地应用日常生活中的分数观念。 2.初步理解分数的意义,体会学习分数的必要性。 3.感知...

  • Jenkins(一)初步认识

    目录 一、安装与卸载 二、创建项目并配置源码管理 三、其他 其他文章Jenkins(一)初步认识Jenkins(二...

  • 安装mitmproxy时候遇到错误Building wheel

    安装mitmproxy,pip install mitmproxy 遇到一个这样的错误 Building whee...

  • Debookee抓取HTTPS数据

    一、安装mitmproxy,使用homebrew 一键安装命令 二、启动mitmproxy(接口用6969) 三、...

网友评论

      本文标题:初步认识mitmproxy(一)

      本文链接:https://www.haomeiwen.com/subject/kutomftx.html