美文网首页
mitmproxy使用(windows)

mitmproxy使用(windows)

作者: 飞飞飞段啊 | 来源:发表于2020-09-29 17:31 被阅读0次

    配置mitmproxy

    mitmproxy 是一个抓包程序,另外还有mitmweb、mitmdump两个关联组件

    windows下配置mitmproxy

    1. pip install mitmproxy mitmproxy是一个控制台形式的抓包,不支持在cmd 上运行;不过可以使用mitmdump或者mitmweb,后者是一个网页形式

    2. 配置证书:设置浏览器的代理;chrome浏览器 为例:地址栏输入 chrome://settings回车,搜索代理点击打开代理设置,设置局域网,高级,127.0.0.1:8080; 注意检测8080和8081端口是否被占用

      # cmd
      netstat -ano | findstr 8080
      tasklist | findstr pid
      taskkill /pid pid
      
    1. 终端执行 mitmdump 开始监听8080端口; 浏览器地址栏输入 http:mitm:it 下载 HTTPS 证书;选择对应的平台点击下载,双击证书添加到受信任根证书管理机构中;这一步不做,所有的https请求的都会显示SSL Error; 浏览器显示“您的链接不是私密链接”
    安装证书.png 未安装证书访问网站出错.png

    模拟器/APP中安装证书

    将windows本地的mitmproxy-ca-cert.pem复制到模拟器上(MuMu模拟器找到模拟器上的更多里的文件共享,打开文件共享将证书拖放到这里)
    安全选选:从SD卡上安装→共享文件→点击mitmproxy-ca-cert.pem安装

    mitmweb使用

    进入虚拟环境(有安装mitmproxy包):设置好代理之后(手机或者模拟器设置代理,在同一网段);执行 mitmweb;浏览器自动打开页面地址127.0.0.1:8081抓包

    mitmdump使用: (需关闭mitmweb)

    # 同样进入切换到安装有mitmproxy包的虚拟环境,cd到项目目录下,执行:
    mitmdump -q -s addons.py --set body-size-limit=10k "~m post" 
    # -q 屏蔽 mitmdump 默认的控制台日志,只显示自己脚本中的
    # -s 入口脚本文件
    # --set body-size-limit=10k 只处理小于 10k 的请求
    # "~m post" 只处理 post 方法的请求
    

    m_script.py 示例脚本

    def response(flow):
        """
        获取列表页
        @param flow:
        @return:
        """
        if 'https://list.tmall.com/search_product.htm?' in flow.request.url:
            print(f'url: {flow.request.url}')
            count = re.findall(r'&s=(\d+).*', flow.request.url)
            try:
                count = int(count[0])
                page = int(count/30)
            except Exception as e:
                page = 0
            print(f'page: {page}')
            if page > 0:
                html = flow.response.text
                print(html)
                # save_html(index=page, data=html)
    

    相关文章

      网友评论

          本文标题:mitmproxy使用(windows)

          本文链接:https://www.haomeiwen.com/subject/skweuktx.html