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

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

python使用mitmproxy和mitmdump抓包在电脑上抓包_第1张图片

本机环境: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的代理服务器。

python使用mitmproxy和mitmdump抓包在电脑上抓包_第2张图片

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

python使用mitmproxy和mitmdump抓包在电脑上抓包_第3张图片 数据包实例:

python使用mitmproxy和mitmdump抓包在电脑上抓包_第4张图片

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

python使用mitmproxy和mitmdump抓包在电脑上抓包_第5张图片应该是https证书的问题,怎么解决https流量的问题呢?
安装完毕后,安装证书为解析https:
<1>首先管理员cmd,运行mitmdump,在windows中产生CA证书


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

python使用mitmproxy和mitmdump抓包在电脑上抓包_第6张图片

python使用mitmproxy和mitmdump抓包在电脑上抓包_第7张图片
<3>双击它,当前用户,下一步,不输密码,包括所有扩展属性,下一步,将所有的证书都放入下列存储,受信任的根证书颁发机构,下一步,警告框,选是,导入成功。

python使用mitmproxy和mitmdump抓包在电脑上抓包_第8张图片

python使用mitmproxy和mitmdump抓包在电脑上抓包_第9张图片

python使用mitmproxy和mitmdump抓包在电脑上抓包_第10张图片 python使用mitmproxy和mitmdump抓包在电脑上抓包_第11张图片

python使用mitmproxy和mitmdump抓包在电脑上抓包_第12张图片 

 出现问题:

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

python使用mitmproxy和mitmdump抓包在电脑上抓包_第13张图片

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

 

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

python使用mitmproxy和mitmdump抓包在电脑上抓包_第14张图片 

python使用mitmproxy和mitmdump抓包在电脑上抓包_第15张图片 python使用mitmproxy和mitmdump抓包在电脑上抓包_第16张图片

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

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

python使用mitmproxy和mitmdump抓包在电脑上抓包_第17张图片

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

你可能感兴趣的:(python,开发语言)