mitmproxy安装和简易使用

一、安装

前言:如果只是拿 mitmproxy 做一个替代 fiddler 的工具,没有什么定制化的需求,那完全只需要“安装 mitmproxy 工具”即可,去 mitmproxy 官网 上下载一个 installer 便可开箱即用,不需要提前准备好 python 开发环境。但显然,这不是这里要讨论的,我们需要的是“安装 python 的 mitmproxy 包”,本文只提及到python使用的mitmproxy脚本的简易使用(windows)

1 安装mitmproxy

直接使用pip安装即可

pip install mitmproxy

完成后,系统将拥有 mitmproxymitmdumpmitmweb 三个命令,由于 mitmproxy 命令不支持在 windows 系统中运行(这没关系,不用担心),我们测试一下安装是否成功,执行:

mitmdump --version

应当可以看到类似于这样的输出:  

mitmdump

 

 

2 配置mitmproxy

用户目录下边

C:\Users\Dell\.mitmproxy  # 对应用户目录下都有一个.mitmproxy目录

 

 不知道用不用装,我是都安装了。

 

 2.1 控制面板==》 网络和 Internet ==》连接  ==》局域网设置   (本地pc设置)

 

2.2谷歌浏览器:chrome://settings/system ==》打开您计算机的代理设置  ==》(浏览器拦截,列如抓取web)

2.3 手机配置就是配置ip代理和端口

打开手机浏览器:输入http://mitm.it/   

根据图表点击自己手机对应的证书,进行安装。

 注意:ip地址都为局域网的该机器ip

3 使用mitmproxy

直接上代码吧

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.he
aders))
    # 打印cookie头
    info(str(request.cookies))


# # 所有服务器响应的数据包都会被这个方法处理
# # 所谓的处理,我们这里只是打印一下一些项
def response(flow):
    # 获取响应对象
    response = flow.response
    # 实例化输出类
    info = ctx.log.info
    # 打印响应码
    info(str(response.url))
    # # 打印所有头部
    info(str(response.headers))
    # # 打印cookie头部
    info(str(response.cookies))
    # 打印响应报文内容
    info(str(response.text))

    print(response.content)

启动

mitmdump.exe  -s   ****.py    上边文件的路径文件

刷新浏览器 查看控制台打印的数据

很多种用法

参考:

<wolfogre's blog:https://blog.wolfogre.com/posts/usage-of-mitmproxy/

 

mitmproxy官方:https://docs.mitmproxy.org/stable/

转载于:https://www.cnblogs.com/clbao/p/11597979.html

### Python API 教程与文档 #### 使用 Sphinx 生成高质量的 Python 文档 对于 Python 开发者来说,Sphinx 是目前最流行的文档生成工具。通过简单的配置标记语法,开发者可以轻松创建结构清晰、易于维护的技术文档[^1]。 ```python import sphinx.quickstart as qs qs.main(argv=['', '-q', 'my_project']) ``` 这段代码展示了如何快速启动一个新的 Sphinx 项目。`quickstart` 函数会引导用户完成一系列设置向导,最终生成一套基础模板文件夹用于编写文档内容。 #### 利用 Pydoc 工具自动生成简单文档 尽管 Sphinx 更受青睐,但对于小型项目或个人开发而言,内置于 Python 中的 pydoc 模块同样是一个不错的选择。只需一条命令即可查看模块的帮助信息: ```bash pydoc module_name ``` 此方法适合那些希望迅速获得某个特定库函数签名及其描述的情况。 #### Mitmproxy 的 Python API 应用实例 Mitmproxy 提供了一套强大的 Python 接口来增强 HTTP 流量拦截功能。其中 ADDON DEVELOPMENT 部分允许使用者编写插件扩展核心能力,实现诸如流量修改、事件监听等功能[^2]。 ```python from mitmproxy import http class SimpleAddon: def request(self, flow: http.HTTPFlow) -> None: print(f"Handling request to {flow.request.pretty_url}") ``` 上述例子定义了一个简易附加组件类 `SimpleAddon` ,每当有新的HTTP 请求到来时就会触发其内部的方法执行相应操作。 #### Photoshop Python API 实战指南 Photoshop 支持通过 Python 脚本来控制图像处理流程。安装好依赖包之后就可以调用各种接口来进行批量化作业了[^3]。 ```python from photoshop import Session with Session() as ps: doc = ps.active_document print(doc.name) ``` 这里展示的是连接到当前打开的应用程序窗口并读取活动文档名称的过程。 #### 编写优质 API 文档的重要性 良好的 API 文档不仅有助于他人理解接口用途及参数含义,还能有效减少沟通成本提高协作效率。因此建议在设计阶段就规划好相应的说明材料,并随着版本迭代持续更新完善[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值