【2023新windows电脑部署测试环境系列-05】部署抓包神器mitmproxy和使用(下)

简介: 【2023新windows电脑部署测试环境系列-05】部署抓包神器mitmproxy和使用(下)

先赞后看,是好习惯!

   

上节课我们已经安装了mitmproxy , 本节课来试一次脚本启动。所谓脚本启动,就是在启动mitm服务的时候,用-s参数来指定一个py3的脚本。而这个脚本的作用就是对抓到的接口进行操作。

   

里面有个常用的函数,叫request,所有请求从手机发出后,都会先经过这个request的函数洗礼,然后才会继续前进到服务器。

   

启动命令如下:

640.png


脚本如下:

640.png


如上图所示,脚本的功能很简单,就是抓到接口后,输出一下接口的url而已。抓到的结果如图:

640.png


如上图所示,成功关联脚本后,我们下一个任务就是测试融合到django项目中,是否有什么问题。


说到这,就要迅速的新建一个django项目了,具体新建django的过程这里不过多赘述。

640.png

640.png



然后-我们新建一个简单的页面,上面只有一个按钮,点击启动可以直接启动mitm服务的。


test.html

urls.py

views.py

   

创建好之后,我们再去把mitm的那个自定义脚本粘贴到django根目录下:

640.png


然后我们去把按钮点击事件的链路写好:

test.html

urls.py

views.py


测试一下:

640.png


然后就是继续开发真正启动服务的代码了。


这里要来具体思考一下:

首先,这个mitmproxy的服务,应该是一个新的完整独立的进程。

所以代码中我们是一定要去新建一个进程,于是先写成如下代码测试:

640.png


启动结果报错:640.png


大致意思就是mitmproxy是需要一个独立的输出控制台,不能这里启动,这个终端控制台目前是被django霸占的。


于是我们换成了寄生控制台命令: mitmdump

并且增加了前后的print输出,还有指定了一个全新的8888端口

640.png


再次测试:

640.png


如上图所示,卡在这了。这个现象我解释一下:因为新进程mitmdump是阻塞状态,所以原来的这个begin函数是无法继续运行后面的print(启动完成!)


而前端自然也是无限等待,没有弹窗的局面。

所以,我这次把call换成了Popen 非阻塞的。

640.png


执行结果如下:

640.png

640.png


这就达到了我们要的目的了。


此时这个8888的端口,是真的存在这个mitmdump的服务哦~

我们打开手机挂上代理随便请求看看:

640.png


如上图所示,可以看到服务成功运行,并且抓到了:.....某个接口。


各种输出也会寄生在当前的django控制台中输出了。


到此,django融合mitm的算是成功了,大家可以在自己公司的服务器部署,并且通过某个django测试平台的一个小按钮进行控制这个抓包服务了,这个抓包服务可以服务全部内网的同事。这样避免了新人安装fiddler 或者 charles的麻烦,还有各种证书安装等麻烦重复的内耗成本问题。


当然,后续还可以增加更多相关功能,提高django和mitm的契合度。比如对每个同事设计的临时专用mitm抓包服务,公司app接口自动识别,在线抓包在线录入一键制作用力等,在线页面控制mock的数据等各种功能,方便还高大上,升职加薪利器。需要具体研究深入的可以关注培训课程:woqurefan.cn (点击阅读原文)

640.png640.png


本平台具体大纲:


【 1 】- 教程须知+学习方法+心里建设

【 2 】- 测试基础:需求+原型+st测试计划

【 3 】- 测试基础:st测试方案+st用例设计

【 4 】- 测试基础:等价类+边界值+判定表

【 5 】- 测试基础:正交法+状态迁移法

【 6 】- 测试基础:因果图+流程法

【 7 】- 测试基础:bug等级

【 8 】- 测试基础:接口测试计划+方案+用例设计

【 9 】- django基础+python基础

【 10 】- 前端基础+数据库基础

【 11 】- web开发流程+数据链路打通

【 12 】- 项目列表页面的开发

【 13 】- 登录模块实现

【 14 】- 注册+注销+找回密码实现

【 15 】- 菜单组件+mock单元实现

【 16 】- 项目设置功能+项目数据设计

