在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
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

最新文章

  1. UVA1625Color Lenth(DP+LCS变形 未AC)
  2. Neural Style学习3——操作
  3. EF生成实体模板改良
  4. GridView中实现CheckBox的全选
  5. Java中的数组排序
  6. Java 如何连接 SQL 2008 R2
  7. 角色控制器 Character Controller
  8. SOA技术的进化史
  9. ORACLE SQL单行函数(一)【weber出品必属精品】
  10. Oracle 经典SQL 专为笔试准备
  11. hdu 4691 Front compression (后缀数组)
  12. WebBrowser控件禁用超链接转向、脚本错误提示、默认右键菜单和快捷键
  13. Android文件上传与下载
  14. Java Mac电脑配置java环境,JAVA IDE eclipse开发svn使用
  15. sqlite ef6 踩坑
  16. OOP面向对象程序设计
  17. 巧用MYSQL中SQL语句
  18. 计数排序与桶排序python实现
  19. CKEditor富文本编辑器
  20. rac添加新节点的步骤与方法

热门文章

  1. 第二个Sprint冲刺第三天(燃尽图)
  2. [UWP 开发] 一个简单的Toast实现
  3. 作业三(下)安装VS2013
  4. Java编写准备数据源
  5. PHP 验证IP的合法性
  6. 深入理解Java反射+动态代理
  7. 在手机上点击input框时会放大页面
  8. Windows 64位环境的Java 服务配置
  9. SSM框架 mapper.xml中 value的空值判断问题
  10. c# 移除文本文件里的某一行