安装证书

浏览器输入 `mitm.it`

下载证书有时候打不开,可能是起的服务卡死了,回车下命令行,再再网页刷新下载证书就可以了。

mitmweb

Chrome浏览器代理设置

打开的话,记得保存点一下

使用python来操作抓到的包

此功能才是mitmproxy真正强大的地方,查看文章使用mitmproxy + python 做拦截代理后半部分。

mitmweb -s addons.py

官方示例

修改request的请求host

添加请求header

添加响应header

修改返回body为json格式

from mitmproxy import ctx
from mitmproxy import http
import json
class Counter:
    def __init__(self):
        self.num = 0

    def request(self, flow: http.HTTPFlow):
        ctx.log.info("orgin url is: %s" % flow.request.url)
        body = {"a": "b"}
        if flow.request.pretty_url == "https://api.merckuwifi.net/v3/homes":
            flow.response = http.HTTPResponse.make(
                200,  # (optional) status code
                json.dumps(body),  # 这里需要转化为str后才能发送
                {"Content-Type": "application/json"}  # (optional) headers
         )

addons = [Counter()]

startwith

if flow.request.pretty_url.startswith("https://noc.merckuwifi.net/api/statistics/routers/trend"):
        ......

正则匹配url

问题

抓不到包

有时候使用mitmweb(默认的8080端口)直接运行就抓不到包,修改一个端口后就能抓到包mitmweb -p 8088很奇怪。

参考资料

  1. App爬虫神器mitmproxy和mitmdump的使用
  2. 安装
  3. 官方文档
  4. 官方示例
  5. 这里有一点写界面的
  6. 使用mitmproxy + python 做拦截代理

最新文章

  1. 轻量级ORM框架初探-Dapper与PetaPoco的基本使用
  2. 在Mac下创建ASP.NET Core Web API
  3. <读书笔记>软件调试之道 :从大局看调试-理想的调试环境
  4. spark在windows下的安装
  5. sql Truncate 与 delete的区别
  6. BootStrap入门教程 (一) :手脚架Scaffolding(全局样式(Global Style),格网系统(Grid System),流式格网(Fluid grid System),自定义(Customing),布局(Layouts))
  7. 后续遍历 java leecode
  8. HTTP请求方式中get和post的区别
  9. IIS的安装与配置
  10. commit后数据库干的工作
  11. javascript从定义到执行 js引擎 闭包
  12. ecb, 找不到button
  13. H5+混合移动app应用开发——开篇
  14. 基础概念:Oracle数据库、实例、用户、表空间、表之间的关系
  15. Linux命令--tree
  16. Appium之Android功能脚本
  17. 【Flask-RESTPlus系列】Part3:请求解析
  18. Laravel渴求式加载(比较容易理解理解load与with关系)
  19. python数学第六天【指数族】
  20. [算法进阶0x10]基本数据结构A作业总结

热门文章

  1. thinkphp 路径 (纯转)
  2. FME中矢量裁剪
  3. Python python 函数参数:可变参数
  4. MySQL count知多少
  5. iOS hash
  6. 了解PCI Express的Posted传输与Non-Posted传输
  7. git原理,git命令使用详解,github使用 --有此图文并茂原来如此简单
  8. JAVA实现图片验证
  9. Linux命令后面加 & 的作用
  10. 从一个慢查询到MySQL字符集编码