• 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流量时,就不会弹出“不是私密连接”的提示了。 

  • 相关阅读:
    HTML5——周技能检测——菜单编辑——2022年11月22日(考完)
    React中“WebSocket is closed before the connection is established“
    Seata概述
    nrf52832 GPIO输入输出设置
    图解Bellman Ford算法
    C++ 值传递、引用传递、指针传递
    AWS — 公有云网络模型
    01-MySQL简介和安装
    Django后台项目实战之后台菜品类别信息管理
    18 矩阵置0
  • 原文地址:https://blog.csdn.net/kxltsuperr/article/details/133394550