zoukankan      html  css  js  c++  java
  • mitmproxy和Python的结合

    一、安装

    1.1 安装mitmproxy

    直接使用pip安装即可

    pip install mitmproxy

    1.2在pycharm中的命令窗口输入:mitmweb 可启动

    启动后可访问链接

     访问成功

     1.3如何抓包APP请求,打开模拟器,然后链接代理

    如果无法抓到Http是请求,需要安装证书,mitmproxy安装证书地址:mitm.it

     选择对应的系统进行证书安装:

    二python 和mitmproxy结合

    pthon代码如下,请求接口的使用

    from  mitmproxy import http
    
    def request(flow):
    
        request_data=flow.request
        request_url = request_data.url
        request_pr  = request_data.query
        request_from = request_data.urlencoded_form
        print("----------->",request_url)

    1.启动执行命令,才能在命令窗口抓找数据

    mitmweb这个命令是根据使用mitmproxy工具软件定义(这里抓APP),具体可参数官方文档:https://mitmproxy.org

    mitmproxy是一个支持HTTPHTTPS的抓包程序,类似Fiddler、Charles的功能,只不过它通过控制台的形式操作。

    此外,mitmproxy还有两个关联组件,一个是mitmdump,它是mitmproxy的命令行接口,利用它可以对接Python脚本,实现监听后的处理;另一个是mitmweb,它是一个Web程序,通过它以清楚地观察到mitmproxy捕获的请求。

    学习参考:https://www.jianshu.com/p/c568d9b570de

     打印的响应结果:

    其他响应数据命令的代码参考:https://www.cnblogs.com/lsdb/p/10106655.html

    from mitmproxy import ctx
    
    # 所有发出的请求数据包都会被这个方法所处理
    # 所谓的处理,我们这里只是打印一下一些项;当然可以修改这些项的值直接给这些项赋值即可
    def request(flow):
        # 获取请求对象
        request = flow.request
        # 实例化输出类
        info = ctx.log.info
        # 打印请求的url
        info(request.url)
        # 打印请求方法
        info(request.method)
        # 打印host头
        info(request.host)
        # 打印请求端口
        info(str(request.port))
        # 打印所有请求头部
        info(str(request.headers))
        # 打印cookie头
        info(str(request.cookies))
    
    # 所有服务器响应的数据包都会被这个方法处理
    # 所谓的处理,我们这里只是打印一下一些项
    def response(flow):
        # 获取响应对象
        response = flow.response
        # 实例化输出类
        info = ctx.log.info
        # 打印响应码
        info(str(response.status_code))
        # 打印所有头部
        info(str(response.headers))
        # 打印cookie头部
        info(str(response.cookies))
        # 打印响应报文内容
        info(str(response.text))
    View Code
  • 相关阅读:
    50个提高PHP程序运行效率的方法
    虚拟主机FTP上传文件为什么要用二进制上传
    Status Bar 总结
    TableView 总结
    阿里Java开发手册(泰山版)个人记录
    下载excel模板
    微信公众号-发送模板消息
    ffmpeg获取视频时长
    微信公众号授权
    根据word模板生成word、转换成pdf、打成war包
  • 原文地址:https://www.cnblogs.com/lanyinhao/p/15600649.html
Copyright © 2011-2022 走看看