zoukankan      html  css  js  c++  java
  • charles工具过滤腾讯视频播放器广告

        Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当程序连接Charles的代理访问互联网时,Charles可以监控这个程序发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP headers (包含cookies与caching信息)。

    Charles主要功能:

    • 支持SSL代理。可以截取分析SSL的请求。

    • 支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。

    • 支持AJAX调试。可以自动将json或xml数据格式化,方便查看。

    • 支持AMF调试。可以将Flash Remoting 或 Flex Remoting信息格式化,方便查看。

    • 支持重发网络请求,方便后端调试。

    • 支持修改网络请求参数。

    • 支持网络请求的截获并动态修改。

    • 检查HTML,CSS和RSS内容是否符合W3C标准。

    下面是过滤腾讯视频广告的步骤

      1.首先在Proxy-->Proxy Settings中设置代理服务器的端口并允许所使用http代理

      可以把Proxy下面的Windows Proxys关掉,不然会监控电脑的http请求.会有很多请求.

      2.在手机wifi中使用代理,代理为使用charles电脑的ip和刚才配置的端口(888),这个操作必须让电脑和手机在同一局域网内,不然手机找不到ip。

     

      这样子电脑就可以监控手机的请求了.

      3.下面用手机上的腾讯视频随便点击一个视频,charles监控到这几个请求.

      

      4.点开每一个请求查看数据

      

      最终找个一个返回json数据的请求,这个请求返回了adList以及一系列的广告url,复制这些url在浏览器中就可以看到广告啦,但是我们并不是来看广告的.

      5.过滤广告的方法有两种

      方法一

      第一种是右键那条请求-->Map Remote,然后配置如下

      

      将这条请求转发到127.0.0.1:12345上,实际上12345端口没有开.所以请求一定会出错就会出现这种状况

      

      发现不是请求而是请求,请求转发到请求不到的ip和端口上,这样就无法获取广告的链接也就无法播放广告,而强大的播放器自然不会因为广告请求不到就崩掉了,它会选择继续播放视频,然后这个就可以了.

      方法二

      选择Tools-->Rewrite

      配置一下要重写的请求路径    

        

      再配置一下要重写的内容重写response里面adList为adList111,这样是为了请求到这个json数组后找不到adList这个属性从而无法解析。

      

      最后发现请求的结果从这个

      

    变成了这个  

    其他抓包工具

    WireShark是根据网卡抓包,抓的是走网卡发送的所有包,Charles只能抓Http协议和HTTPS协议的包,而Wireshark可以抓任何包。

    Burp也是针对web的,同样是Http和Https协议

  • 相关阅读:
    创建Variant数组
    ASP与存储过程(Stored Procedures)
    FileSystemObject对象成员概要
    Kotlin 朱涛9 委托 代理 懒加载 Delegate
    Kotlin 朱涛 思维4 空安全思维 平台类型 非空断言
    Kotlin 朱涛7 高阶函数 函数类型 Lambda SAM
    Kotlin 朱涛16 协程 生命周期 Job 结构化并发
    Proxy 代理模式 动态代理 cglib MD
    RxJava 设计理念 观察者模式 Observable lambdas MD
    动态图片 Movie androidgifdrawable GifView
  • 原文地址:https://www.cnblogs.com/aeolian/p/8169371.html
Copyright © 2011-2022 走看看