今天给大家分享一个非常实用抓包工具,不需要安装软件,直接可以在浏览器上进行抓包,mitmproxy其实是基于python的第三方库,并且配合python脚本可以篡改请求和响应数据,使用起来相对于简单,易于上手,推荐给大家。

一、mitmproxy简介

mitmproxy介绍

mitmproxy又名中间人攻击代理,是一个抓包工具,类似于WireShark、Filddler,并且它支持抓取HTTP和HTTPS协议的数据包,只不过它是一个控制台的形式操作。另外,它还有两个非常有用的组件,一个mitmdump,它是mitmproxy的命令行接口,可以直接抓取请求数据;另一个是mitmweb,它是一个web程序,通过它可以清楚的观察mitmproxy抓取的请求数据。

为什么选择 mitmproxy

1. 相对于我们常用的 fiddle 代理工具,它是可以跨平台

2. 相对于跨平台的 charles 代理工具,它是开源免费的

3. 最重要的一点,也是为什么我们采用 mitmproxy 来进行做 Mock,它支持使用 Python 进行二次开发,这样就可以结合业务进行灵活拓展了

官方文档

https://docs.mitmproxy.org/stable/

二、配置和安装

安装

1. windows下安装mitmproxy:

pip install mitmproxy

2. linux安装mitmproxy

pip3 install mitmproxy

3. mac下安装mitmproxy

brew install mitmproxy

配置代理服务

安装完成后,需要在电脑端的设置->网络->代理中开启手动代理,并输入相

应的host和port

mitmproxy证书配置

在终端输入命令

mitmproxy -p 代理端口(默认端口是:8080)

2. 在网页访问链接:http://mitm.it/

备注:下载相应的证书即可

三、如何使用

mitmproxy工具介绍

mitmproxy:命令行工具 mitmdump:可以用于加载python脚本 mitmweb:web界面工具

mitmproxy

运行mitmproxy

通过命令行的方式运行,在终端输入命令: mitmproxy -p 代理的端口(默认端口是8080)

2. 查看请求

通过鼠标滚轮上下滑动,即可切换请求,选中某个请求后,可正常查看请求详情,根据下图,可以正常查看request、response、detail

内容,然后通过q命令可以返回到主界面

3. 过滤请求

下方是目前支持的过滤请求的表达式,想要了解更多,可以访问官方文档

命令 描述 ~b 正则表达式 身体 ~bq 正则表达式 请求正文 ~bs 正则表达式 响应体 ~c 整数 HTTP 响应代码 ~d 正则表达式 领域 ~DNS 匹配 DNS 流 ~dst 正则表达式 匹配目标地址 ~e 匹配错误 ~h 正则表达式 标头 ~hq 正则表达式 请求头 ~hs 正则表达式 响应头 ~http 匹配 HTTP 流 ~m 正则表达式 方法 〜标记 匹配标记流 ~标记正则表达式 将标记的流与指定的标记匹配 ~元正则表达式 流元数据 ~q 匹配请求无响应 ~s 匹配响应 ~src 正则表达式 匹配源地址 ~t 正则表达式 内容类型标头 〜TCP 匹配 TCP 流 ~udp 匹配 UDP 流

通过输入命令:f,进入编辑模式,然后输入表达式:“~ d 域名”,假设域名为:www.baidu.com,然后点击enter键,查看过滤请求数据

4. 修改请求

step1

输入命令:i,进入编辑模式,然后输入“目标网址”,然后点击enter键,这里以百度为例

step2

点击该请求

step3

输入命令:e,通过键盘上下键翻页,选择:query,然后点击enter键,进入编辑模式

step4

将请求参数wd修改为:test123,保存后,按:ESC键退出编辑模式

step5

使用命令:q,退出至请求列表页,然后使用命令:a键可以恢复该请求。若是要恢复所有的请求,则使用命令:shift + a ,然后在网页查看:百度请求的结果都变成:test123

mitmweb

1. 运行mitmweb

在终端中输入命令: mitmweb -p 8888 ,则会在本地启动一个服务,打开一个web页面,专门用于查看数据流量

2. 过滤请求

通过Start模块下关键字搜索,可以快速过滤请求

3. 清除接口信息

4. 修改请求

通过Start模块的Intercept中搜索匹配需要修改请求的网址,然后再选中请求数据,编辑request信息

点击resume 按钮,重新恢复请求即可

最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

推荐文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: