一、抓包工具mitmproxy优势
与fiddler相比,操作难度差不多,但是mitmproxy有一个优势是能够运行python脚本
二、安装
mitmproxy安装,windows下先安装python,然后直接在cmd控制台输入以下指令进行安装
pip install mitmproxy
三、mitmproxy简单使用
1. 在cmd 控制台输入mitmproxy、mitmdump、mitmweb任意一项均可运行,默认端口为8080
2. 谷歌浏览器设置代理,安装插件SwitchyOmega,并配置代理,点击运用选项
(1) SwitchyOmega谷歌浏览器代理扩展下载
下载链接:https://cdn3.zzzmh.cn/v2/crx/padekgcemlokbadohgkifijomclgjgif/padekgcemlokbadohgkifijomclgjgif.zip?auth_key=1694707200-4d4bc3a0919b464f8726f337821c1d34-0-fc0de34e9dc8d55cfcd4c10c4d28fda8
(2) 配置允许安装浏览器插件
谷歌浏览器右键打开属性-》目标后面添加: --enable-easy-off-store-extension-install
注意–enable前要有空格
(3)打开管理扩展程序并将下载好的文件拖动到里面
(4)添加mitmproxy场景并点击应用选项
(5)启用mitmproxy代理
3.安装证书,在mitmproxy运行过程中,浏览器输入mitm.it,下载对应证书并安装,注意切换服务器之后证书需要重新安装
4. mitmproxy运用,cmd下输入mitmproxy,点击回车
(1)筛选百度get请求
在mitmproxy页面按 f ,输入~d www.baidu.com & ~m get
(2)拦截请求并篡改
在mitmproxy页面按 i ,输入 ~d www.baidu.com & ~m get
找到拦截的请求,点击回车进入详情,连续点两次e,可更改host
按q返回,并按a发送
成功更改访问地址
5. mitmdump设置端口以及运行python脚本
mitmdump -p 8080 -s test.py
test.py代码如下
from mitmproxy import ctx
# 必须这么写
def request(flow):
# print(flow.request.headers)
# ctx.log.info(str(flow.request.headers))
ctx.log.warn(str(flow.request.url))
# ctx.log.error(str(flow.request.host))
# ctx.log.error(str(flow.request.method))
# ctx.log.error(str(flow.request.path))
def response(flow):
ctx.log.error(str(flow.request.status_code))
ctx.log.error(str(flow.request.text))
抓包如下: