zoukankan      html  css  js  c++  java
  • mitmproxy初识

     

      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))
  • 相关阅读:
    iOS开发富文本制作 图片和文字/NSMutableParagraphStyle/NSMutableAttributedString
    LintCode-Previous Permuation
    LintCode-Heapify
    LintCode-Median II
    LintCode-Longest Increasing Subsequence
    LintCode-Kth Largest Element
    LintCode-Majority Number III
    LintCode-Majority Number II
    LintCode-Majority Number
    LintCode-Subarray Sum
  • 原文地址:https://www.cnblogs.com/dreamhighqiu/p/11193043.html
Copyright © 2011-2022 走看看