抓包工具之mitmproxy

这篇具有很好参考价值的文章主要介绍了抓包工具之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

mitmproxy,职场经验,软件测试工程师,软件测试,单元测试,职场和发展,程序人生,软件测试,自动化测试

mitmproxy证书配置

  1. 在终端输入命令

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

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

mitmproxy,职场经验,软件测试工程师,软件测试,单元测试,职场和发展,程序人生,软件测试,自动化测试

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

三、如何使用

mitmproxy工具介绍

  • mitmproxy:命令行工具

  • mitmdump:可以用于加载python脚本

  • mitmweb:web界面工具

mitmproxy

  1. 运行mitmproxy

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

mitmproxy,职场经验,软件测试工程师,软件测试,单元测试,职场和发展,程序人生,软件测试,自动化测试

2. 查看请求

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

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

mitmproxy,职场经验,软件测试工程师,软件测试,单元测试,职场和发展,程序人生,软件测试,自动化测试

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键,查看过滤请求数据

mitmproxy,职场经验,软件测试工程师,软件测试,单元测试,职场和发展,程序人生,软件测试,自动化测试

4. 修改请求

step1

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

mitmproxy,职场经验,软件测试工程师,软件测试,单元测试,职场和发展,程序人生,软件测试,自动化测试

step2

点击该请求

mitmproxy,职场经验,软件测试工程师,软件测试,单元测试,职场和发展,程序人生,软件测试,自动化测试

step3

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

mitmproxy,职场经验,软件测试工程师,软件测试,单元测试,职场和发展,程序人生,软件测试,自动化测试

step4

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

mitmproxy,职场经验,软件测试工程师,软件测试,单元测试,职场和发展,程序人生,软件测试,自动化测试

step5

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

mitmproxy,职场经验,软件测试工程师,软件测试,单元测试,职场和发展,程序人生,软件测试,自动化测试

mitmweb

1. 运行mitmweb

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

mitmproxy,职场经验,软件测试工程师,软件测试,单元测试,职场和发展,程序人生,软件测试,自动化测试

2. 过滤请求

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

mitmproxy,职场经验,软件测试工程师,软件测试,单元测试,职场和发展,程序人生,软件测试,自动化测试

3. 清除接口信息

mitmproxy,职场经验,软件测试工程师,软件测试,单元测试,职场和发展,程序人生,软件测试,自动化测试

4. 修改请求

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

mitmproxy,职场经验,软件测试工程师,软件测试,单元测试,职场和发展,程序人生,软件测试,自动化测试

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

mitmproxy,职场经验,软件测试工程师,软件测试,单元测试,职场和发展,程序人生,软件测试,自动化测试

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

mitmproxy,职场经验,软件测试工程师,软件测试,单元测试,职场和发展,程序人生,软件测试,自动化测试

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

mitmproxy,职场经验,软件测试工程师,软件测试,单元测试,职场和发展,程序人生,软件测试,自动化测试文章来源地址https://www.toymoban.com/news/detail-835975.html

到了这里,关于抓包工具之mitmproxy的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 软件测试项目经验简历包装怎么写?

    目录 一、引言 二、测试任务 三、测试进度 四、测试资源 五、测试策略 六、测试完成标准 七、风险和约束 八、问题严重程度描述和响应时间规范 九、测试的主要角色和职责 ​有需要实战项目的评论区留言吧! 软件测试是使用人工或者自动的手段来运行或者测定某个软件

    2024年02月12日
    浏览(38)
  • 软件测试——项目实战经验(电商、银行、APP)

    1、项目名称:家电购 项目描述: “家电购”商城系统是基于web浏览器的电子商务系统,通过互联网实现商品的线上电子化销售及业务流程处理。该系统主要以系统会员及普通游客为服务目标,提供方便快捷的商品展示和线上购物。项目由前后台共同构成,前台主要提供与用

    2024年02月05日
    浏览(91)
  • 软件测试简历个人技能和项目经验怎么写?(附项目资料)

    目录 前言 个人技能 项目实战经验 项目名称:苏州银行项目(web+app) 项目描述: 项目名称:中国平安项目(web+app) 项目描述: 项目名称:苏宁易购项目(web+app) 项目描述: 总结 重点:配套学习资料和视频教学   最近很多人在找工作,投简历环节就遇到了困难。简历里

    2024年02月05日
    浏览(48)
  • 如何写软件测试简历项目经验,靠这个面试都要赶场

    面试是我们进入一个公司的门槛,通过了面试才能进入公司,你的面试结果和你的薪资是息息相关的。那如何才能顺利的通过面试,得到公司的认可呢?面试软件测试要注意哪些问题呢?下面和笔者一起来看看吧。这里分享一下笔者十年测试生涯的面试总结! 软件测试面试常见问

    2024年02月06日
    浏览(43)
  • 缺项目经验的看过来,真实的软件测试实战项目来了

    这是一个电商项目,你可以在网站上购买各种宠物。 常见的电商网站操作在这个项目中都可以找到,比如注册,登录,查找商品,选择商品,添加购物车,下单,查看定位,确认收货地址等等。   网站需要的个人信息并不需要真实的,付款也不需要真的付钱,并不需要担心

    2024年02月07日
    浏览(50)
  • 软件测试培训了几个月,找到工作了,面试经验分享给各位

    功能方面:问的最多的就是测试流程,测试计划包含哪些内容,公司人员配置,有bug开发认为不是 bug怎么处理,怎样才算是好的用例,测试用例设计方法(等价类,边界值等概念方法),包含哪些内 容,怎样保证用例覆盖全面,马上要上线了发现bug怎么处理,怎么判断产品

    2024年02月03日
    浏览(109)
  • 面试“我“又踩坑了,高频软件测试面试题,项目经验板块(付答案)...

    问题1:请介绍下最近做过的项目? 问题2:请介绍下你印象深刻的bug? 问题3: 数据库在哪里使用过? 问题4:说一下你常用的Linux命令? 问题5:Fiddler工具怎么使用的? 问题6:为什么从上一家公司离职? 这几个面试题该如何回答才能不踩坑? 面试题1: 请介绍下你最近做的项

    2024年02月08日
    浏览(43)
  • 软件测试-fiddler设置代理进行抓包或者给手机切换host访问测试服

    1、电脑端(输入cmd-》再输入:ipconfig)查看电脑的ipv4地址: 或者在fiddler查看IP地址,如图  2、电脑端打开fiddler  3、手机端设置WLAN给网络设置代理,选择与电脑端连接一样的wifi名字(必须为 公网 ,可在连的网络点击属性查看),长按点击修改。对该网络进行编辑,代理选

    2024年02月16日
    浏览(50)
  • 软件测试 | 常见代理工具

    各种功能强大的代理工具在接口测试中发挥着作用,如Charles、Burpsuite、Mitmproxy等。这些代理工具可以帮助我们构造各种测试场景,以便我们更好地完成测试工作。下面的介绍以Charles为主。 Charles是一款代理服务器工具,用它可以截取请求和响应以达到抓包的目的,它支持多平

    2024年01月20日
    浏览(49)
  • 什么是软件压力测试?软件压力测试工具和流程有哪些?

    软件压力测试 一、含义: 软件压力测试是一种测试应用程序性能的方法,通过模拟大量用户并发访问,测试应用程序在压力情况下的表现和响应能力。软件压力测试的目的是发现系统潜在的问题,如内存泄漏、线程锁、资源泄漏等,以及在高峰期或高负载情况下系统的响应

    2024年02月11日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包