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

  • 相关阅读:
    Spring MVC 八 - 内置过滤器
    王道3.2 队列
    电脑有线无线一起用怎么设置
    2022-09-05 C++并发编程(十九)
    Nodejs -- 数据库基本概念的介绍及在Express中操作数据库
    物联网开发笔记(48)- 使用Micropython开发ESP32开发板之控制OLED ssd1306屏幕
    (附源码)springboot小区物业管理系统 毕业设计 101409
    【nodejs】express-generator项目--创建接口及数据库连接
    定语从句练习题
    开源组件 | 一款好用的小程序生成图片库
  • 原文地址:https://blog.csdn.net/kxltsuperr/article/details/133394550