1、安装charles,点击帮助——ssl代理——在移动设备或远程浏览器上安装charles root证书,看到如下界面:

2、在手机保证和电脑连接同一个wifi的前提下,开启手机代理,输入服务器地址:192.168.5.252,端口号为:8888,有时候新手机连接代理,charles会提示是否允许,点击allow,如果没提示需要在手机端安装证书后设置一下(设置方法:ios : 设置——通用——关于本机——证书信任设置——找到证书——开启信任开关);

3、手机端安装charles证书,浏览器输入:chls.pro/ssl,打开根据提示安装证书,在手机通用——关于本机——证书信任设置——打开后找到刚刚安装的证书,选择打开;

4、电脑端也需要安装证书,在charles软件中点帮助——ssl代理——安装charles root证书,根据提示一步一步安装证书;

6、此时就可以在手机端访问app了,charles会显示每个访问请求的接口。

数据劫持:

方法一:本地映射

手机点击app页面,可以看到charles请求接口,选择charles左侧请求列表中最内层的接口,打开查看返回的数据,已经得到请求的数据,右键——本地映射,打开后已默认填好端口协议主机号,我们把查询(即参数)删除,也可以选择填入需要的参数,参数格式:*参数a=111*,映射到本地路径——选择——选择本地mock.json文件位置,保存。则这时再次请求的时候,可以看到已经直接返回了我们的mock数据。

【映射这里可能会遇到的坑:当改变mock数据之后,再次请求可能返回的不是最新改变的,需要在本地映射中先选择别的映射文件,再选回来原来的文件,则可返回修改之后的mock数据】

方法二:rewrite

配置rewrite重写,适用于直接将线上offer劫持,进行错误复现和调试。

工具——重写——启用重写——添加——起名称——添加重写规则——类型选择正文——往哪里选择响应——

匹配值:比如:“url”

全部替换:"值:

也可以把线上的url放入另一个自定义字段中,进行统一替换,比如替换值:"url:"新url","url_old:"

【注意】

有时候charles都配置好了,但是抓到的接口数据都是unknow,在charles——代理——访问控制设置(Access control settings)——添加0.0.0.0/0,就可以了。

charles代理设置与数据劫持的更多相关文章

  1. charles 代理设置

    本文参考:charles 代理设置 charles的代理身份配置区域 这里应该没啥好说的了, window/MAXCos proxy 是charles的代理启用开关: 如果你选中,则表示电脑使用cha ...

  2. 对数据劫持 OR 数据代理 的研究------------引用

    数据劫持,也叫数据代理. 所谓数据劫持,指的是在访问或者修改对象的某个属性时,通过一段代码拦截这个行为,进行额外的操作或者修改返回结果.比较典型的是 Object.defineProperty() 和 ...

  3. charles SSL代理设置

    本文参考:charles SSL代理设置 charles SSL代理设置 SSL Proxying Srtting 这里最常用的设置就是第一个ssl proxying,这里记录了需要捕获哪些ssl的信 ...

  4. charles 外部代理设置

    本文参考:charles 外部代理设置 external proxy 外部代理设置 有时候您可能需要使用网络上的代理服务器才能访问Internet. 在这种情况下,您需要为Charles配置外部代理. ...

  5. Charles使用part2——代理设置

    一.charles代理原理: 如果本地开了代理:  二.设置代理 1.设置代理端口: proxy->proxy setting 打开代理设置界面,代理端口默认是 8888,可以使用默认也可以自己 ...

  6. .4-Vue源码之数据劫持(2)

    开播了开播了! vue通过数据劫持来达到监听和操作DOM更新,上一节简述了数组变化是如何监听的,这一节先讲讲对象属性是如何劫持的. // Line-855 Observer.prototype.wal ...

  7. Vue 核心之数据劫持

    前端界空前繁荣,各种框架横空出世,包括各类mvvm框架横行霸道,比如Angular.Regular.Vue.React等等,它们最大的优点就是可以实现数据绑定,再也不需要手动进行DOM操作了,它们实现 ...

  8. charles代理以及关于其抓取https信息的操作

    一直没有写一篇关于charles的文章来记录,但是发现偶尔还是会忘记,所以还是记一下,查起来比较方便. 首先在安装了charles之后默认的本地代理地址是 127.0.0.1:8888这个地址.如果希 ...

  9. vue双向绑定(数据劫持+发布者-订阅者模式)

    参考文献:https://www.cnblogs.com/libin-1/p/6893712.html 实现mvvm主要包含两个方面,数据变化更新视图,视图变化更新数据. 关键点在于data如何更新v ...

随机推荐

  1. 程序卡在 while(SPI_I2S_GetFlagStatus(W5500_SPI, SPI_I2S_FLAG_TXE) == RESET) 处

    stm32 SPI1,发现程序卡在 while(SPI_I2S_GetFlagStatus(W5500_SPI, SPI_I2S_FLAG_TXE) == RESET); 解决方式: 1.检查RCC时 ...

  2. C# 运行时的关系

    简介 记录c#对象在托管堆中运行时的相互关系,如下记录了一个方法在执行时候的生命周期,当方法在之前,CLR会先执行将方法里面所有用到的局部变量.参数对应的内存地址等全部存放当前线程栈当中,并且会将所有 ...

  3. win10 64位安装redis 及Redis Desktop Manager使用

    说多无益,先把redis在win上的开发环境搭一下. redis官方没有64位的Windows下的可执行程序,目前有个开源的托管在github上, 地址:https://github.com/Serv ...

  4. 爬虫---Beautiful Soup 初始

    我们在工作中,都会听说过爬虫,那么什么是爬虫呢? 什么是网络爬虫 爬虫基本原理 所谓网络爬虫就是一个自动化数据采集工具,你只要告诉它要采集哪些数据,丢给它一个 URL,就能自动地抓取数据了.其背后的基 ...

  5. Cooperation、Collaboration与Coordination的区别

    Cooperation.Collaboration与Coordination的区别 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1. Coopera ...

  6. python,adb,分别给多个设备安装多个apk文件,os.popen(); os.system; os.path.splitext(); a.split(' \t'); readlines(); append(); os.path.join(); time.sleep();

    #encoding:utf-8import os,time#=======================查找手机设备序列号=============a='adb devices'b=os.popen ...

  7. luoguP4404缓存交换

    https://www.luogu.org/problem/P4404 题意 你有一个大小为n的缓存区,有个长度为m的查询序列. 每次查询的时候需要把查询值放入缓存,若缓存已满,则先删除任一位置再将其 ...

  8. web-综合题2

    地址 http://cms.nuptzj.cn/ 0x01  很有意思的一题综合题,确实包含的内容比较多 打开页面 把能打开的都打开,能看的都看一下 几个重点的信息 一段hash e045e454c1 ...

  9. [C2W2] Improving Deep Neural Networks : Optimization algorithms

    第二周:优化算法(Optimization algorithms) Mini-batch 梯度下降(Mini-batch gradient descent) 本周将学习优化算法,这能让你的神经网络运行 ...

  10. C++ try catch 示例代码

    #include<iostream> void f1() { throw std::string("error happen"); } void f2() { try ...