【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

相关文章
|
2月前
|
Windows
如何查看自己电脑的windows系统版本?
这篇文章提供了一种简单快捷的方法来查看自己电脑的Windows系统版本,通过使用Windows的"运行"功能并输入`winver`命令来快速获取系统版本信息。
如何查看自己电脑的windows系统版本?
|
1月前
|
Windows
windows 电脑 连接蓝牙耳机没有麦克风
【8月更文挑战第31天】当Windows电脑连接蓝牙耳机后无法使用麦克风时,可尝试以下步骤解决:检查蓝牙设置,确保耳机正确连接并开启麦克风选项;检查音频设备设置,确认蓝牙耳机为默认播放和录制设备;更新蓝牙和音频驱动;确认耳机与系统的兼容性及正确设置。如问题未解,可重新配对耳机或联系客服。
684 7
|
1月前
|
Windows
Windows操作系统部署安装Kerberos客户端
详细介绍了在Windows操作系统上部署安装Kerberos客户端的完整过程,包括下载安装包、安装步骤、自定义安装路径、修改环境变量、配置hosts文件和Kerberos配置文件,以及安装后的验证步骤。
45 3
Windows操作系统部署安装Kerberos客户端
|
8天前
|
安全 Windows
电脑进入桌面后操作无响应?不妨试试禁用Windows Search服务
电脑进入桌面后操作无响应?不妨试试禁用Windows Search服务
|
8天前
|
Windows
Windows7电脑启动时提示文件winload.exe无法验证其数字签名,错误代码0xc0000428的解决方法
Windows7电脑启动时提示文件winload.exe无法验证其数字签名,错误代码0xc0000428的解决方法
|
1月前
|
存储 Web App开发 调度
Windows系统新手教程:常见操作命令帮你玩转电脑
Windows系统新手教程:常见操作命令帮你玩转电脑
73 5
|
1月前
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
62 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
2月前
|
测试技术 开发工具 Python
在Jetson Nano上编译 pyrealsense2库包,并在Intel的tof相机上进行测试
在Jetson Nano上编译 pyrealsense2库包,并在Intel的tof相机上进行测试
28 0
|
2月前
|
网络安全 Windows
在Windows电脑上启动并配置SSH服务
在Windows电脑上启动并配置SSH服务
58 0
|
2月前
|
安全 Windows
如何解决Windows电脑自动黑屏问题?
【8月更文挑战第27天】以下是解决Windows电脑自动黑屏问题的一些常见方法:检查硬件连接,如显示器和电源线;排查硬件故障,包括显卡、内存和CPU问题;调整电源和睡眠设置;检查系统设置和软件冲突;修复系统文件;调整屏幕亮度;检查和更新BIOS设置等。通过这些步骤,可以帮助诊断并解决大部分黑屏问题。
下一篇
无影云桌面