zoukankan      html  css  js  c++  java
  • mitmproxy——抓取http、https

      mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler、Charles的功能。除了命令行形式的控制台,mitmproxy还有两个关联组件:mitmdump和mitmweb。

      mitmdump:它是mitmproxy的命令行接口,利用它我们可以对接Python脚本,用Python实现监听后的处理。

      mitmweb:它是一个Web程序,通过它我们可以清楚观察mitmproxy捕获的请求。

      mitmproxy使用:

      终端键入:

        $ mitmproxy --listen-host 电脑IP地址 -p 端口号

        出现初始界面

    手机连上手动代理后出现抓包信息

    很好用的教程:https://greenrobot.me/devpost/how-to-debug-android-http-get-started/

     这样就能使用mitmproxy抓到http请求了!

    但是!这时会发现mitmproxy不仅抓不到https请求,而且还会阻断https请求!

    解决办法:

      启动mitmproxy之后,手机网页搜索mitm.it选择匹配的证书下载安装之后就能抓到https的请求了~

      虽然只用了一句话就解决这个问题了,但是我试了好久~哭唧唧~这个mitm.it我尝试了好多次才能正常访问~不知道咋回事~

      终于弄出来了,给自己呱唧呱唧!

    接下来的问题就是,怎样能把想要的信息打印出来?

      mitmdump提供了专门的日志输出功能,可以设定不同级别以不同颜色输出结果。ctx模块有log功能,调用不同的输出方法就可以输出不同颜色的结果,以方便我们做调试。

      简单的尝试一下:

    from mitmproxy import ctx
    
    
    def request(flow):
    
        flow.request.headers['User-Agent'] = 'MitmProxy'
    
    
        ctx.log.info(str(flow.request.headers))
    
        flow.request.query["who"] = "baby!"
    
        ctx.log.warn(str(flow.request.query))
    
        ctx.log.error(str(flow.request.headers))

    敲好用的良心教程:https://juejin.im/entry/5b3473b7e51d4558cf6e9abe 

  • 相关阅读:
    7-1 N个数求和
    3662. 最大上升子序列和
    树状数组
    堆优化Dijkstra java模板
    皮亚诺曲线距离
    最长公共子序列(计数问题)
    最小路径覆盖
    极角排序
    2619. 询问
    Hessian矩阵与局部极小值
  • 原文地址:https://www.cnblogs.com/gaoquanquan/p/9444006.html
Copyright © 2011-2022 走看看