zoukankan      html  css  js  c++  java
  • charles抓包工具

    Charles 是Mac 常用的抓包工具,也可在Windows使用, charles界面简单直观,易于上手,数据请求控制容易,修改简单,抓取数据的开始暂停方便等等,推荐使用。

    安装

    Charles 的官方网站(http://www.charlesproxy.com)下载安装;

    Charles 是收费软件,可以免费试用 30 天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。

    建议购买正版使用,不想花钱买正版时,也可以下载破解使用,使用方法:

    gitoschina码云源码: http://git.oschina.net/iYoungDone/charlesloader

    1. Windows 平台,将下载的charles.jar文件覆盖到安装目录下的lib文件夹下即可完成破解!
    2. Mac 平台,将下载的charles.jar文件右键 Charles.app 显示包内容,覆盖到Content->Java下即可完成破解!

     

    移动设备抓包设置

    只是抓取HTTP协议时不需要安装证书;HTTPS协议需要安装CA证书

    a、 启动Charles,选择 “Proxy”->“Proxy Settings”,填入代理端口 8888,并且勾上 “Enable transparent HTTP proxying” ,点击OK,在设备上再访问网络,请求包就可以被我们抓取到。

    b、  通过打开Charles->Help->SSL Proxying->点击最长那个,来查看代理的IP地址、端口号

    c、  手机和电脑都连接到同一个网段,设置移动端代理:wifi设置->高级或点击已连接的wifi->Http代理->手动->输入电脑所在的IP地址(192.168.1.104),端口号为8888

    d、  设置好之后,启动APP,Charles会弹出是否允许提示框,点击Allow即可

    https协议包会被加密,需要安装证书

    a、  在移动端浏览器中访问:chls.pro/ssl下载安装证书

    b、菜单:Proxy->SSL Proxy Setting,配置需要抓取的https URL,添加一条*.*表示捕获解析所有https请求,如果不配置则不会解析https数据包的内容。

    设置断点,修改请求、返回值

    a、  右键点击需要模拟的请求,选择Breakpoints

    b、  断点设置,Proxy->Breakpoint Settings找到勾选Breakpoints的请求,双击进入编辑如下页面,把Query改成*号,点击OK,如只需修改返回值勾选Response即可

    c、  再次请求该接口,会跳转到如下页面,编辑request参数之后,点击下方Execute按钮后,客户端就可以看到请求返回的数据(修改request

    d、  再次请求该接口,编辑Response参数之后,点击下方Execute按钮后,客户端就可以看到请求返回的数据(修改Response)

    模拟网速慢

    有时候在开发的时候我们想要模拟一下网络慢的情况,这时候Charles他是可以帮助到你的,在Proxy->Throttle Setting,然后选择Enable Throttling,在Throttle Preset下选择网络类型即可,具体设置你可以自行拿捏。

    解析下图上几个配置的含义:

    Bandwidth(带宽)、Utilistation(利用百分比)、Round-trip(往返延迟)、MTU(字节)就是用来设定可传输数据包的最大尺寸的(MTU的说明请看百度百科)。

    请求重定向

    请求重定向的作用是什么呢?开发中一般都是测试环境,如果我们想对比一下和线上版本的区别的话,可以讲测试的请求重定向到正式环境下。在选择 Tools->Map Remote下:

    内容替换

    有时候我们会测一下请求的参数不同会带来不同的返回结果以测试是否达到业务需求,或者需要不同的返回结果来验证我们对数据的处理是否正确,这时候需要后台的同事配合,但是有了Charles,我们可以自己把控接口返回来的内容,比如数据的空与否,数据的长短等等。在Tools->Rewrite Settings下:

    重复发送请求

    repeat功能对于测试同学特别有用,可以检验接口的健壮性。

    repeat功对于前端的价值是不需要刷新页面,只需要repeat请求,比如检验代理是否成功,修改请求后执行等。

    “repeat”重复发送一次请求。

    “repeat Advances”可以自定义重复次数和重复间隔。

  • 相关阅读:
    laravel疑难问题---5、laravel的api开发
    laravel报403错误
    JS数组常用方法---14、2个归并方法
    JS字符串常用方法(自)---10、总结
    JS字符串常用方法(自)---9、字符串匹配
    win7便笺元数据损坏,最新解决办法
    【转】OS X 中快速调出终端
    【转】实用API大全
    免费手机号码归属地API查询接口
    【转】Intellij IDEA 提交代码到远程GitHub仓库
  • 原文地址:https://www.cnblogs.com/feiyueNotes/p/7906778.html
Copyright © 2011-2022 走看看