梦应逍遥 发表于 2024-6-26 17:35:43

抓包工具之mitmproxy

今天给大家分享一个非常实用抓包工具,不需要安装软件,直接可以在浏览器上进行抓包,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
https://img-blog.csdnimg.cn/img_convert/84cda79e50868bf9173e027c752b655a.png
mitmproxy证书配置

[*] 在终端输入下令
mitmproxy -p 代理端口(默认端口是:8080) 2. 在网页访问链接:http://mitm.it/
https://img-blog.csdnimg.cn/img_convert/e2902aad98664c0f9ff624ac41c58ee7.png
备注:下载相应的证书即可
三、如何使用

mitmproxy工具介绍


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

[*] 运行mitmproxy
通过下令行的方式运行,在终端输入下令: mitmproxy -p 代理的端口(默认端口是8080)
https://img-blog.csdnimg.cn/img_convert/c8a583715d4dc65fd39246f6dff9ba38.png
2. 查看请求
通过鼠标滚轮上下滑动,即可切换请求,选中某个请求后,可正常查看请求详情,根据下图,可以正常查看request、response、detail
内容,然后通过q下令可以返回到主界面
https://img-blog.csdnimg.cn/img_convert/f0aae9f7e1cff1adec9700f50f971d3f.png
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键,查看过滤请求数据
https://img-blog.csdnimg.cn/img_convert/61ef78b096e0749305a72c4704f9a0d5.png
4. 修改请求
step1
输入下令:i,进入编辑模式,然后输入“目标网址”,然后点击enter键,这里以百度为例
https://img-blog.csdnimg.cn/img_convert/a578c749ff6638383fbc76db2ac2db84.png
step2
点击该请求
https://img-blog.csdnimg.cn/img_convert/aeb0e7ad8aa4e7cb7a089a6b59cb5378.png
step3
输入下令:e,通过键盘上下键翻页,选择:query,然后点击enter键,进入编辑模式
https://img-blog.csdnimg.cn/img_convert/adc8973474e80bce99cf9e7edbe8137f.png
step4
将请求参数wd修改为:test123,生存后,按:ESC键退出编辑模式
https://img-blog.csdnimg.cn/img_convert/59236095ca2df29b433110574c0e892d.png
step5
使用下令:q,退出至请求列表页,然后使用下令:a键可以规复该请求。若是要规复所有的请求,则使用下令:shift + a ,然后在网页查看:百度请求的结果都酿成:test123
https://img-blog.csdnimg.cn/img_convert/b8582b565108627cc9d2932b6a03d998.png
mitmweb
1. 运行mitmweb
在终端中输入下令: mitmweb -p 8888 ,则会在本地启动一个服务,打开一个web页面,专门用于查看数据流量
https://img-blog.csdnimg.cn/img_convert/a924d6ac8e6f0ad25c96c555a45de51a.png
2. 过滤请求
通过Start模块下关键字搜索,可以快速过滤请求
https://img-blog.csdnimg.cn/img_convert/74774723960b90ef7dcee5fe7f57e562.png
3. 清除接口信息
https://img-blog.csdnimg.cn/img_convert/c489b80f8661577805d24c3924e943f7.png
4. 修改请求
通过Start模块的Intercept中搜索匹配需要修改请求的网址,然后再选中请求数据,编辑request信息
https://img-blog.csdnimg.cn/img_convert/8f27d1340c16f7b72d9ce4ee8e0c3704.png
点击resume 按钮,重新规复请求即可
https://img-blog.csdnimg.cn/img_convert/05488268fdec1b35cd46980ced7133f3.png
最后: 下方这份完备的软件测试视频学习教程已经整理上传完成,朋侪们如果需要可以自行免费领取【包管100%免费】
https://img-blog.csdnimg.cn/ed4627a964d644e285a28f9b5dd81dae.png#pic_center
这些资料,对于【软件测试】的朋侪来说应该是最全面最完备的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰巨的路程,希望也能资助到你!
https://img-blog.csdnimg.cn/58c0e5803e584067b5102d9339126b30.gif


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 抓包工具之mitmproxy