【 17 】- mock单元设置+抓包知识

【 18 】- mitmproxy脚本+服务启动

【 19 】- mock单元的启用和弃用

【 20 】- windows进程控制

【 21 】- 线程控制服务技术

【 22 】- 拦截模式和返回头/体的设置

【 23 】- 放行模式的动态修改功能实现

【 24 】- 抓包数据读取和更新

【 25 】- 接口记录的过滤和优化

【 26 】- host黑白名单+时间控制

【 27 】- 抓包导入项目具体实现

【 28 】- ci/cd持续集成实战

【 29 】- 相关推广面试用pp

相关文章
|
6天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生体质测试管理系统设计与实现(系统源码+文档+数据库+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
22 2
|
22天前
|
Java 测试技术 应用服务中间件
Spring Boot 如何测试打包部署
本文介绍了 Spring Boot 项目的开发、调试、打包及投产上线的全流程。主要内容包括: 1. **单元测试**:通过添加 `spring-boot-starter-test` 包,使用 `@RunWith(SpringRunner.class)` 和 `@SpringBootTest` 注解进行测试类开发。 2. **集成测试**:支持热部署,通过添加 `spring-boot-devtools` 实现代码修改后自动重启。 3. **投产上线**:提供两种部署方案,一是打包成 jar 包直接运行,二是打包成 war 包部署到 Tomcat 服务器。
44 10
|
1月前
|
Ubuntu 网络协议 Linux
快速部署WSL(Windows Subsystem for Linux)
WSL提供了一种轻量级的方法,使开发者能够在Windows上无缝运行Linux环境。通过本文介绍的步骤,可以快速安装、配置和使用WSL,以满足开发和测试的需求。
125 8
|
2月前
|
安全 Windows
【Azure Cloud Service】在Windows系统中抓取网络包 ( 不需要另外安全抓包工具)
通常,在生产环境中,为了保证系统环境的安全和纯粹,是不建议安装其它软件或排查工具(如果可以安装,也是需要走审批流程)。 本文将介绍一种,不用安装Wireshark / tcpdump 等工具,使用Windows系统自带的 netsh trace 命令来获取网络包的步骤
95 32
|
3月前
|
机器学习/深度学习 编解码 监控
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章详细介绍了如何使用YOLOv8进行目标检测任务,包括环境搭建、数据准备、模型训练、验证测试以及模型转换等完整流程。
4908 1
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
3月前
|
自然语言处理 机器人 Python
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
ChatPaper是一个基于文本生成技术的智能研究论文工具,能够根据用户输入进行智能回复和互动。它支持快速下载、阅读论文,并通过分析论文的关键信息帮助用户判断是否需要深入了解。用户可以通过命令行或网页界面操作,进行论文搜索、下载、总结等。
93 1
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
|
2月前
|
缓存 自然语言处理 并行计算
基于NVIDIA A30 加速卡推理部署通义千问-72B-Chat测试过程
本文介绍了基于阿里云通义千问72B大模型(Qwen-72B-Chat)的性能基准测试,包括测试环境准备、模型部署、API测试等内容。测试环境配置为32核128G内存的ECS云主机,配备8块NVIDIA A30 GPU加速卡。软件环境包括Ubuntu 22.04、CUDA 12.4.0、PyTorch 2.4.0等。详细介绍了模型下载、部署命令及常见问题解决方法,并展示了API测试结果和性能分析。
1631 1
|
3月前
|
机器学习/深度学习 监控 计算机视觉
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
本文介绍了如何使用YOLOv7进行目标检测,包括环境搭建、数据集准备、模型训练、验证、测试以及常见错误的解决方法。YOLOv7以其高效性能和准确率在目标检测领域受到关注,适用于自动驾驶、安防监控等场景。文中提供了源码和论文链接,以及详细的步骤说明,适合深度学习实践者参考。
858 0
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
3月前
|
机器学习/深度学习 并行计算 数据可视化
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用PaddleClas框架完成多标签分类任务,包括数据准备、环境搭建、模型训练、预测、评估等完整流程。
247 0
|
3月前
|
机器学习/深度学习 数据采集 算法
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
90 0
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)