mitmproxy的安装和使用

本文详细介绍mitmproxy的安装步骤、配置手机代理的方法及证书安装流程,并通过一个简单的python脚本示例验证配置是否成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mitmproxy的安装

如果安装了anaconda,则在终端执行下面这条命令

pip install mitmproxy

安装后在目录下会增加三个可执行文件mitmproxy.exemitmdump.exemitmweb.exe,为了能够在终端直接使用mitmdump命令,需将其文件路径添加到环境变量中,我的路径是D:\InstallationLocation\Anaconda\envs\WebCrawler\Scripts,其中WebCrawler是我的虚拟环境。

代理的配置

我用mitmproxy是为了对手机抓包,所以首先得给手机设置代理,关于手机代理的设置可参考这篇博客:虚拟机ip、主机ip、代理ip

这里代理的端口号设置为8080。

证书的安装

配置完代理还需要进行安装证书,首先是电脑中的安装,打开C:\Users\用户\.mitmproxy这个文件夹,找到如下文件,双击进行安装,一路回车。

在这里插入图片描述

然后是手机端的安装,将这个文件发到电脑,下载后打开,在选择打开方式时选择“证书安装程序”,之后一路点击点击确认即可。

测试mitmproxy

这部分的内容参考的是【python爬虫开发 从容入门到实践 谢乾坤】9.2中间人爬虫
先写一个python脚本:

# mitmproxy_test.py
def request(flow):
    print(flow.request.headers)

然后在终端执行下面的命令:

mitmdump -s mitmproxy_test.py -p 8080

如果一切顺利,则当你点开手机应用时在终端会打印一些headers信息,见下图:

在这里插入图片描述

### 如何在 mitmproxy安装证书 #### 一、证书文件说明 mitmproxy 提供了多种格式的证书文件,用于不同平台的配置。以下是常见文件及其用途[^1]: - **mitmproxy-ca.pem**:私钥文件,通常用于开发者调试。 - **mitmproxy-ca-cert.pem**:非 Windows 平台使用的证书文件。 - **mitmproxy-ca-cert.p12**:Windows 平台上使用的证书文件(PKCS#12 格式)。 - **mitmproxy-ca-cert.cer**:与 `mitmproxy-ca-cert.pem` 相同,主要用于 Android 平台。 #### 二、生成下载证书 启动 mitmproxy 或其命令行工具 mitmdump 后,访问 `http://mitm.it` 页面可以下载对应平台的证书文件。例如,在 Android 设备上选择 `.cer` 文件进行下载[^3]。 #### 三、安装证书到设备 以下为常见平台的证书安装步骤: ##### 1. **Windows** 将下载的 `mitmproxy-ca-cert.p12` 文件导入到 Windows 的受信任根证书颁发机构中。具体操作如下: - 双击 `.p12` 文件,根据提示输入密码并完成安装。 - 打开“管理计算机证书”工具,确保证书已添加到“受信任的根证书颁发机构”存储区[^4]。 ##### 2. **Android** - 在模拟器或真实设备上访问 `http://mitm.it`,选择 `.cer` 文件进行下载。 - 下载完成后,打开文件并按照系统提示设置 PIN 码或密码。 - 安装成功后,进入设备的“安全设置”页面,确认证书已启用[^3]。 ##### 3. **iOS** - 使用 Safari 浏览器访问 `http://mitm.it`,下载 `.mobileconfig` 文件。 - 安装配置文件并通过“设置”应用启用证书[^5]。 #### 四、配置代理 完成证书安装后,需要配置目标设备的代理设置以指向运行 mitmproxy 的主机。例如: - **IPv4 地址**:运行 mitmproxy 的主机 IP 地址。 - **端口号**:默认为 8080,可通过 `-p` 参数自定义。 ```bash mitmdump -p 8888 ``` #### 五、验证证书安装 打开浏览器访问 HTTPS 网站,若未出现证书错误提示,则表示证书安装成功。 ```python import mitmproxy.addonmanager import mitmproxy.connections import mitmproxy.http import mitmproxy.log import mitmproxy.proxy import mitmproxy.script import mitmproxy.tcp import mitmproxy.websocket import mitmproxy.options import mitmproxy.master import mitmproxy.flow ``` 上述代码片段展示了 mitmproxy 的核心模块加载示例,可用于进一步开发抓包脚本。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值