实战|手把手教你如何使用抓包神器MitmProxy

简介: 大家好,我是阿辰,今天教大家如何使用MitmProxy抓包工具。玩爬虫的小伙伴都知道,抓包工具除了MitmProxy外,还有Fiddler、Charles以及浏览器netwrok等

大家好,我是阿辰,今天教大家如何使用MitmProxy抓包工具。

玩爬虫的小伙伴都知道,抓包工具除了MitmProxy外,还有Fiddler、Charles以及浏览器netwrok等

既然都有这么多抓包工具了,为什么还要会用MitmProxy呢??今天教大家使用MitmProxy抓包工具的原因,主要有以下几点:

不需要安装软件,直接在线(浏览器)进行抓包(包括手机端和PC端)

配合Python脚本抓包改包(下面会有案例)

抓包过程的所有数据包都可以自动保留到txt里面,方便过滤分析

使用相对简单,易上手。

1

配置MitmProxy

MitmProxy可以说是客户端,也可以说是一共python库

方式一:客户端
https://mitmproxy.org/downloads/
在这个地址下可以下载对应的客户端安装即可

方式二:Python库
pip install mitmproxy
通过这个pip命令可以下载好MitmProxy,下面将会以Python库的使用方式给大家讲解如何使用(推荐方式二)

2

启动MitmProxy

MitmProxy启动有三个命令(三种模式)

mitmproxy,提供命令行界面

mitmdump,提供一个简单的终端输出(还可以配合Python抓包改包)

mitmweb,提供在线浏览器抓包界面

mitmdump启动
mitmdump -w d://lyc.txt

这样就启动mitmdump,接着在本地设置代理Ip是本机IP,端口8080

安装证书
访问下面这个链接

http://mitm.it/

可以选择自己的设备(window,或者Android、Apple设备去)安装证书。

然后随便打开一个网页,比如百度

这里是因为证书问题,提示访问百度提示https证书不安全,那么下面开始解决这个问题,因此就引出了下面的这种启动方式

浏览器代理式启动
哪一个浏览器都可以,下面以Chrome浏览器为例(其他浏览器操作一样)

先找到chrome浏览器位置,我的chrome浏览器位置如下图

通过下面命令启动

"C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe" --proxy-server=127.0.0.1:8080 --ignore-certificate-errors
--proxy-server是设置代理和端口

--ignore-certificate-errors是忽略证书

然后会弹出来Chrome浏览器,接着我们搜索知乎

在cmd中就可以看到数据包

这些文本数据可以在编程中进行相应的操作,比如可以放到python中进行过来监听处理。

3

启动Mitmweb

新开一个cmd(终端)窗口,输入下来命令启动mitmweb

mitmweb

