美文网首页
mitmproy代理

mitmproy代理

作者: 是立品啊 | 来源:发表于2020-08-14 21:58 被阅读0次

简介

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

安装

pip install mitmproxy

三种启动命令

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

  • mitmproxy -> 提供一个命令行界面(该命令不支持windows)。
  • mitmdump-> 提供一个简单的终端输出。
  • mitmweb -> 提供一个浏览器界面。

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. 抓取请求

  • 浏览器发送请求,shell中抓取了请求,并同时写入了文件 log.txt
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
  • 请求头默认加上了我们脚本中设置的参数 count

参考

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

相关文章

  • mitmproy代理

    简介 mitmproxy 基于Python开发的 是一个免费开源的交互式HTTPS代理。 安装 三种启动命令 三种...

  • 屏蔽网站对selenium的检测

    使用mitmproy可以屏蔽对selenium的检测 在爬取淘宝拉取验证码的时候,可以使用mitmproxy中的f...

  • 正向代理和反向代理(通俗易懂)

    正向代理:代理端代理的是客户端。反向代理:代理端代理的是服务端。 常用案例 正向代理:如VPN代理客户端 反向代理...

  • 编程常用的设计模式

    动态代理和静态代理 静态代理 动态代理 静态代理与动态代理的区别 JDK中的动态代理和CGLIB 实现动态代理的方...

  • JAVA动态代理的实现方式

    1. 静态代理VS动态代理 代理类可以增强被代理对象的方法。可分为静态代理和动态代理。 1.1 静态代理 静态代理...

  • 面试系列~动态代理实现与原理

    动态代理有JDK动态代理, CGLIB动态代理, SpringAOP动态代理 一,JDK动态代理  jdk动态代理...

  • Nginx作为代理服务

    一、代理服务代理-代为办理(代理理财、代理收货等等) 1.1正向代理 1.2反向代理 1.3代理区别 1.4配置语...

  • Spring之代理模式

    九、代理模式 目录:静态代理、动态代理AOP的底层机制就是动态代理。代理模式分为静态代理和动态代理。接触aop之前...

  • Spring的AOP原理分析

    一 动态代理 动态代理分为JDK动态代理和CGLIB动态代理 jdk动态代理 被代理类(目标类)和代理类必须实现同...

  • 静态代理、动态代理

    代理分为静态代理和动态代理 按照代理创建的时期,可以分为静态代理和动态代理: (1) 静态代理:由程序员或者...

网友评论

      本文标题:mitmproy代理

      本文链接:https://www.haomeiwen.com/subject/zbgndktx.html