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协议

  • 相关阅读:
    mysql主从之过滤复制
    mysql主从之主从延时监控及原因分析
    mysql误删搭建有主从的主库master binlog处理
    mysql 主从复制原理,概念,故障的检控/分析/处理
    mysql之主从复制搭建
    mysql表的物理存储结构及逻辑结构
    sql语句执行过程及mysql权限管理
    linux安装mysql5.7.30 及配置多实例
    mysql备份恢复之xtrabackup (XBK、Xbackup)
    mysql 备份之逻辑备份mysqldump, mysqlbinlog, 全备及参数说明
  • 原文地址:https://www.cnblogs.com/aeolian/p/8169371.html
Copyright © 2011-2022 走看看