之后会在浏览器自动打开一个网页(其实手动打开也可以,地址就是:http://127.0.0.1:8081)

现在页面中什么也没有,那下面我们在刷新一个知乎页面

重点:关闭mitmproxy终端!关闭mitmproxy终端!关闭mitmproxy终端!

如果不改变在mitmweb中获取不到数据,数据只在mitmproxy中,因此需要关闭mitmproxy这个命令终端

刷新知乎页面之后如下:

在刚刚的网页版抓包页面就可以看到数据包了

并且还包括https类型,比如查看其中一个数据包,找到数据是对应的,说明抓包成功。

4

配合Python脚本

mitmproxy代理(抓包)工具最强大之处在于对python脚步的支持(可以在python代码中直接处理数据包)

下面开始演示,先新建一个py文件(lyc.py)

from mitmproxy import ctx

所有发出的请求数据包都会被这个方法所处理

所谓的处理,我们这里只是打印一下一些项;当然可以修改这些项的值直接给这些项赋值即可

def request(flow):

# 获取请求对象
request = flow.request
# 实例化输出类
info = ctx.log.info
# 打印请求的url
info(request.url)
# 打印请求方法
info(request.method)
# 打印host头
info(request.host)
# 打印请求端口
info(str(request.port))
# 打印所有请求头部
info(str(request.headers))
# 打印cookie头
info(str(request.cookies))

所有服务器响应的数据包都会被这个方法处理

所谓的处理,我们这里只是打印一下一些项

def response(flow):

# 获取响应对象
response = flow.response
# 实例化输出类
info = ctx.log.info
# 打印响应码
info(str(response.status_code))
# 打印所有头部
info(str(response.headers))
# 打印cookie头部
info(str(response.cookies))
# 打印响应报文内容
info(str(response.text))

在终端中输入一下命令启动

mitmdump.exe -s lyc.py

‍‍‍‍‍‍‍(PS:这里需要通过另一个端启动浏览器)

"C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe" --proxy-server=127.0.0.1:8080 --ignore-certificate-errors
然后访问网页(http://www.chenlove.cn),这里就以我自己的个人网站为例

在终端中就可以看到信息

这些信息就是我们在lyc.py中指定的显示信息。

PS:

在手机上配置好代理之后,mitmproxy同样可以抓取手机端数据,这里的具体操作和我之前这篇文章一样【以某乎为实战案例,教你用Python爬取手机App数据】,只不过是抓包工具不一样而已。

5

小结

不需要安装软件,直接在线(浏览器)进行抓包(包括手机端和PC端)

配合Python脚本抓包改包。

抓包过程的所有数据包都可以自动保留到txt里面,方便过滤分析

使用相对简单,易上手。

最后说一声:原创不易,求给个赞、在看、评论

推荐阅读

实操案例!手把手教你画城市轮播地图(文末送书)

实战|教你爬取全国火锅店数量,并利用地图可视化展示

手把手教你爬取PC端『某酷视频』个人历史播放数据,并可视化展示

相关文章
|
应用服务中间件 nginx
wireshark抓包入门使用教程
wireshark抓包入门使用教程
1086 0
wireshark抓包入门使用教程
|
4月前
|
监控 前端开发 网络协议
《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(5)-Fiddler监控面板详解
【7月更文挑战第20天】Fiddler是一款强大的HTTP协议调试代理工具,它的监控面板是核心功能,记录服务器的请求会话,包括HTTP和HTTPS。监控面板分为多个标签,如统计数据(Statistics)展示性能指标,Inspector用于查看请求和响应的详细内容,AutoResponder允许重定向请求到本地资源,Composer用于构造和调试HTTP请求,还有Orchestra Beta、Fiddler Script、Log和Filters等功能。
188 14
《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(5)-Fiddler监控面板详解
|
4月前
|
Web App开发 监控 前端开发
《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(2)-初识Fiddler让你理性认识一下
【7月更文挑战第17天】Fiddler是一款强大的HTTP(S)抓包与调试工具,适用于Windows,免费且跨平台,可用于查看、分析、修改客户端与服务器之间的数据包。它在开发和测试中尤其有用,帮助定位bug、进行接口测试、模拟数据、分析性能。Fiddler支持HTTPS解密和移动设备抓包,与其他抓包工具如Wireshark、Charles相比,它更易用且支持移动应用。通过设置代理,Fiddler能监控所有通过的HTTP流量,包括请求和响应,允许设置断点和篡改数据。对于初学者,它是理解HTTP协议和解决网络问题的利器。
184 3
|
6月前
|
监控 前端开发 网络协议
《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(5)-Fiddler监控面板详解
【2月更文挑战第7天】《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(5)-Fiddler监控面板详解 按照从上往下,从左往右的计划,今天就轮到介绍和分享Fiddler的监控面板了。监控面板主要是一些辅助标签工具栏。有了这些就会让你的会话请求和响应时刻处监控中毫无隐私可言。监控面板是fiddler最核心的功能之一。记录了来自于服务器端(webServer)的请求会话。包括页面的请求和静态文件的请求。状态面板主要显示的是会话及会话的状态。位于软件界面右边的这一大块面板,即为辅助标签 + 工具,宏哥称之为监控。
172 0
抓包神器wireshark安装保姆级教程
本文介绍了网络抓包工具Wireshark的安装和基本抓包步骤。首先,从官方网站下载适合操作系统的安装包,然后以管理员权限运行并按照向导进行安装,包括同意协议、选择安装路径和添加快捷方式。安装过程中会包含NPcap和USBPcap的安装。安装完成后,启动Wireshark,选择要抓包的网络接口,开始抓包。通过`捕获->选项`设置,然后开始抓取数据包。在执行如`ping`等网络命令后,Wireshark将显示抓取到的数据包。通过过滤条件可以筛选特定协议或IP的数据包,提高分析效率。本文为读者提供了Wireshark入门知识,后续将探讨更多高级功能。
|
6月前
|
Web App开发 测试技术
从零基础到精通,抓包神器fiddler保姆级使用教程(一)
Fiddler是一款强大的Web代理调试工具,用于记录、检查HTTP/HTTPS请求,支持断点、数据篡改、性能统计、接口测试等。它在客户端与服务器间作为代理,帮助识别和解决问题。安装流程包括访问官网下载Fiddler Classic,按照提示进行安装,并可在安装目录或桌面快捷方式启动程序。Fiddler适用于接口调试、性能分析和线上环境问题排查等场景。
|
6月前
|
XML JSON 网络协议
《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(7)-Fiddler状态面板-QuickExec命令行
【2月更文挑战第8天】《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(7)-Fiddler状态面板-QuickExec命令行
69 5
|
6月前
|
Web App开发 监控 前端开发
《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(2)-初识Fiddler让你理性认识一下
【2月更文挑战第4天】《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(2)-初识Fiddler让你理性认识一下 今天的理性认识主要就是讲解和分享Fiddler的一些理论基础知识。其实这部分也没有什么,主要是给小伙伴或者童鞋们讲一些实际工作中的场景,然后隆重推出我们的猪脚(主角)-Fiddler。在这个网络信息时代里,计算机安全始终是一个让人揪心的问题,网络安全则有过之而无不及。许多电脑高手 经常利用 Fiddler 可以作为代理的这个功能去抓取会话并进行修改达到自己想要的目的。Fiddler是一个强大并且跨平台的HTTP(S)抓包神器,你可别拿去做坏事。它的英文名叫:Fiddler,
144 2
|
6月前
|
网络协议 Linux iOS开发
《熬夜整理》保姆级系列教程-玩转Wireshark抓包神器教程(2)-Wireshark在Windows系统上安装部署
【2月更文挑战第2天】《熬夜整理》保姆级系列教程-玩转Wireshark抓包神器教程(2)-Wireshark在Windows系统上安装部署
107 4

相关实验场景

更多
下一篇
无影云桌面