mitmproxy 安装配置

Mitmproxy 简介

Mitmproxy 是一个支持HTTP和HTTPS的抓包程序,有类似 Fiddler、Charles 的功能,只不过它是一个控制台的形式操作

顾名思义,mitmproxy 就是用于 MITM 的 proxy,MITM 即中间人攻击(Man-in-the-middle attack)。用于中间人攻击的代理首先会向正常的代理一样转发请求,保障服务端与客户端的通信,其次,会适时的查、记录其截获的数据,或篡改数据,引发服务端或客户端特定的行为。

Mitmproxy 还有两个关联组件。一个是 Mitmdump,它是 Mitmproxy 的命令行接口,利用它我们可以对接 Python 脚本,用 Python 实现监听后的处理。另一个是 Mitmweb,它是一个 Web 程序,通过它我们可以清楚观察 Mitmproxy 捕获的请求

不同于 fiddler 或 wireshark 等抓包工具,mitmproxy 不仅可以截获请求帮助开发者查看、分析,更可以通过自定义脚本进行二次开发。举例来说,利用 fiddler 可以过滤出浏览器对某个特定 url 的请求,并查看、分析其数据,但实现不了高度定制化的需求,类似于:“截获对浏览器对该 url 的请求,将返回内容置空,并将真实的返回内容存到某个数据库,出现异常时发出邮件通知”。而对于 mitmproxy,这样的需求可以通过载入自定义 python 脚本轻松实现


安装

“安装 mitmproxy”这句话是有歧义的,既可以指“安装 mitmproxy 工具”

也可以指“安装 python 的 mitmproxy 包”,注意后者是包含前者的

如果是 Python 使用者,直接使用 pip 命令安装即可

pip3 install mitmproxy

完成后,系统将拥有 mitmproxymitmdumpmitmweb 三个命令,由于 mitmproxy 命令不支持在 windows 系统中运行,我们可以拿 mitmdump 测试一下安装是否成功,执行

> mitmdump --version
Mitmproxy: 5.3.0
Python:    3.7.3rc1
OpenSSL:   OpenSSL 1.1.1h  22 Sep 2020
Platform:  Windows-10-10.0.19041-SP0

mitmweb 命令启动后,会提供一个 web 界面,用户可以实时看到发生的请求,并通过 GUI 交互来过滤请求,查看请求数据。形如:

mitmdump 打开后会显示抓到的内容

还可以加上脚本


APP 抓包

如果需要抓手机的包的话,就需要在你连接的 wifi 修改代理(跟配置 fiddler 差不多)

请确保已经正确安装好了 Mitmproxy,并且手机和PC处于同一个局域网下,同时配置好了Mitmproxy的 CA 证书。

安装mitmproxy后,首先cmd运行一下 mimtdump 命令,以便在windows系统中产生CA证书

要先运行 mimtdump 命令

在手机上访问 http://mitm.it/ 即可,然后安装 证书

原文地址:https://www.cnblogs.com/kai-/p/14115905.html