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