python使用mitmproxy和mitmdump抓包在电脑上抓包

mitmproxy是一个中间人角色,供python抓包使用。

本机环境:win10 64位,python3.10.4。首先安装mitmproxy,参考我的文章 记录一下python2和python3在同一台电脑上共存使用并安装各自的库以及各自在pycharm中使用的方法-CSDN博客

一、安装mitmproxy

cmd进入cd C:\Users\LC\AppData\Local\Programs\Python\Python310\Scripts,运行

pip3 install mitmproxy

 安装成功(我记得会安装一大堆相关包,还可能会自动升级requests导致一些其他程序出问题)

安装完毕后,cmd,运行mitmdump --version查看是否安装成功。

 二、使用mitmweb

管理员运行cmd,然后运行mitmweb -p 8889,在地址栏输入127.0.0.1:8081,即监听了8889端口[被监听的浏览器或者应用要将代理设置为127.0.0.1:8889](默认监听端口8080),即可以在web中查看流量。

在此我使用默认情况,在cmd中输入mitmweb,此时默认监控的是127.0.0.1:8080。

使用360极速浏览器测试,将其设置为使用127.0.0.1:8080的代理服务器。

在另外的chrome浏览器中输入127.0.0.1:8081,会打开一个网页,用于显示流经360浏览器(代理为127.0.0.1:8080)的数据包。

 数据包实例:

不过,每次打开https的页面,都会有如下提醒:

应该是https证书的问题,怎么解决https流量的问题呢?
安装完毕后,安装证书为解析https:
<1>首先管理员cmd,运行mitmdump,在windows中产生CA证书


<2>在用户/管理员/.mitmproxy文件夹内找到mitmporxy-ca.p12,注意路径管理员并不一定总是Administrator,比如我的就是LC。(而且我之前用过mitmproxy,所以这个.mitmproxy文件夹的时间是2020/9/7,会引起问题,下面再讲)


<3>双击它,当前用户,下一步,不输密码,包括所有扩展属性,下一步,将所有的证书都放入下列存储,受信任的根证书颁发机构,下一步,警告框,选是,导入成功。

 

 

 出现问题:

在操作完上述步骤后,有可能一次成功,也可能仍然会弹出“不是私密连接”的提示,地址栏显示证书有问题,查看详情说是证书已经过期,这种情况大概率是之前安装过mitmproxy证书。

这时需要删除:用户/管理员/.mitmproxy文件夹,并重新执行上述步骤。看日期已经是最新的了。

 

如果还有问题,需要使用网页重新下载证书:使用挂上127.0.0.1:8080的浏览器(在已经开启mitmweb的默认端口的情况下),访问mitm.it网址,下载证书。

 

 

我忘了:是直接双击安装,还是先复制粘贴覆盖掉“用户/管理员/.mitmproxy”里的证书后安装。

经过上述操作后,就会弹出警告框,说明基本成功了。

此后,用mitm中间人抓取https流量时,就不会弹出“不是私密连接”的提示了。 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用mitmproxy库来实现Python中的代理功能。首先,你需要创建一个名为addons.py的文件,并在其中编写以下代码: ```python from mitmproxy import ctx class Counter: def request(self): ctx.log.info('we have seen') with open('1.txt', 'a', encoding='utf-8') as f: f.write('we have seen') addons = [ Counter() ] ``` 然后,在命令行中执行以下命令来启动mitmdump并加载addons.py文件: ``` mitmdump -s addons.py ``` 这样,你就可以拦截任意请求并进行处理了。如果遇到了`ImportError: cannot import name 'soft_unicode' from 'markupsafe'`的错误,可以尝试更新markupsafe库的版本为2.01。 总结来说,mitmproxy不仅可以用于请求拦截,还可以用于正向和反向代理,以及中间人攻击等场景。在工作中,我们经常会使用抓包工具,但在一些自动化操作中无法进行手动抓包时,可以使用mitmproxy对本地代理进行请求拦截,从而过滤出我们想要的接口或进行中间人攻击操作。 在使用mitmdump启动后,会在`C:\Users\85025\.mitmproxy`目录下生成一些证书文件,这些文件的作用如下: - `mitmproxy-ca.pem`:PEM格式的证书私钥 - `mitmproxy-ca-cert.pem`:PEM格式的证书,适用于大多数非Windows平台 - `mitmproxy-ca-cert.p12`:PKCS12格式的证书,适用于Windows平台 - `mitmproxy-ca-cert.cer`:与`mitmproxy-ca-cert.pem`相同,只是改变了后缀,适用于部分Android平台 - `mitmproxy-dhparam.pem`:PEM格式的秘钥文件,用于增强SSL安全性 这些证书文件可以用于配置SSL代理,以实现更安全的通信。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值