python抓包代理库mitmproxy

简介: python抓包代理库mitmproxy

python中一个库mitmproxy,可以实现抓包;实现的就是代理的功能;相对于其他软件,优势在于可以编码;

mitmproxy是一个抓包工具,类似于WireShark、Filddler,并且它支持抓取HTTP和HTTPS协议的数据包,只不过它是一个控制台的形式操作。另外,它还有两个非常有用的组件,一个mitmdump,它是mitmproxy的命令行接口,利用它可以对接python脚本;另一个是mitmweb,它是一个web程序,通过它可以清楚的观察mitmproxy捕获的数据情况,优点类似于Chrome浏览器。

安装库:

pip install mitmproxy
完成后,系统将拥有 mitmproxy、mitmdump、mitmweb 三个命令,
测试一下安装是否成功,执行:
mitmproxy --version

官方文档:在这里

安装证书:

执行mitmproxy命令后,会在用户目录下生成证书;
C:\Users\Administrator.mitmproxy

在这里插入图片描述
点击证书,直接安装;

设置网络代理:

若要抓包,必须设置网络代理;

以下已win10系统为例:

首先进入电脑系统后,点击“开始-设置”。进入开始-设置后,点击“网络Internet”。进入网络Internet后,点击“代理”。
在这里插入图片描述
进入代理后,找到手动设置代理,开启“使用代理服务器”。开启代理服务器后,填写相应“参数”,点击“保存”。

在这里插入图片描述

mitmproxy的默认地址是http://127.0.0.1:8080;

开始抓包

  • mitmproxy

在这里插入图片描述

  • mitmweb
    输入命令,打开web页面:
    在这里插入图片描述
  • 编码方式mitmdump
from mitmproxy import http
#将请求新增了一个查询参数
def request(flow: http.HTTPFlow):
    flow.request.query["mitmproxy"] = '8.0'

#将响应头中新增了一个自定义头字段
def response(flow: http.HTTPFlow):
  flow.response.headers["mitm"] = 'foo'
  #print(flow.response.text)

保存以上文件为demo.py

然后执行命令:

mitmdump -s demo.py

接口实现接口拦截修改;当然也可以实现抓包了

相关文章
|
2月前
|
存储 人工智能 测试技术
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
本文介绍如何使用LangChain结合DeepSeek实现多轮对话,测开人员可借此自动生成测试用例,提升自动化测试效率。
408 125
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
|
2月前
|
监控 数据可视化 数据挖掘
Python Rich库使用指南:打造更美观的命令行应用
Rich库是Python的终端美化利器,支持彩色文本、智能表格、动态进度条和语法高亮,大幅提升命令行应用的可视化效果与用户体验。
186 0
|
4月前
|
存储 Web App开发 前端开发
Python + Requests库爬取动态Ajax分页数据
Python + Requests库爬取动态Ajax分页数据
|
1月前
|
数据可视化 关系型数据库 MySQL
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
本文详解基于Python的电影TOP250数据可视化大屏开发全流程,涵盖爬虫、数据存储、分析及可视化。使用requests+BeautifulSoup爬取数据,pandas存入MySQL,pyecharts实现柱状图、饼图、词云图、散点图等多种图表,并通过Page组件拖拽布局组合成大屏,支持多种主题切换,附完整源码与视频讲解。
188 4
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
|
1月前
|
传感器 运维 前端开发
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
本文解析异常(anomaly)与新颖性(novelty)检测的本质差异,结合distfit库演示基于概率密度拟合的单变量无监督异常检测方法,涵盖全局、上下文与集体离群值识别,助力构建高可解释性模型。
287 10
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
|
3月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
216 18
|
3月前
|
数据处理 开发工具 开发者
requirement.txt 管理python包依赖
在 Python 项目中,`requirements.txt` 用于记录依赖库及其版本,便于环境复现。本文介绍了多种生成该文件的方法:基础方法使用 `pip freeze`,进阶方法使用 `pipreqs`,专业方法使用 `poetry` 或 `pipenv`,以及手动维护方式。每种方法适用不同场景,涵盖从简单导出到复杂依赖管理,并提供常见问题的解决方案,帮助开发者高效生成精准的依赖列表,确保项目环境一致性。
1051 4
|
3月前
|
机器学习/深度学习 API 异构计算
JAX快速上手:从NumPy到GPU加速的Python高性能计算库入门教程
JAX是Google开发的高性能数值计算库,旨在解决NumPy在现代计算需求下的局限性。它不仅兼容NumPy的API,还引入了自动微分、GPU/TPU加速和即时编译(JIT)等关键功能,显著提升了计算效率。JAX适用于机器学习、科学模拟等需要大规模计算和梯度优化的场景,为Python在高性能计算领域开辟了新路径。
326 0
JAX快速上手:从NumPy到GPU加速的Python高性能计算库入门教程
|
3月前
|
数据采集 存储 Web App开发
Python爬虫库性能与选型实战指南:从需求到落地的全链路解析
本文深入解析Python爬虫库的性能与选型策略,涵盖需求分析、技术评估与实战案例,助你构建高效稳定的数据采集系统。
348 0
|
3月前
|
存储 监控 安全
Python剪贴板监控实战:clipboard-monitor库的深度解析与扩展应用
本文介绍了基于Python的剪贴板监控技术,结合clipboard-monitor库实现高效、安全的数据追踪。内容涵盖技术选型、核心功能开发、性能优化及实战应用,适用于安全审计、自动化办公等场景,助力提升数据管理效率与安全性。
159 0