mitmproy代理

2020-08-14  本文已影响0人  是立品啊

简介

mitmproxy 基于Python开发的 是一个免费开源的交互式HTTPS代理。

安装

pip install mitmproxy

三种启动命令

三种命令对应不同的三种模式

mitmdump

mitmdump是mitmproxy所提供的命令之一。它提供类似于tcpdump的功能,让您可以查看、记录和以编程方式转换HTTP流量。

1. 启动监听

 ~ mitmdump -w ~/log.txt
Proxy server listening at http://*:8080

该命令会占用本地8080端口,将监听的数据写入到 ~/log.txt 文件中

2 . 浏览器设置代理

浏览器监听端口号要与 mitmproxy 监听的端口8080 保持一致。

2 .1 打开网页不支持https的解决办法
image-20200814212954603
2.2、用命令行启动一个临时的浏览器,指定代理,并忽略掉证书错误
# mac
open -a /Applications/Google\ Chrome.app --args --proxy-server=127.0.0.1:8080 --ignore-certificate-errors
# windows
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --proxy-server=127.0.0.1:8080 --ignore-certificate-errors

3. 抓取请求

image-20200814213346429

mitmweb

mitmweb启动默认浏览器,并打开一个web版的抓包工具,为了直观的看到请求和响应的数据,我们使用 mitmweb 命令运行脚本

1. 自定义脚本修改请求

# vim http_add_header.py
"""Add an HTTP header to each response."""


class AddHeader:
    def __init__(self):
        self.num = 0

    def response(self, flow):
        self.num = self.num + 1
        flow.response.headers["count"] = str(self.num)

addons = [
    AddHeader()
]

2. 启动代理

~  mitmweb -s ./http_add_header.py
Web server listening at http://127.0.0.1:8081/
Loading script ./http_add_header.py
Proxy server listening at http://*:8080

3. 浏览器访问请求

image-20200814215402432

参考

更多参考官网例子:https://docs.mitmproxy.org/stable/addons-examples/

上一篇下一篇

猜你喜欢

热点阅读